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/02/01 17:56:57 UTC

[01/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Repository: hbase-site
Updated Branches:
  refs/heads/asf-site dbe305bf4 -> a7e5a8ce2


http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/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 e4df7cc..704e192 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
@@ -65,2544 +65,2553 @@
 <span class="sourceLineNo">057</span>import java.util.concurrent.ConcurrentLinkedDeque;<a name="line.57"></a>
 <span class="sourceLineNo">058</span>import java.util.concurrent.ExecutorService;<a name="line.58"></a>
 <span class="sourceLineNo">059</span>import java.util.concurrent.Executors;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import java.util.concurrent.locks.Lock;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import java.util.concurrent.locks.ReentrantLock;<a name="line.62"></a>
-<span class="sourceLineNo">063</span><a name="line.63"></a>
-<span class="sourceLineNo">064</span>import javax.security.sasl.Sasl;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import javax.security.sasl.SaslException;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import javax.security.sasl.SaslServer;<a name="line.66"></a>
-<span class="sourceLineNo">067</span><a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.commons.logging.Log;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.commons.logging.LogFactory;<a name="line.69"></a>
+<span class="sourceLineNo">060</span>import java.util.concurrent.locks.Lock;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import java.util.concurrent.locks.ReentrantLock;<a name="line.61"></a>
+<span class="sourceLineNo">062</span><a name="line.62"></a>
+<span class="sourceLineNo">063</span>import javax.security.sasl.Sasl;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import javax.security.sasl.SaslException;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import javax.security.sasl.SaslServer;<a name="line.65"></a>
+<span class="sourceLineNo">066</span><a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.commons.logging.Log;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.commons.logging.LogFactory;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.conf.Configuration;<a name="line.69"></a>
 <span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.CallQueueTooBigException;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.conf.Configuration;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.HBaseIOException;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.HBaseInterfaceAudience;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.HConstants;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.Server;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.TableName;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.client.Operation;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.client.VersionInfoUtil;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.codec.Codec;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.conf.ConfigurationObserver;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.exceptions.RegionMovedException;<a name="line.86"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.HBaseIOException;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.HBaseInterfaceAudience;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.HConstants;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.Server;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.TableName;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.client.Operation;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.client.VersionInfoUtil;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.codec.Codec;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.conf.ConfigurationObserver;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.exceptions.RegionMovedException;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.io.BoundedByteBufferPool;<a name="line.86"></a>
 <span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.io.ByteBufferOutputStream;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.io.BoundedByteBufferPool;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.monitoring.MonitoredRPCHandler;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.VersionInfo;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.CellBlockMeta;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.ConnectionHeader;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.ExceptionResponse;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RequestHeader;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.ResponseHeader;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.UserInformation;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.regionserver.HRegionServer;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.security.AccessDeniedException;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.security.AuthMethod;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.security.HBasePolicyProvider;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.security.HBaseSaslRpcServer;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.security.User;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.security.HBaseSaslRpcServer.SaslDigestCallbackHandler;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.security.HBaseSaslRpcServer.SaslGssCallbackHandler;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.security.SaslStatus;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.security.SaslUtil;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.security.UserProvider;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.security.token.AuthenticationTokenSecretManager;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.util.Counter;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.io.BytesWritable;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.io.IntWritable;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.io.Writable;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.io.WritableUtils;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.io.compress.CompressionCodec;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.security.UserGroupInformation;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.security.UserGroupInformation.AuthenticationMethod;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.security.authorize.AuthorizationException;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.security.authorize.PolicyProvider;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.security.authorize.ProxyUsers;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.security.authorize.ServiceAuthorizationManager;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.security.token.SecretManager;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.security.token.SecretManager.InvalidToken;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.security.token.TokenIdentifier;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.util.StringUtils;<a name="line.128"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.monitoring.MonitoredRPCHandler;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.VersionInfo;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.CellBlockMeta;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.ConnectionHeader;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.ExceptionResponse;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RequestHeader;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.ResponseHeader;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.UserInformation;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.regionserver.HRegionServer;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.security.AccessDeniedException;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.security.AuthMethod;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.security.HBasePolicyProvider;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.security.HBaseSaslRpcServer;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.security.HBaseSaslRpcServer.SaslDigestCallbackHandler;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.security.HBaseSaslRpcServer.SaslGssCallbackHandler;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.security.SaslStatus;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.security.SaslUtil;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.security.User;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.security.UserProvider;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.security.token.AuthenticationTokenSecretManager;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.util.Counter;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.io.BytesWritable;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.io.IntWritable;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.io.Writable;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.io.WritableUtils;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.io.compress.CompressionCodec;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.security.UserGroupInformation;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.security.UserGroupInformation.AuthenticationMethod;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.security.authorize.AuthorizationException;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.security.authorize.PolicyProvider;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.security.authorize.ProxyUsers;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.security.authorize.ServiceAuthorizationManager;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.security.token.SecretManager;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.security.token.SecretManager.InvalidToken;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.security.token.TokenIdentifier;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.util.StringUtils;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.htrace.TraceInfo;<a name="line.128"></a>
 <span class="sourceLineNo">129</span>import org.codehaus.jackson.map.ObjectMapper;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.htrace.TraceInfo;<a name="line.130"></a>
-<span class="sourceLineNo">131</span><a name="line.131"></a>
-<span class="sourceLineNo">132</span>import com.google.common.util.concurrent.ThreadFactoryBuilder;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import com.google.protobuf.BlockingService;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import com.google.protobuf.CodedInputStream;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import com.google.protobuf.Descriptors.MethodDescriptor;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import com.google.protobuf.Message;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import com.google.protobuf.ServiceException;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import com.google.protobuf.TextFormat;<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> * An RPC server that hosts protobuf described Services.<a name="line.141"></a>
-<span class="sourceLineNo">142</span> *<a name="line.142"></a>
-<span class="sourceLineNo">143</span> * An RpcServer instance has a Listener that hosts the socket.  Listener has fixed number<a name="line.143"></a>
-<span class="sourceLineNo">144</span> * of Readers in an ExecutorPool, 10 by default.  The Listener does an accept and then<a name="line.144"></a>
-<span class="sourceLineNo">145</span> * round robin a Reader is chosen to do the read.  The reader is registered on Selector.  Read does<a name="line.145"></a>
-<span class="sourceLineNo">146</span> * total read off the channel and the parse from which it makes a Call.  The call is wrapped in a<a name="line.146"></a>
-<span class="sourceLineNo">147</span> * CallRunner and passed to the scheduler to be run.  Reader goes back to see if more to be done<a name="line.147"></a>
-<span class="sourceLineNo">148</span> * and loops till done.<a name="line.148"></a>
-<span class="sourceLineNo">149</span> *<a name="line.149"></a>
-<span class="sourceLineNo">150</span> * &lt;p&gt;Scheduler can be variously implemented but default simple scheduler has handlers to which it<a name="line.150"></a>
-<span class="sourceLineNo">151</span> * has given the queues into which calls (i.e. CallRunner instances) are inserted.  Handlers run<a name="line.151"></a>
-<span class="sourceLineNo">152</span> * taking from the queue.  They run the CallRunner#run method on each item gotten from queue<a name="line.152"></a>
-<span class="sourceLineNo">153</span> * and keep taking while the server is up.<a name="line.153"></a>
-<span class="sourceLineNo">154</span> *<a name="line.154"></a>
-<span class="sourceLineNo">155</span> * CallRunner#run executes the call.  When done, asks the included Call to put itself on new<a name="line.155"></a>
-<span class="sourceLineNo">156</span> * queue for Responder to pull from and return result to client.<a name="line.156"></a>
-<span class="sourceLineNo">157</span> *<a name="line.157"></a>
-<span class="sourceLineNo">158</span> * @see RpcClientImpl<a name="line.158"></a>
-<span class="sourceLineNo">159</span> */<a name="line.159"></a>
-<span class="sourceLineNo">160</span>@InterfaceAudience.LimitedPrivate({HBaseInterfaceAudience.COPROC, HBaseInterfaceAudience.PHOENIX})<a name="line.160"></a>
-<span class="sourceLineNo">161</span>@InterfaceStability.Evolving<a name="line.161"></a>
-<span class="sourceLineNo">162</span>public class RpcServer implements RpcServerInterface, ConfigurationObserver {<a name="line.162"></a>
-<span class="sourceLineNo">163</span>  // LOG is being used in CallRunner and the log level is being changed in tests<a name="line.163"></a>
-<span class="sourceLineNo">164</span>  public static final Log LOG = LogFactory.getLog(RpcServer.class);<a name="line.164"></a>
-<span class="sourceLineNo">165</span>  private static final CallQueueTooBigException CALL_QUEUE_TOO_BIG_EXCEPTION<a name="line.165"></a>
-<span class="sourceLineNo">166</span>      = new CallQueueTooBigException();<a name="line.166"></a>
-<span class="sourceLineNo">167</span><a name="line.167"></a>
-<span class="sourceLineNo">168</span>  private final boolean authorize;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>  private boolean isSecurityEnabled;<a name="line.169"></a>
-<span class="sourceLineNo">170</span><a name="line.170"></a>
-<span class="sourceLineNo">171</span>  public static final byte CURRENT_VERSION = 0;<a name="line.171"></a>
-<span class="sourceLineNo">172</span><a name="line.172"></a>
-<span class="sourceLineNo">173</span>  /**<a name="line.173"></a>
-<span class="sourceLineNo">174</span>   * Whether we allow a fallback to SIMPLE auth for insecure clients when security is enabled.<a name="line.174"></a>
-<span class="sourceLineNo">175</span>   */<a name="line.175"></a>
-<span class="sourceLineNo">176</span>  public static final String FALLBACK_TO_INSECURE_CLIENT_AUTH =<a name="line.176"></a>
-<span class="sourceLineNo">177</span>          "hbase.ipc.server.fallback-to-simple-auth-allowed";<a name="line.177"></a>
-<span class="sourceLineNo">178</span><a name="line.178"></a>
-<span class="sourceLineNo">179</span>  /**<a name="line.179"></a>
-<span class="sourceLineNo">180</span>   * How many calls/handler are allowed in the queue.<a name="line.180"></a>
-<span class="sourceLineNo">181</span>   */<a name="line.181"></a>
-<span class="sourceLineNo">182</span>  static final int DEFAULT_MAX_CALLQUEUE_LENGTH_PER_HANDLER = 10;<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>   * The maximum size that we can hold in the RPC queue<a name="line.185"></a>
-<span class="sourceLineNo">186</span>   */<a name="line.186"></a>
-<span class="sourceLineNo">187</span>  private static final int DEFAULT_MAX_CALLQUEUE_SIZE = 1024 * 1024 * 1024;<a name="line.187"></a>
-<span class="sourceLineNo">188</span><a name="line.188"></a>
-<span class="sourceLineNo">189</span>  private final IPCUtil ipcUtil;<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span>  private static final String AUTH_FAILED_FOR = "Auth failed for ";<a name="line.191"></a>
-<span class="sourceLineNo">192</span>  private static final String AUTH_SUCCESSFUL_FOR = "Auth successful for ";<a name="line.192"></a>
-<span class="sourceLineNo">193</span>  private static final Log AUDITLOG = LogFactory.getLog("SecurityLogger." +<a name="line.193"></a>
-<span class="sourceLineNo">194</span>    Server.class.getName());<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  protected SecretManager&lt;TokenIdentifier&gt; secretManager;<a name="line.195"></a>
-<span class="sourceLineNo">196</span>  protected ServiceAuthorizationManager authManager;<a name="line.196"></a>
-<span class="sourceLineNo">197</span><a name="line.197"></a>
-<span class="sourceLineNo">198</span>  /** This is set to Call object before Handler invokes an RPC and ybdie<a name="line.198"></a>
-<span class="sourceLineNo">199</span>   * after the call returns.<a name="line.199"></a>
-<span class="sourceLineNo">200</span>   */<a name="line.200"></a>
-<span class="sourceLineNo">201</span>  protected static final ThreadLocal&lt;Call&gt; CurCall = new ThreadLocal&lt;Call&gt;();<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>  /** Keeps MonitoredRPCHandler per handler thread. */<a name="line.203"></a>
-<span class="sourceLineNo">204</span>  static final ThreadLocal&lt;MonitoredRPCHandler&gt; MONITORED_RPC<a name="line.204"></a>
-<span class="sourceLineNo">205</span>      = new ThreadLocal&lt;MonitoredRPCHandler&gt;();<a name="line.205"></a>
-<span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>  protected final InetSocketAddress bindAddress;<a name="line.207"></a>
-<span class="sourceLineNo">208</span>  protected int port;                             // port we listen on<a name="line.208"></a>
-<span class="sourceLineNo">209</span>  protected InetSocketAddress address;            // inet address we listen on<a name="line.209"></a>
-<span class="sourceLineNo">210</span>  private int readThreads;                        // number of read threads<a name="line.210"></a>
-<span class="sourceLineNo">211</span>  protected int maxIdleTime;                      // the maximum idle time after<a name="line.211"></a>
-<span class="sourceLineNo">212</span>                                                  // which a client may be<a name="line.212"></a>
-<span class="sourceLineNo">213</span>                                                  // disconnected<a name="line.213"></a>
-<span class="sourceLineNo">214</span>  protected int thresholdIdleConnections;         // the number of idle<a name="line.214"></a>
-<span class="sourceLineNo">215</span>                                                  // connections after which we<a name="line.215"></a>
-<span class="sourceLineNo">216</span>                                                  // will start cleaning up idle<a name="line.216"></a>
-<span class="sourceLineNo">217</span>                                                  // connections<a name="line.217"></a>
-<span class="sourceLineNo">218</span>  int maxConnectionsToNuke;                       // the max number of<a name="line.218"></a>
-<span class="sourceLineNo">219</span>                                                  // connections to nuke<a name="line.219"></a>
-<span class="sourceLineNo">220</span>                                                  // during a cleanup<a name="line.220"></a>
-<span class="sourceLineNo">221</span><a name="line.221"></a>
-<span class="sourceLineNo">222</span>  protected MetricsHBaseServer metrics;<a name="line.222"></a>
-<span class="sourceLineNo">223</span><a name="line.223"></a>
-<span class="sourceLineNo">224</span>  protected final Configuration conf;<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  private int maxQueueSize;<a name="line.226"></a>
-<span class="sourceLineNo">227</span>  protected int socketSendBufferSize;<a name="line.227"></a>
-<span class="sourceLineNo">228</span>  protected final boolean tcpNoDelay;   // if T then disable Nagle's Algorithm<a name="line.228"></a>
-<span class="sourceLineNo">229</span>  protected final boolean tcpKeepAlive; // if T then use keepalives<a name="line.229"></a>
-<span class="sourceLineNo">230</span>  protected final long purgeTimeout;    // in milliseconds<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>  /**<a name="line.232"></a>
-<span class="sourceLineNo">233</span>   * This flag is used to indicate to sub threads when they should go down.  When we call<a name="line.233"></a>
-<span class="sourceLineNo">234</span>   * {@link #start()}, all threads started will consult this flag on whether they should<a name="line.234"></a>
-<span class="sourceLineNo">235</span>   * keep going.  It is set to false when {@link #stop()} is called.<a name="line.235"></a>
-<span class="sourceLineNo">236</span>   */<a name="line.236"></a>
-<span class="sourceLineNo">237</span>  volatile boolean running = true;<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>   * This flag is set to true after all threads are up and 'running' and the server is then opened<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   * for business by the call to {@link #start()}.<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   */<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  volatile boolean started = false;<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 is a running count of the size of all outstanding calls by size.<a name="line.246"></a>
-<span class="sourceLineNo">247</span>   */<a name="line.247"></a>
-<span class="sourceLineNo">248</span>  protected final Counter callQueueSize = new Counter();<a name="line.248"></a>
-<span class="sourceLineNo">249</span><a name="line.249"></a>
-<span class="sourceLineNo">250</span>  protected final List&lt;Connection&gt; connectionList =<a name="line.250"></a>
-<span class="sourceLineNo">251</span>    Collections.synchronizedList(new LinkedList&lt;Connection&gt;());<a name="line.251"></a>
-<span class="sourceLineNo">252</span>  //maintain a list<a name="line.252"></a>
-<span class="sourceLineNo">253</span>  //of client connections<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  private Listener listener = null;<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  protected Responder responder = null;<a name="line.255"></a>
-<span class="sourceLineNo">256</span>  protected AuthenticationTokenSecretManager authTokenSecretMgr = null;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>  protected int numConnections = 0;<a name="line.257"></a>
-<span class="sourceLineNo">258</span><a name="line.258"></a>
-<span class="sourceLineNo">259</span>  protected HBaseRPCErrorHandler errorHandler = null;<a name="line.259"></a>
-<span class="sourceLineNo">260</span><a name="line.260"></a>
-<span class="sourceLineNo">261</span>  private static final String WARN_RESPONSE_TIME = "hbase.ipc.warn.response.time";<a name="line.261"></a>
-<span class="sourceLineNo">262</span>  private static final String WARN_RESPONSE_SIZE = "hbase.ipc.warn.response.size";<a name="line.262"></a>
-<span class="sourceLineNo">263</span><a name="line.263"></a>
-<span class="sourceLineNo">264</span>  /** Default value for above params */<a name="line.264"></a>
-<span class="sourceLineNo">265</span>  private static final int DEFAULT_WARN_RESPONSE_TIME = 10000; // milliseconds<a name="line.265"></a>
-<span class="sourceLineNo">266</span>  private static final int DEFAULT_WARN_RESPONSE_SIZE = 100 * 1024 * 1024;<a name="line.266"></a>
-<span class="sourceLineNo">267</span><a name="line.267"></a>
-<span class="sourceLineNo">268</span>  private static final ObjectMapper MAPPER = new ObjectMapper();<a name="line.268"></a>
-<span class="sourceLineNo">269</span><a name="line.269"></a>
-<span class="sourceLineNo">270</span>  private final int warnResponseTime;<a name="line.270"></a>
-<span class="sourceLineNo">271</span>  private final int warnResponseSize;<a name="line.271"></a>
-<span class="sourceLineNo">272</span>  private final Server server;<a name="line.272"></a>
-<span class="sourceLineNo">273</span>  private final List&lt;BlockingServiceAndInterface&gt; services;<a name="line.273"></a>
-<span class="sourceLineNo">274</span><a name="line.274"></a>
-<span class="sourceLineNo">275</span>  private final RpcScheduler scheduler;<a name="line.275"></a>
-<span class="sourceLineNo">276</span><a name="line.276"></a>
-<span class="sourceLineNo">277</span>  private UserProvider userProvider;<a name="line.277"></a>
-<span class="sourceLineNo">278</span><a name="line.278"></a>
-<span class="sourceLineNo">279</span>  private final BoundedByteBufferPool reservoir;<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  private volatile boolean allowFallbackToSimpleAuth;<a name="line.281"></a>
-<span class="sourceLineNo">282</span><a name="line.282"></a>
-<span class="sourceLineNo">283</span>  /**<a name="line.283"></a>
-<span class="sourceLineNo">284</span>   * Datastructure that holds all necessary to a method invocation and then afterward, carries<a name="line.284"></a>
-<span class="sourceLineNo">285</span>   * the result.<a name="line.285"></a>
-<span class="sourceLineNo">286</span>   */<a name="line.286"></a>
-<span class="sourceLineNo">287</span>  class Call implements RpcCallContext {<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    protected int id;                             // the client's call id<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    protected BlockingService service;<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    protected MethodDescriptor md;<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    protected RequestHeader header;<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    protected Message param;                      // the parameter passed<a name="line.292"></a>
-<span class="sourceLineNo">293</span>    // Optional cell data passed outside of protobufs.<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    protected CellScanner cellScanner;<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    protected Connection connection;              // connection to client<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    protected long timestamp;      // the time received when response is null<a name="line.296"></a>
-<span class="sourceLineNo">297</span>                                   // the time served when response is not null<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    /**<a name="line.298"></a>
-<span class="sourceLineNo">299</span>     * Chain of buffers to send as response.<a name="line.299"></a>
-<span class="sourceLineNo">300</span>     */<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    protected BufferChain response;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>    protected Responder responder;<a name="line.302"></a>
-<span class="sourceLineNo">303</span><a name="line.303"></a>
-<span class="sourceLineNo">304</span>    protected long size;                          // size of current call<a name="line.304"></a>
-<span class="sourceLineNo">305</span>    protected boolean isError;<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    protected TraceInfo tinfo;<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    private ByteBuffer cellBlock = null;<a name="line.307"></a>
-<span class="sourceLineNo">308</span><a name="line.308"></a>
-<span class="sourceLineNo">309</span>    private User user;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    private InetAddress remoteAddress;<a name="line.310"></a>
-<span class="sourceLineNo">311</span>    private RpcCallback callback;<a name="line.311"></a>
-<span class="sourceLineNo">312</span><a name="line.312"></a>
-<span class="sourceLineNo">313</span>    private long responseCellSize = 0;<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    private long responseBlockSize = 0;<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    private boolean retryImmediatelySupported;<a name="line.315"></a>
-<span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="NP_NULL_ON_SOME_PATH",<a name="line.317"></a>
-<span class="sourceLineNo">318</span>        justification="Can't figure why this complaint is happening... see below")<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    Call(int id, final BlockingService service, final MethodDescriptor md, RequestHeader header,<a name="line.319"></a>
-<span class="sourceLineNo">320</span>         Message param, CellScanner cellScanner, Connection connection, Responder responder,<a name="line.320"></a>
-<span class="sourceLineNo">321</span>         long size, TraceInfo tinfo, final InetAddress remoteAddress) {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>      this.id = id;<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      this.service = service;<a name="line.323"></a>
-<span class="sourceLineNo">324</span>      this.md = md;<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      this.header = header;<a name="line.325"></a>
-<span class="sourceLineNo">326</span>      this.param = param;<a name="line.326"></a>
-<span class="sourceLineNo">327</span>      this.cellScanner = cellScanner;<a name="line.327"></a>
-<span class="sourceLineNo">328</span>      this.connection = connection;<a name="line.328"></a>
-<span class="sourceLineNo">329</span>      this.timestamp = System.currentTimeMillis();<a name="line.329"></a>
-<span class="sourceLineNo">330</span>      this.response = null;<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      this.responder = responder;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>      this.isError = false;<a name="line.332"></a>
-<span class="sourceLineNo">333</span>      this.size = size;<a name="line.333"></a>
-<span class="sourceLineNo">334</span>      this.tinfo = tinfo;<a name="line.334"></a>
-<span class="sourceLineNo">335</span>      this.user = connection == null? null: connection.user; // FindBugs: NP_NULL_ON_SOME_PATH<a name="line.335"></a>
-<span class="sourceLineNo">336</span>      this.remoteAddress = remoteAddress;<a name="line.336"></a>
-<span class="sourceLineNo">337</span>      this.retryImmediatelySupported =<a name="line.337"></a>
-<span class="sourceLineNo">338</span>          connection == null? null: connection.retryImmediatelySupported;<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>     * Call is done. Execution happened and we returned results to client. It is now safe to<a name="line.342"></a>
-<span class="sourceLineNo">343</span>     * cleanup.<a name="line.343"></a>
-<span class="sourceLineNo">344</span>     */<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="IS2_INCONSISTENT_SYNC",<a name="line.345"></a>
-<span class="sourceLineNo">346</span>        justification="Presume the lock on processing request held by caller is protection enough")<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    void done() {<a name="line.347"></a>
-<span class="sourceLineNo">348</span>      if (this.cellBlock != null &amp;&amp; reservoir != null) {<a name="line.348"></a>
-<span class="sourceLineNo">349</span>        // Return buffer to reservoir now we are done with it.<a name="line.349"></a>
-<span class="sourceLineNo">350</span>        reservoir.putBuffer(this.cellBlock);<a name="line.350"></a>
-<span class="sourceLineNo">351</span>        this.cellBlock = null;<a name="line.351"></a>
-<span class="sourceLineNo">352</span>      }<a name="line.352"></a>
-<span class="sourceLineNo">353</span>      this.connection.decRpcCount();  // Say that we're done with this call.<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    }<a name="line.354"></a>
-<span class="sourceLineNo">355</span><a name="line.355"></a>
-<span class="sourceLineNo">356</span>    @Override<a name="line.356"></a>
-<span class="sourceLineNo">357</span>    public String toString() {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>      return toShortString() + " param: " +<a name="line.358"></a>
-<span class="sourceLineNo">359</span>        (this.param != null? ProtobufUtil.getShortTextFormat(this.param): "") +<a name="line.359"></a>
-<span class="sourceLineNo">360</span>        " connection: " + connection.toString();<a name="line.360"></a>
-<span class="sourceLineNo">361</span>    }<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>    protected RequestHeader getHeader() {<a name="line.363"></a>
-<span class="sourceLineNo">364</span>      return this.header;<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>
-<span class="sourceLineNo">368</span>     * Short string representation without param info because param itself could be huge depends on<a name="line.368"></a>
-<span class="sourceLineNo">369</span>     * the payload of a command<a name="line.369"></a>
-<span class="sourceLineNo">370</span>     */<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    String toShortString() {<a name="line.371"></a>
-<span class="sourceLineNo">372</span>      String serviceName = this.connection.service != null ?<a name="line.372"></a>
-<span class="sourceLineNo">373</span>          this.connection.service.getDescriptorForType().getName() : "null";<a name="line.373"></a>
-<span class="sourceLineNo">374</span>      return "callId: " + this.id + " service: " + serviceName +<a name="line.374"></a>
-<span class="sourceLineNo">375</span>          " methodName: " + ((this.md != null) ? this.md.getName() : "n/a") +<a name="line.375"></a>
-<span class="sourceLineNo">376</span>          " size: " + StringUtils.TraditionalBinaryPrefix.long2String(this.size, "", 1) +<a name="line.376"></a>
-<span class="sourceLineNo">377</span>          " connection: " + connection.toString();<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    }<a name="line.378"></a>
-<span class="sourceLineNo">379</span><a name="line.379"></a>
-<span class="sourceLineNo">380</span>    String toTraceString() {<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() : "";<a name="line.382"></a>
-<span class="sourceLineNo">383</span>      String methodName = (this.md != null) ? this.md.getName() : "";<a name="line.383"></a>
-<span class="sourceLineNo">384</span>      return serviceName + "." + methodName;<a name="line.384"></a>
-<span class="sourceLineNo">385</span>    }<a name="line.385"></a>
-<span class="sourceLineNo">386</span><a name="line.386"></a>
-<span class="sourceLineNo">387</span>    protected synchronized void setSaslTokenResponse(ByteBuffer response) {<a name="line.387"></a>
-<span class="sourceLineNo">388</span>      this.response = new BufferChain(response);<a name="line.388"></a>
-<span class="sourceLineNo">389</span>    }<a name="line.389"></a>
-<span class="sourceLineNo">390</span><a name="line.390"></a>
-<span class="sourceLineNo">391</span>    protected synchronized void setResponse(Object m, final CellScanner cells,<a name="line.391"></a>
-<span class="sourceLineNo">392</span>        Throwable t, String errorMsg) {<a name="line.392"></a>
-<span class="sourceLineNo">393</span>      if (this.isError) return;<a name="line.393"></a>
-<span class="sourceLineNo">394</span>      if (t != null) this.isError = true;<a name="line.394"></a>
-<span class="sourceLineNo">395</span>      BufferChain bc = null;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>      try {<a name="line.396"></a>
-<span class="sourceLineNo">397</span>        ResponseHeader.Builder headerBuilder = ResponseHeader.newBuilder();<a name="line.397"></a>
-<span class="sourceLineNo">398</span>        // Presume it a pb Message.  Could be null.<a name="line.398"></a>
-<span class="sourceLineNo">399</span>        Message result = (Message)m;<a name="line.399"></a>
-<span class="sourceLineNo">400</span>        // Call id.<a name="line.400"></a>
-<span class="sourceLineNo">401</span>        headerBuilder.setCallId(this.id);<a name="line.401"></a>
-<span class="sourceLineNo">402</span>        if (t != null) {<a name="line.402"></a>
-<span class="sourceLineNo">403</span>          ExceptionResponse.Builder exceptionBuilder = ExceptionResponse.newBuilder();<a name="line.403"></a>
-<span class="sourceLineNo">404</span>          exceptionBuilder.setExceptionClassName(t.getClass().getName());<a name="line.404"></a>
-<span class="sourceLineNo">405</span>          exceptionBuilder.setStackTrace(errorMsg);<a name="line.405"></a>
-<span class="sourceLineNo">406</span>          exceptionBuilder.setDoNotRetry(t instanceof DoNotRetryIOException);<a name="line.406"></a>
-<span class="sourceLineNo">407</span>          if (t instanceof RegionMovedException) {<a name="line.407"></a>
-<span class="sourceLineNo">408</span>            // Special casing for this exception.  This is only one carrying a payload.<a name="line.408"></a>
-<span class="sourceLineNo">409</span>            // Do this instead of build a generic system for allowing exceptions carry<a name="line.409"></a>
-<span class="sourceLineNo">410</span>            // any kind of payload.<a name="line.410"></a>
-<span class="sourceLineNo">411</span>            RegionMovedException rme = (RegionMovedException)t;<a name="line.411"></a>
-<span class="sourceLineNo">412</span>            exceptionBuilder.setHostname(rme.getHostname());<a name="line.412"></a>
-<span class="sourceLineNo">413</span>            exceptionBuilder.setPort(rme.getPort());<a name="line.413"></a>
-<span class="sourceLineNo">414</span>          }<a name="line.414"></a>
-<span class="sourceLineNo">415</span>          // Set the exception as the result of the method invocation.<a name="line.415"></a>
-<span class="sourceLineNo">416</span>          headerBuilder.setException(exceptionBuilder.build());<a name="line.416"></a>
-<span class="sourceLineNo">417</span>        }<a name="line.417"></a>
-<span class="sourceLineNo">418</span>        // Pass reservoir to buildCellBlock. Keep reference to returne so can add it back to the<a name="line.418"></a>
-<span class="sourceLineNo">419</span>        // reservoir when finished. This is hacky and the hack is not contained but benefits are<a name="line.419"></a>
-<span class="sourceLineNo">420</span>        // high when we can avoid a big buffer allocation on each rpc.<a name="line.420"></a>
-<span class="sourceLineNo">421</span>        this.cellBlock = ipcUtil.buildCellBlock(this.connection.codec,<a name="line.421"></a>
-<span class="sourceLineNo">422</span>          this.connection.compressionCodec, cells, reservoir);<a name="line.422"></a>
-<span class="sourceLineNo">423</span>        if (this.cellBlock != null) {<a name="line.423"></a>
-<span class="sourceLineNo">424</span>          CellBlockMeta.Builder cellBlockBuilder = CellBlockMeta.newBuilder();<a name="line.424"></a>
-<span class="sourceLineNo">425</span>          // Presumes the cellBlock bytebuffer has been flipped so limit has total size in it.<a name="line.425"></a>
-<span class="sourceLineNo">426</span>          cellBlockBuilder.setLength(this.cellBlock.limit());<a name="line.426"></a>
-<span class="sourceLineNo">427</span>          headerBuilder.setCellBlockMeta(cellBlockBuilder.build());<a name="line.427"></a>
-<span class="sourceLineNo">428</span>        }<a name="line.428"></a>
-<span class="sourceLineNo">429</span>        Message header = headerBuilder.build();<a name="line.429"></a>
-<span class="sourceLineNo">430</span><a name="line.430"></a>
-<span class="sourceLineNo">431</span>        // Organize the response as a set of bytebuffers rather than collect it all together inside<a name="line.431"></a>
-<span class="sourceLineNo">432</span>        // one big byte array; save on allocations.<a name="line.432"></a>
-<span class="sourceLineNo">433</span>        ByteBuffer bbHeader = IPCUtil.getDelimitedMessageAsByteBuffer(header);<a name="line.433"></a>
-<span class="sourceLineNo">434</span>        ByteBuffer bbResult = IPCUtil.getDelimitedMessageAsByteBuffer(result);<a name="line.434"></a>
-<span class="sourceLineNo">435</span>        int totalSize = bbHeader.capacity() + (bbResult == null? 0: bbResult.limit()) +<a name="line.435"></a>
-<span class="sourceLineNo">436</span>          (this.cellBlock == null? 0: this.cellBlock.limit());<a name="line.436"></a>
-<span class="sourceLineNo">437</span>        ByteBuffer bbTotalSize = ByteBuffer.wrap(Bytes.toBytes(totalSize));<a name="line.437"></a>
-<span class="sourceLineNo">438</span>        bc = new BufferChain(bbTotalSize, bbHeader, bbResult, this.cellBlock);<a name="line.438"></a>
-<span class="sourceLineNo">439</span>        if (connection.useWrap) {<a name="line.439"></a>
-<span class="sourceLineNo">440</span>          bc = wrapWithSasl(bc);<a name="line.440"></a>
-<span class="sourceLineNo">441</span>        }<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      } catch (IOException e) {<a name="line.442"></a>
-<span class="sourceLineNo">443</span>        LOG.warn("Exception while creating response " + e);<a name="line.443"></a>
-<span class="sourceLineNo">444</span>      }<a name="line.444"></a>
-<span class="sourceLineNo">445</span>      this.response = bc;<a name="line.445"></a>
-<span class="sourceLineNo">446</span>      // Once a response message is created and set to this.response, this Call can be treated as<a name="line.446"></a>
-<span class="sourceLineNo">447</span>      // done. The Responder thread will do the n/w write of this message back to client.<a name="line.447"></a>
-<span class="sourceLineNo">448</span>      if (this.callback != null) {<a name="line.448"></a>
-<span class="sourceLineNo">449</span>        try {<a name="line.449"></a>
-<span class="sourceLineNo">450</span>          this.callback.run();<a name="line.450"></a>
-<span class="sourceLineNo">451</span>        } catch (Exception e) {<a name="line.451"></a>
-<span class="sourceLineNo">452</span>          // Don't allow any exception here to kill this handler thread.<a name="line.452"></a>
-<span class="sourceLineNo">453</span>          LOG.warn("Exception while running the Rpc Callback.", e);<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><a name="line.457"></a>
-<span class="sourceLineNo">458</span>    private BufferChain wrapWithSasl(BufferChain bc)<a name="line.458"></a>
-<span class="sourceLineNo">459</span>        throws IOException {<a name="line.459"></a>
-<span class="sourceLineNo">460</span>      if (!this.connection.useSasl) return bc;<a name="line.460"></a>
-<span class="sourceLineNo">461</span>      // Looks like no way around this; saslserver wants a byte array.  I have to make it one.<a name="line.461"></a>
-<span class="sourceLineNo">462</span>      // THIS IS A BIG UGLY COPY.<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      byte [] responseBytes = bc.getBytes();<a name="line.463"></a>
-<span class="sourceLineNo">464</span>      byte [] token;<a name="line.464"></a>
-<span class="sourceLineNo">465</span>      // synchronization may be needed since there can be multiple Handler<a name="line.465"></a>
-<span class="sourceLineNo">466</span>      // threads using saslServer to wrap responses.<a name="line.466"></a>
-<span class="sourceLineNo">467</span>      synchronized (connection.saslServer) {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>        token = connection.saslServer.wrap(responseBytes, 0, responseBytes.length);<a name="line.468"></a>
-<span class="sourceLineNo">469</span>      }<a name="line.469"></a>
-<span class="sourceLineNo">470</span>      if (LOG.isTraceEnabled()) {<a name="line.470"></a>
-<span class="sourceLineNo">471</span>        LOG.trace("Adding saslServer wrapped token of size " + token.length<a name="line.471"></a>
-<span class="sourceLineNo">472</span>            + " as call response.");<a name="line.472"></a>
-<span class="sourceLineNo">473</span>      }<a name="line.473"></a>
-<span class="sourceLineNo">474</span><a name="line.474"></a>
-<span class="sourceLineNo">475</span>      ByteBuffer bbTokenLength = ByteBuffer.wrap(Bytes.toBytes(token.length));<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      ByteBuffer bbTokenBytes = ByteBuffer.wrap(token);<a name="line.476"></a>
-<span class="sourceLineNo">477</span>      return new BufferChain(bbTokenLength, bbTokenBytes);<a name="line.477"></a>
-<span class="sourceLineNo">478</span>    }<a name="line.478"></a>
-<span class="sourceLineNo">479</span><a name="line.479"></a>
-<span class="sourceLineNo">480</span>    @Override<a name="line.480"></a>
-<span class="sourceLineNo">481</span>    public boolean isClientCellBlockSupported() {<a name="line.481"></a>
-<span class="sourceLineNo">482</span>      return this.connection != null &amp;&amp; this.connection.codec != null;<a name="line.482"></a>
-<span class="sourceLineNo">483</span>    }<a name="line.483"></a>
-<span class="sourceLineNo">484</span><a name="line.484"></a>
-<span class="sourceLineNo">485</span>    @Override<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    public long disconnectSince() {<a name="line.486"></a>
-<span class="sourceLineNo">487</span>      if (!connection.channel.isOpen()) {<a name="line.487"></a>
-<span class="sourceLineNo">488</span>        return System.currentTimeMillis() - timestamp;<a name="line.488"></a>
-<span class="sourceLineNo">489</span>      } else {<a name="line.489"></a>
-<span class="sourceLineNo">490</span>        return -1L;<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><a name="line.493"></a>
-<span class="sourceLineNo">494</span>    public long getSize() {<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      return this.size;<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    }<a name="line.496"></a>
-<span class="sourceLineNo">497</span><a name="line.497"></a>
-<span class="sourceLineNo">498</span>    public long getResponseCellSize() {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>      return responseCellSize;<a name="line.499"></a>
-<span class="sourceLineNo">500</span>    }<a name="line.500"></a>
-<span class="sourceLineNo">501</span><a name="line.501"></a>
-<span class="sourceLineNo">502</span>    public void incrementResponseCellSize(long cellSize) {<a name="line.502"></a>
-<span class="sourceLineNo">503</span>      responseCellSize += cellSize;<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 long getResponseBlockSize() {<a name="line.507"></a>
-<span class="sourceLineNo">508</span>      return responseBlockSize;<a name="line.508"></a>
-<span class="sourceLineNo">509</span>    }<a name="line.509"></a>
-<span class="sourceLineNo">510</span><a name="line.510"></a>
-<span class="sourceLineNo">511</span>    @Override<a name="line.511"></a>
-<span class="sourceLineNo">512</span>    public void incrementResponseBlockSize(long blockSize) {<a name="line.512"></a>
-<span class="sourceLineNo">513</span>      responseBlockSize += blockSize;<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>    public synchronized void sendResponseIfReady() throws IOException {<a name="line.516"></a>
-<span class="sourceLineNo">517</span>      this.responder.doRespond(this);<a name="line.517"></a>
-<span class="sourceLineNo">518</span>    }<a name="line.518"></a>
-<span class="sourceLineNo">519</span><a name="line.519"></a>
-<span class="sourceLineNo">520</span>    public UserGroupInformation getRemoteUser() {<a name="line.520"></a>
-<span class="sourceLineNo">521</span>      return connection.ugi;<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 User getRequestUser() {<a name="line.525"></a>
-<span class="sourceLineNo">526</span>      return user;<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 String getRequestUserName() {<a name="line.530"></a>
-<span class="sourceLineNo">531</span>      User user = getRequestUser();<a name="line.531"></a>
-<span class="sourceLineNo">532</span>      return user == null? null: user.getShortName();<a name="line.532"></a>
-<span class="sourceLineNo">533</span>    }<a name="line.533"></a>
-<span class="sourceLineNo">534</span><a name="line.534"></a>
-<span class="sourceLineNo">535</span>    @Override<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    public InetAddress getRemoteAddress() {<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      return remoteAddress;<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    }<a name="line.538"></a>
-<span class="sourceLineNo">539</span><a name="line.539"></a>
-<span class="sourceLineNo">540</span>    @Override<a name="line.540"></a>
-<span class="sourceLineNo">541</span>    public VersionInfo getClientVersionInfo() {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>      return connection.getVersionInfo();<a name="line.542"></a>
-<span class="sourceLineNo">543</span>    }<a name="line.543"></a>
-<span class="sourceLineNo">544</span><a name="line.544"></a>
-<span class="sourceLineNo">545</span>    @Override<a name="line.545"></a>
-<span class="sourceLineNo">546</span>    public synchronized void setCallBack(RpcCallback callback) {<a name="line.546"></a>
-<span class="sourceLineNo">547</span>      this.callback = callback;<a name="line.547"></a>
-<span class="sourceLineNo">548</span>    }<a name="line.548"></a>
-<span class="sourceLineNo">549</span><a name="line.549"></a>
-<span class="sourceLineNo">550</span>    @Override<a name="line.550"></a>
-<span class="sourceLineNo">551</span>    public boolean isRetryImmediatelySupported() {<a name="line.551"></a>
-<span class="sourceLineNo">552</span>      return retryImmediatelySupported;<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><a name="line.555"></a>
-<span class="sourceLineNo">556</span>  /** Listens on the socket. Creates jobs for the handler threads*/<a name="line.556"></a>
-<span class="sourceLineNo">557</span>  private class Listener extends Thread {<a name="line.557"></a>
-<span class="sourceLineNo">558</span><a name="line.558"></a>
-<span class="sourceLineNo">559</span>    private ServerSocketChannel acceptChannel = null; //the accept channel<a name="line.559"></a>
-<span class="sourceLineNo">560</span>    private Selector selector = null; //the selector that we use for the server<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    private Reader[] readers = null;<a name="line.561"></a>
-<span class="sourceLineNo">562</span>    private int currentReader = 0;<a name="line.562"></a>
-<span class="sourceLineNo">563</span>    private Random rand = new Random();<a name="line.563"></a>
-<span class="sourceLineNo">564</span>    private long lastCleanupRunTime = 0; //the last time when a cleanup connec-<a name="line.564"></a>
-<span class="sourceLineNo">565</span>                                         //-tion (for idle connections) ran<a name="line.565"></a>
-<span class="sourceLineNo">566</span>    private long cleanupInterval = 10000; //the minimum interval between<a name="line.566"></a>
-<span class="sourceLineNo">567</span>                                          //two cleanup runs<a name="line.567"></a>
-<span class="sourceLineNo">568</span>    private int backlogLength;<a name="line.568"></a>
-<span class="sourceLineNo">569</span><a name="line.569"></a>
-<span class="sourceLineNo">570</span>    private ExecutorService readPool;<a name="line.570"></a>
-<span class="sourceLineNo">571</span><a name="line.571"></a>
-<span class="sourceLineNo">572</span>    public Listener(final String name) throws IOException {<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      super(name);<a name="line.573"></a>
-<span class="sourceLineNo">574</span>      backlogLength = conf.getInt("hbase.ipc.server.listen.queue.size", 128);<a name="line.574"></a>
-<span class="sourceLineNo">575</span>      // Create a new server socket and set to non blocking mode<a name="line.575"></a>
-<span class="sourceLineNo">576</span>      acceptChannel = ServerSocketChannel.open();<a name="line.576"></a>
-<span class="sourceLineNo">577</span>      acceptChannel.configureBlocking(false);<a name="line.577"></a>
-<span class="sourceLineNo">578</span><a name="line.578"></a>
-<span class="sourceLineNo">579</span>      // Bind the server socket to the binding addrees (can be different from the default interface)<a name="line.579"></a>
-<span class="sourceLineNo">580</span>      bind(acceptChannel.socket(), bindAddress, backlogLength);<a name="line.580"></a>
-<span class="sourceLineNo">581</span>      port = acceptChannel.socket().getLocalPort(); //Could be an ephemeral port<a name="line.581"></a>
-<span class="sourceLineNo">582</span>      address = (InetSocketAddress)acceptChannel.socket().getLocalSocketAddress();<a name="line.582"></a>
-<span class="sourceLineNo">583</span>      // create a selector;<a name="line.583"></a>
-<span class="sourceLineNo">584</span>      selector= Selector.open();<a name="line.584"></a>
-<span class="sourceLineNo">585</span><a name="line.585"></a>
-<span class="sourceLineNo">586</span>      readers = new Reader[readThreads];<a name="line.586"></a>
-<span class="sourceLineNo">587</span>      readPool = Executors.newFixedThreadPool(readThreads,<a name="line.587"></a>
-<span class="sourceLineNo">588</span>        new ThreadFactoryBuilder().setNameFormat(<a name="line.588"></a>
-<span class="sourceLineNo">589</span>          "RpcServer.reader=%d,bindAddress=" + bindAddress.getHostName() +<a name="line.589"></a>
-<span class="sourceLineNo">590</span>          ",port=" + port).setDaemon(true).build());<a name="line.590"></a>
-<span class="sourceLineNo">591</span>      for (int i = 0; i &lt; readThreads; ++i) {<a name="line.591"></a>
-<span class="sourceLineNo">592</span>        Reader reader = new Reader();<a name="line.592"></a>
-<span class="sourceLineNo">593</span>        readers[i] = reader;<a name="line.593"></a>
-<span class="sourceLineNo">594</span>        readPool.execute(reader);<a name="line.594"></a>
-<span class="sourceLineNo">595</span>      }<a name="line.595"></a>
-<span class="sourceLineNo">596</span>      LOG.info(getName() + ": started " + readThreads + " reader(s) listening on port=" + port);<a name="line.596"></a>
-<span class="sourceLineNo">597</span><a name="line.597"></a>
-<span class="sourceLineNo">598</span>      // Register accepts on the server socket with the selector.<a name="line.598"></a>
-<span class="sourceLineNo">599</span>      acceptChannel.register(selector, SelectionKey.OP_ACCEPT);<a name="line.599"></a>
-<span class="sourceLineNo">600</span>      this.setName("RpcServer.listener,port=" + port);<a name="line.600"></a>
-<span class="sourceLineNo">601</span>      this.setDaemon(true);<a name="line.601"></a>
-<span class="sourceLineNo">602</span>    }<a name="line.602"></a>
+<span class="sourceLineNo">130</span><a name="line.130"></a>
+<span class="sourceLineNo">131</span>import com.google.common.util.concurrent.ThreadFactoryBuilder;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import com.google.protobuf.BlockingService;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import com.google.protobuf.CodedInputStream;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import com.google.protobuf.Descriptors.MethodDescriptor;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import com.google.protobuf.Message;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import com.google.protobuf.ServiceException;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import com.google.protobuf.TextFormat;<a name="line.137"></a>
+<span class="sourceLineNo">138</span><a name="line.138"></a>
+<span class="sourceLineNo">139</span>/**<a name="line.139"></a>
+<span class="sourceLineNo">140</span> * An RPC server that hosts protobuf described Services.<a name="line.140"></a>
+<span class="sourceLineNo">141</span> *<a name="line.141"></a>
+<span class="sourceLineNo">142</span> * An RpcServer instance has a Listener that hosts the socket.  Listener has fixed number<a name="line.142"></a>
+<span class="sourceLineNo">143</span> * of Readers in an ExecutorPool, 10 by default.  The Listener does an accept and then<a name="line.143"></a>
+<span class="sourceLineNo">144</span> * round robin a Reader is chosen to do the read.  The reader is registered on Selector.  Read does<a name="line.144"></a>
+<span class="sourceLineNo">145</span> * total read off the channel and the parse from which it makes a Call.  The call is wrapped in a<a name="line.145"></a>
+<span class="sourceLineNo">146</span> * CallRunner and passed to the scheduler to be run.  Reader goes back to see if more to be done<a name="line.146"></a>
+<span class="sourceLineNo">147</span> * and loops till done.<a name="line.147"></a>
+<span class="sourceLineNo">148</span> *<a name="line.148"></a>
+<span class="sourceLineNo">149</span> * &lt;p&gt;Scheduler can be variously implemented but default simple scheduler has handlers to which it<a name="line.149"></a>
+<span class="sourceLineNo">150</span> * has given the queues into which calls (i.e. CallRunner instances) are inserted.  Handlers run<a name="line.150"></a>
+<span class="sourceLineNo">151</span> * taking from the queue.  They run the CallRunner#run method on each item gotten from queue<a name="line.151"></a>
+<span class="sourceLineNo">152</span> * and keep taking while the server is up.<a name="line.152"></a>
+<span class="sourceLineNo">153</span> *<a name="line.153"></a>
+<span class="sourceLineNo">154</span> * CallRunner#run executes the call.  When done, asks the included Call to put itself on new<a name="line.154"></a>
+<span class="sourceLineNo">155</span> * queue for Responder to pull from and return result to client.<a name="line.155"></a>
+<span class="sourceLineNo">156</span> *<a name="line.156"></a>
+<span class="sourceLineNo">157</span> * @see RpcClientImpl<a name="line.157"></a>
+<span class="sourceLineNo">158</span> */<a name="line.158"></a>
+<span class="sourceLineNo">159</span>@InterfaceAudience.LimitedPrivate({HBaseInterfaceAudience.COPROC, HBaseInterfaceAudience.PHOENIX})<a name="line.159"></a>
+<span class="sourceLineNo">160</span>@InterfaceStability.Evolving<a name="line.160"></a>
+<span class="sourceLineNo">161</span>public class RpcServer implements RpcServerInterface, ConfigurationObserver {<a name="line.161"></a>
+<span class="sourceLineNo">162</span>  // LOG is being used in CallRunner and the log level is being changed in tests<a name="line.162"></a>
+<span class="sourceLineNo">163</span>  public static final Log LOG = LogFactory.getLog(RpcServer.class);<a name="line.163"></a>
+<span class="sourceLineNo">164</span>  private static final CallQueueTooBigException CALL_QUEUE_TOO_BIG_EXCEPTION<a name="line.164"></a>
+<span class="sourceLineNo">165</span>      = new CallQueueTooBigException();<a name="line.165"></a>
+<span class="sourceLineNo">166</span><a name="line.166"></a>
+<span class="sourceLineNo">167</span>  private final boolean authorize;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>  private boolean isSecurityEnabled;<a name="line.168"></a>
+<span class="sourceLineNo">169</span><a name="line.169"></a>
+<span class="sourceLineNo">170</span>  public static final byte CURRENT_VERSION = 0;<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>   * Whether we allow a fallback to SIMPLE auth for insecure clients when security is enabled.<a name="line.173"></a>
+<span class="sourceLineNo">174</span>   */<a name="line.174"></a>
+<span class="sourceLineNo">175</span>  public static final String FALLBACK_TO_INSECURE_CLIENT_AUTH =<a name="line.175"></a>
+<span class="sourceLineNo">176</span>          "hbase.ipc.server.fallback-to-simple-auth-allowed";<a name="line.176"></a>
+<span class="sourceLineNo">177</span><a name="line.177"></a>
+<span class="sourceLineNo">178</span>  /**<a name="line.178"></a>
+<span class="sourceLineNo">179</span>   * How many calls/handler are allowed in the queue.<a name="line.179"></a>
+<span class="sourceLineNo">180</span>   */<a name="line.180"></a>
+<span class="sourceLineNo">181</span>  static final int DEFAULT_MAX_CALLQUEUE_LENGTH_PER_HANDLER = 10;<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>   * The maximum size that we can hold in the RPC queue<a name="line.184"></a>
+<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 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 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>  /** 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 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 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 final RpcScheduler scheduler;<a name="line.274"></a>
+<span class="sourceLineNo">275</span><a name="line.275"></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.getDescriptorFor

<TRUNCATED>

[15/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/src-html/org/apache/hadoop/hbase/client/Scan.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/Scan.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/Scan.html
index cbdb963..b8b76ba 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/Scan.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/Scan.html
@@ -235,763 +235,765 @@
 <span class="sourceLineNo">227</span>    filter = scan.getFilter(); // clone?<a name="line.227"></a>
 <span class="sourceLineNo">228</span>    loadColumnFamiliesOnDemand = scan.getLoadColumnFamiliesOnDemandValue();<a name="line.228"></a>
 <span class="sourceLineNo">229</span>    consistency = scan.getConsistency();<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    reversed = scan.isReversed();<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    asyncPrefetch = scan.isAsyncPrefetch();<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    small = scan.isSmall();<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    allowPartialResults = scan.getAllowPartialResults();<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    TimeRange ctr = scan.getTimeRange();<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    tr = new TimeRange(ctr.getMin(), ctr.getMax());<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    Map&lt;byte[], NavigableSet&lt;byte[]&gt;&gt; fams = scan.getFamilyMap();<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    for (Map.Entry&lt;byte[],NavigableSet&lt;byte[]&gt;&gt; entry : fams.entrySet()) {<a name="line.237"></a>
-<span class="sourceLineNo">238</span>      byte [] fam = entry.getKey();<a name="line.238"></a>
-<span class="sourceLineNo">239</span>      NavigableSet&lt;byte[]&gt; cols = entry.getValue();<a name="line.239"></a>
-<span class="sourceLineNo">240</span>      if (cols != null &amp;&amp; cols.size() &gt; 0) {<a name="line.240"></a>
-<span class="sourceLineNo">241</span>        for (byte[] col : cols) {<a name="line.241"></a>
-<span class="sourceLineNo">242</span>          addColumn(fam, col);<a name="line.242"></a>
-<span class="sourceLineNo">243</span>        }<a name="line.243"></a>
-<span class="sourceLineNo">244</span>      } else {<a name="line.244"></a>
-<span class="sourceLineNo">245</span>        addFamily(fam);<a name="line.245"></a>
-<span class="sourceLineNo">246</span>      }<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    }<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    for (Map.Entry&lt;String, byte[]&gt; attr : scan.getAttributesMap().entrySet()) {<a name="line.248"></a>
-<span class="sourceLineNo">249</span>      setAttribute(attr.getKey(), attr.getValue());<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    }<a name="line.250"></a>
-<span class="sourceLineNo">251</span>    for (Map.Entry&lt;byte[], TimeRange&gt; entry : scan.getColumnFamilyTimeRange().entrySet()) {<a name="line.251"></a>
-<span class="sourceLineNo">252</span>      TimeRange tr = entry.getValue();<a name="line.252"></a>
-<span class="sourceLineNo">253</span>      setColumnFamilyTimeRange(entry.getKey(), tr.getMin(), tr.getMax());<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    }<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  }<a name="line.255"></a>
-<span class="sourceLineNo">256</span><a name="line.256"></a>
-<span class="sourceLineNo">257</span>  /**<a name="line.257"></a>
-<span class="sourceLineNo">258</span>   * Builds a scan object with the same specs as get.<a name="line.258"></a>
-<span class="sourceLineNo">259</span>   * @param get get to model scan after<a name="line.259"></a>
-<span class="sourceLineNo">260</span>   */<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  public Scan(Get get) {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    this.startRow = get.getRow();<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    this.stopRow = get.getRow();<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    this.filter = get.getFilter();<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    this.cacheBlocks = get.getCacheBlocks();<a name="line.265"></a>
-<span class="sourceLineNo">266</span>    this.maxVersions = get.getMaxVersions();<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    this.storeLimit = get.getMaxResultsPerColumnFamily();<a name="line.267"></a>
-<span class="sourceLineNo">268</span>    this.storeOffset = get.getRowOffsetPerColumnFamily();<a name="line.268"></a>
-<span class="sourceLineNo">269</span>    this.tr = get.getTimeRange();<a name="line.269"></a>
-<span class="sourceLineNo">270</span>    this.familyMap = get.getFamilyMap();<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    this.getScan = true;<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    this.asyncPrefetch = false;<a name="line.272"></a>
-<span class="sourceLineNo">273</span>    this.consistency = get.getConsistency();<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    for (Map.Entry&lt;String, byte[]&gt; attr : get.getAttributesMap().entrySet()) {<a name="line.274"></a>
-<span class="sourceLineNo">275</span>      setAttribute(attr.getKey(), attr.getValue());<a name="line.275"></a>
-<span class="sourceLineNo">276</span>    }<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    for (Map.Entry&lt;byte[], TimeRange&gt; entry : get.getColumnFamilyTimeRange().entrySet()) {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      TimeRange tr = entry.getValue();<a name="line.278"></a>
-<span class="sourceLineNo">279</span>      setColumnFamilyTimeRange(entry.getKey(), tr.getMin(), tr.getMax());<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><a name="line.282"></a>
-<span class="sourceLineNo">283</span>  public boolean isGetScan() {<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    return this.getScan || isStartRowAndEqualsStopRow();<a name="line.284"></a>
-<span class="sourceLineNo">285</span>  }<a name="line.285"></a>
-<span class="sourceLineNo">286</span><a name="line.286"></a>
-<span class="sourceLineNo">287</span>  private boolean isStartRowAndEqualsStopRow() {<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    return this.startRow != null &amp;&amp; this.startRow.length &gt; 0 &amp;&amp;<a name="line.288"></a>
-<span class="sourceLineNo">289</span>        Bytes.equals(this.startRow, this.stopRow);<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>   * Get all columns from the specified family.<a name="line.292"></a>
-<span class="sourceLineNo">293</span>   * &lt;p&gt;<a name="line.293"></a>
-<span class="sourceLineNo">294</span>   * Overrides previous calls to addColumn for this family.<a name="line.294"></a>
-<span class="sourceLineNo">295</span>   * @param family family name<a name="line.295"></a>
-<span class="sourceLineNo">296</span>   * @return this<a name="line.296"></a>
-<span class="sourceLineNo">297</span>   */<a name="line.297"></a>
-<span class="sourceLineNo">298</span>  public Scan addFamily(byte [] family) {<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    familyMap.remove(family);<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    familyMap.put(family, null);<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    return this;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  }<a name="line.302"></a>
-<span class="sourceLineNo">303</span><a name="line.303"></a>
-<span class="sourceLineNo">304</span>  /**<a name="line.304"></a>
-<span class="sourceLineNo">305</span>   * Get the column from the specified family with the specified qualifier.<a name="line.305"></a>
-<span class="sourceLineNo">306</span>   * &lt;p&gt;<a name="line.306"></a>
-<span class="sourceLineNo">307</span>   * Overrides previous calls to addFamily for this family.<a name="line.307"></a>
-<span class="sourceLineNo">308</span>   * @param family family name<a name="line.308"></a>
-<span class="sourceLineNo">309</span>   * @param qualifier column qualifier<a name="line.309"></a>
-<span class="sourceLineNo">310</span>   * @return this<a name="line.310"></a>
-<span class="sourceLineNo">311</span>   */<a name="line.311"></a>
-<span class="sourceLineNo">312</span>  public Scan addColumn(byte [] family, byte [] qualifier) {<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    NavigableSet&lt;byte []&gt; set = familyMap.get(family);<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    if(set == null) {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>      set = new TreeSet&lt;byte []&gt;(Bytes.BYTES_COMPARATOR);<a name="line.315"></a>
-<span class="sourceLineNo">316</span>    }<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    if (qualifier == null) {<a name="line.317"></a>
-<span class="sourceLineNo">318</span>      qualifier = HConstants.EMPTY_BYTE_ARRAY;<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    }<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    set.add(qualifier);<a name="line.320"></a>
-<span class="sourceLineNo">321</span>    familyMap.put(family, set);<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    return this;<a name="line.322"></a>
-<span class="sourceLineNo">323</span>  }<a name="line.323"></a>
-<span class="sourceLineNo">324</span><a name="line.324"></a>
-<span class="sourceLineNo">325</span>  /**<a name="line.325"></a>
-<span class="sourceLineNo">326</span>   * Get versions of columns only within the specified timestamp range,<a name="line.326"></a>
-<span class="sourceLineNo">327</span>   * [minStamp, maxStamp).  Note, default maximum versions to return is 1.  If<a name="line.327"></a>
-<span class="sourceLineNo">328</span>   * your time range spans more than one version and you want all versions<a name="line.328"></a>
-<span class="sourceLineNo">329</span>   * returned, up the number of versions beyond the default.<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   * @param minStamp minimum timestamp value, inclusive<a name="line.330"></a>
-<span class="sourceLineNo">331</span>   * @param maxStamp maximum timestamp value, exclusive<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   * @see #setMaxVersions()<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   * @see #setMaxVersions(int)<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   * @return this<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   */<a name="line.335"></a>
-<span class="sourceLineNo">336</span>  public Scan setTimeRange(long minStamp, long maxStamp) throws IOException {<a name="line.336"></a>
-<span class="sourceLineNo">337</span>    tr = new TimeRange(minStamp, maxStamp);<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    return this;<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>   * Get versions of columns with the specified timestamp. Note, default maximum<a name="line.342"></a>
-<span class="sourceLineNo">343</span>   * versions to return is 1.  If your time range spans more than one version<a name="line.343"></a>
-<span class="sourceLineNo">344</span>   * and you want all versions returned, up the number of versions beyond the<a name="line.344"></a>
-<span class="sourceLineNo">345</span>   * defaut.<a name="line.345"></a>
-<span class="sourceLineNo">346</span>   * @param timestamp version timestamp<a name="line.346"></a>
-<span class="sourceLineNo">347</span>   * @see #setMaxVersions()<a name="line.347"></a>
-<span class="sourceLineNo">348</span>   * @see #setMaxVersions(int)<a name="line.348"></a>
-<span class="sourceLineNo">349</span>   * @return this<a name="line.349"></a>
-<span class="sourceLineNo">350</span>   */<a name="line.350"></a>
-<span class="sourceLineNo">351</span>  public Scan setTimeStamp(long timestamp)<a name="line.351"></a>
-<span class="sourceLineNo">352</span>  throws IOException {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    try {<a name="line.353"></a>
-<span class="sourceLineNo">354</span>      tr = new TimeRange(timestamp, timestamp+1);<a name="line.354"></a>
-<span class="sourceLineNo">355</span>    } catch(Exception e) {<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      // This should never happen, unless integer overflow or something extremely wrong...<a name="line.356"></a>
-<span class="sourceLineNo">357</span>      LOG.error("TimeRange failed, likely caused by integer overflow. ", e);<a name="line.357"></a>
-<span class="sourceLineNo">358</span>      throw e;<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    }<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    return this;<a name="line.360"></a>
-<span class="sourceLineNo">361</span>  }<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>  @Override public Scan setColumnFamilyTimeRange(byte[] cf, long minStamp, long maxStamp) {<a name="line.363"></a>
-<span class="sourceLineNo">364</span>    return (Scan) super.setColumnFamilyTimeRange(cf, minStamp, maxStamp);<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>
-<span class="sourceLineNo">368</span>   * Set the start row of the scan.<a name="line.368"></a>
-<span class="sourceLineNo">369</span>   * &lt;p&gt;<a name="line.369"></a>
-<span class="sourceLineNo">370</span>   * If the specified row does not exist, the Scanner will start from the<a name="line.370"></a>
-<span class="sourceLineNo">371</span>   * next closest row after the specified row.<a name="line.371"></a>
-<span class="sourceLineNo">372</span>   * @param startRow row to start scanner at or after<a name="line.372"></a>
-<span class="sourceLineNo">373</span>   * @return this<a name="line.373"></a>
-<span class="sourceLineNo">374</span>   */<a name="line.374"></a>
-<span class="sourceLineNo">375</span>  public Scan setStartRow(byte [] startRow) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>    this.startRow = startRow;<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    return this;<a name="line.377"></a>
-<span class="sourceLineNo">378</span>  }<a name="line.378"></a>
-<span class="sourceLineNo">379</span><a name="line.379"></a>
-<span class="sourceLineNo">380</span>  /**<a name="line.380"></a>
-<span class="sourceLineNo">381</span>   * Set the stop row of the scan.<a name="line.381"></a>
-<span class="sourceLineNo">382</span>   * @param stopRow row to end at (exclusive)<a name="line.382"></a>
-<span class="sourceLineNo">383</span>   * &lt;p&gt;<a name="line.383"></a>
-<span class="sourceLineNo">384</span>   * The scan will include rows that are lexicographically less than<a name="line.384"></a>
-<span class="sourceLineNo">385</span>   * the provided stopRow.<a name="line.385"></a>
-<span class="sourceLineNo">386</span>   * &lt;p&gt;&lt;b&gt;Note:&lt;/b&gt; When doing a filter for a rowKey &lt;u&gt;Prefix&lt;/u&gt;<a name="line.386"></a>
-<span class="sourceLineNo">387</span>   * use {@link #setRowPrefixFilter(byte[])}.<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * The 'trailing 0' will not yield the desired result.&lt;/p&gt;<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   * @return this<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   */<a name="line.390"></a>
-<span class="sourceLineNo">391</span>  public Scan setStopRow(byte [] stopRow) {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    this.stopRow = stopRow;<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    return this;<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>  /**<a name="line.396"></a>
-<span class="sourceLineNo">397</span>   * &lt;p&gt;Set a filter (using stopRow and startRow) so the result set only contains rows where the<a name="line.397"></a>
-<span class="sourceLineNo">398</span>   * rowKey starts with the specified prefix.&lt;/p&gt;<a name="line.398"></a>
-<span class="sourceLineNo">399</span>   * &lt;p&gt;This is a utility method that converts the desired rowPrefix into the appropriate values<a name="line.399"></a>
-<span class="sourceLineNo">400</span>   * for the startRow and stopRow to achieve the desired result.&lt;/p&gt;<a name="line.400"></a>
-<span class="sourceLineNo">401</span>   * &lt;p&gt;This can safely be used in combination with setFilter.&lt;/p&gt;<a name="line.401"></a>
-<span class="sourceLineNo">402</span>   * &lt;p&gt;&lt;b&gt;NOTE: Doing a {@link #setStartRow(byte[])} and/or {@link #setStopRow(byte[])}<a name="line.402"></a>
-<span class="sourceLineNo">403</span>   * after this method will yield undefined results.&lt;/b&gt;&lt;/p&gt;<a name="line.403"></a>
-<span class="sourceLineNo">404</span>   * @param rowPrefix the prefix all rows must start with. (Set &lt;i&gt;null&lt;/i&gt; to remove the filter.)<a name="line.404"></a>
-<span class="sourceLineNo">405</span>   * @return this<a name="line.405"></a>
-<span class="sourceLineNo">406</span>   */<a name="line.406"></a>
-<span class="sourceLineNo">407</span>  public Scan setRowPrefixFilter(byte[] rowPrefix) {<a name="line.407"></a>
-<span class="sourceLineNo">408</span>    if (rowPrefix == null) {<a name="line.408"></a>
-<span class="sourceLineNo">409</span>      setStartRow(HConstants.EMPTY_START_ROW);<a name="line.409"></a>
-<span class="sourceLineNo">410</span>      setStopRow(HConstants.EMPTY_END_ROW);<a name="line.410"></a>
-<span class="sourceLineNo">411</span>    } else {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      this.setStartRow(rowPrefix);<a name="line.412"></a>
-<span class="sourceLineNo">413</span>      this.setStopRow(calculateTheClosestNextRowKeyForPrefix(rowPrefix));<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    }<a name="line.414"></a>
-<span class="sourceLineNo">415</span>    return this;<a name="line.415"></a>
-<span class="sourceLineNo">416</span>  }<a name="line.416"></a>
-<span class="sourceLineNo">417</span><a name="line.417"></a>
-<span class="sourceLineNo">418</span>  /**<a name="line.418"></a>
-<span class="sourceLineNo">419</span>   * &lt;p&gt;When scanning for a prefix the scan should stop immediately after the the last row that<a name="line.419"></a>
-<span class="sourceLineNo">420</span>   * has the specified prefix. This method calculates the closest next rowKey immediately following<a name="line.420"></a>
-<span class="sourceLineNo">421</span>   * the given rowKeyPrefix.&lt;/p&gt;<a name="line.421"></a>
-<span class="sourceLineNo">422</span>   * &lt;p&gt;&lt;b&gt;IMPORTANT: This converts a rowKey&lt;u&gt;Prefix&lt;/u&gt; into a rowKey&lt;/b&gt;.&lt;/p&gt;<a name="line.422"></a>
-<span class="sourceLineNo">423</span>   * &lt;p&gt;If the prefix is an 'ASCII' string put into a byte[] then this is easy because you can<a name="line.423"></a>
-<span class="sourceLineNo">424</span>   * simply increment the last byte of the array.<a name="line.424"></a>
-<span class="sourceLineNo">425</span>   * But if your application uses real binary rowids you may run into the scenario that your<a name="line.425"></a>
-<span class="sourceLineNo">426</span>   * prefix is something like:&lt;/p&gt;<a name="line.426"></a>
-<span class="sourceLineNo">427</span>   * &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;{ 0x12, 0x23, 0xFF, 0xFF }&lt;/b&gt;&lt;br/&gt;<a name="line.427"></a>
-<span class="sourceLineNo">428</span>   * Then this stopRow needs to be fed into the actual scan&lt;br/&gt;<a name="line.428"></a>
-<span class="sourceLineNo">429</span>   * &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;{ 0x12, 0x24 }&lt;/b&gt; (Notice that it is shorter now)&lt;br/&gt;<a name="line.429"></a>
-<span class="sourceLineNo">430</span>   * This method calculates the correct stop row value for this usecase.<a name="line.430"></a>
-<span class="sourceLineNo">431</span>   *<a name="line.431"></a>
-<span class="sourceLineNo">432</span>   * @param rowKeyPrefix the rowKey&lt;u&gt;Prefix&lt;/u&gt;.<a name="line.432"></a>
-<span class="sourceLineNo">433</span>   * @return the closest next rowKey immediately following the given rowKeyPrefix.<a name="line.433"></a>
-<span class="sourceLineNo">434</span>   */<a name="line.434"></a>
-<span class="sourceLineNo">435</span>  private byte[] calculateTheClosestNextRowKeyForPrefix(byte[] rowKeyPrefix) {<a name="line.435"></a>
-<span class="sourceLineNo">436</span>    // Essentially we are treating it like an 'unsigned very very long' and doing +1 manually.<a name="line.436"></a>
-<span class="sourceLineNo">437</span>    // Search for the place where the trailing 0xFFs start<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    int offset = rowKeyPrefix.length;<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    while (offset &gt; 0) {<a name="line.439"></a>
-<span class="sourceLineNo">440</span>      if (rowKeyPrefix[offset - 1] != (byte) 0xFF) {<a name="line.440"></a>
-<span class="sourceLineNo">441</span>        break;<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      }<a name="line.442"></a>
-<span class="sourceLineNo">443</span>      offset--;<a name="line.443"></a>
-<span class="sourceLineNo">444</span>    }<a name="line.444"></a>
-<span class="sourceLineNo">445</span><a name="line.445"></a>
-<span class="sourceLineNo">446</span>    if (offset == 0) {<a name="line.446"></a>
-<span class="sourceLineNo">447</span>      // We got an 0xFFFF... (only FFs) stopRow value which is<a name="line.447"></a>
-<span class="sourceLineNo">448</span>      // the last possible prefix before the end of the table.<a name="line.448"></a>
-<span class="sourceLineNo">449</span>      // So set it to stop at the 'end of the table'<a name="line.449"></a>
-<span class="sourceLineNo">450</span>      return HConstants.EMPTY_END_ROW;<a name="line.450"></a>
-<span class="sourceLineNo">451</span>    }<a name="line.451"></a>
-<span class="sourceLineNo">452</span><a name="line.452"></a>
-<span class="sourceLineNo">453</span>    // Copy the right length of the original<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    byte[] newStopRow = Arrays.copyOfRange(rowKeyPrefix, 0, offset);<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    // And increment the last one<a name="line.455"></a>
-<span class="sourceLineNo">456</span>    newStopRow[newStopRow.length - 1]++;<a name="line.456"></a>
-<span class="sourceLineNo">457</span>    return newStopRow;<a name="line.457"></a>
-<span class="sourceLineNo">458</span>  }<a name="line.458"></a>
-<span class="sourceLineNo">459</span><a name="line.459"></a>
-<span class="sourceLineNo">460</span>  /**<a name="line.460"></a>
-<span class="sourceLineNo">461</span>   * Get all available versions.<a name="line.461"></a>
-<span class="sourceLineNo">462</span>   * @return this<a name="line.462"></a>
-<span class="sourceLineNo">463</span>   */<a name="line.463"></a>
-<span class="sourceLineNo">464</span>  public Scan setMaxVersions() {<a name="line.464"></a>
-<span class="sourceLineNo">465</span>    this.maxVersions = Integer.MAX_VALUE;<a name="line.465"></a>
-<span class="sourceLineNo">466</span>    return this;<a name="line.466"></a>
-<span class="sourceLineNo">467</span>  }<a name="line.467"></a>
-<span class="sourceLineNo">468</span><a name="line.468"></a>
-<span class="sourceLineNo">469</span>  /**<a name="line.469"></a>
-<span class="sourceLineNo">470</span>   * Get up to the specified number of versions of each column.<a name="line.470"></a>
-<span class="sourceLineNo">471</span>   * @param maxVersions maximum versions for each column<a name="line.471"></a>
-<span class="sourceLineNo">472</span>   * @return this<a name="line.472"></a>
-<span class="sourceLineNo">473</span>   */<a name="line.473"></a>
-<span class="sourceLineNo">474</span>  public Scan setMaxVersions(int maxVersions) {<a name="line.474"></a>
-<span class="sourceLineNo">475</span>    this.maxVersions = maxVersions;<a name="line.475"></a>
-<span class="sourceLineNo">476</span>    return this;<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>  /**<a name="line.479"></a>
-<span class="sourceLineNo">480</span>   * Set the maximum number of values to return for each call to next()<a name="line.480"></a>
-<span class="sourceLineNo">481</span>   * @param batch the maximum number of values<a name="line.481"></a>
-<span class="sourceLineNo">482</span>   */<a name="line.482"></a>
-<span class="sourceLineNo">483</span>  public Scan setBatch(int batch) {<a name="line.483"></a>
-<span class="sourceLineNo">484</span>    if (this.hasFilter() &amp;&amp; this.filter.hasFilterRow()) {<a name="line.484"></a>
-<span class="sourceLineNo">485</span>      throw new IncompatibleFilterException(<a name="line.485"></a>
-<span class="sourceLineNo">486</span>        "Cannot set batch on a scan using a filter" +<a name="line.486"></a>
-<span class="sourceLineNo">487</span>        " that returns true for filter.hasFilterRow");<a name="line.487"></a>
-<span class="sourceLineNo">488</span>    }<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    this.batch = batch;<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    return this;<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>  /**<a name="line.493"></a>
-<span class="sourceLineNo">494</span>   * Set the maximum number of values to return per row per Column Family<a name="line.494"></a>
-<span class="sourceLineNo">495</span>   * @param limit the maximum number of values returned / row / CF<a name="line.495"></a>
-<span class="sourceLineNo">496</span>   */<a name="line.496"></a>
-<span class="sourceLineNo">497</span>  public Scan setMaxResultsPerColumnFamily(int limit) {<a name="line.497"></a>
-<span class="sourceLineNo">498</span>    this.storeLimit = limit;<a name="line.498"></a>
-<span class="sourceLineNo">499</span>    return this;<a name="line.499"></a>
-<span class="sourceLineNo">500</span>  }<a name="line.500"></a>
-<span class="sourceLineNo">501</span><a name="line.501"></a>
-<span class="sourceLineNo">502</span>  /**<a name="line.502"></a>
-<span class="sourceLineNo">503</span>   * Set offset for the row per Column Family.<a name="line.503"></a>
-<span class="sourceLineNo">504</span>   * @param offset is the number of kvs that will be skipped.<a name="line.504"></a>
-<span class="sourceLineNo">505</span>   */<a name="line.505"></a>
-<span class="sourceLineNo">506</span>  public Scan setRowOffsetPerColumnFamily(int offset) {<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    this.storeOffset = offset;<a name="line.507"></a>
-<span class="sourceLineNo">508</span>    return this;<a name="line.508"></a>
-<span class="sourceLineNo">509</span>  }<a name="line.509"></a>
-<span class="sourceLineNo">510</span><a name="line.510"></a>
-<span class="sourceLineNo">511</span>  /**<a name="line.511"></a>
-<span class="sourceLineNo">512</span>   * Set the number of rows for caching that will be passed to scanners.<a name="line.512"></a>
-<span class="sourceLineNo">513</span>   * If not set, the Configuration setting {@link HConstants#HBASE_CLIENT_SCANNER_CACHING} will<a name="line.513"></a>
-<span class="sourceLineNo">514</span>   * apply.<a name="line.514"></a>
-<span class="sourceLineNo">515</span>   * Higher caching values will enable faster scanners but will use more memory.<a name="line.515"></a>
-<span class="sourceLineNo">516</span>   * @param caching the number of rows for caching<a name="line.516"></a>
-<span class="sourceLineNo">517</span>   */<a name="line.517"></a>
-<span class="sourceLineNo">518</span>  public Scan setCaching(int caching) {<a name="line.518"></a>
-<span class="sourceLineNo">519</span>    this.caching = caching;<a name="line.519"></a>
-<span class="sourceLineNo">520</span>    return this;<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>  /**<a name="line.523"></a>
-<span class="sourceLineNo">524</span>   * @return the maximum result size in bytes. See {@link #setMaxResultSize(long)}<a name="line.524"></a>
-<span class="sourceLineNo">525</span>   */<a name="line.525"></a>
-<span class="sourceLineNo">526</span>  public long getMaxResultSize() {<a name="line.526"></a>
-<span class="sourceLineNo">527</span>    return maxResultSize;<a name="line.527"></a>
-<span class="sourceLineNo">528</span>  }<a name="line.528"></a>
-<span class="sourceLineNo">529</span><a name="line.529"></a>
-<span class="sourceLineNo">530</span>  /**<a name="line.530"></a>
-<span class="sourceLineNo">531</span>   * Set the maximum result size. The default is -1; this means that no specific<a name="line.531"></a>
-<span class="sourceLineNo">532</span>   * maximum result size will be set for this scan, and the global configured<a name="line.532"></a>
-<span class="sourceLineNo">533</span>   * value will be used instead. (Defaults to unlimited).<a name="line.533"></a>
-<span class="sourceLineNo">534</span>   *<a name="line.534"></a>
-<span class="sourceLineNo">535</span>   * @param maxResultSize The maximum result size in bytes.<a name="line.535"></a>
-<span class="sourceLineNo">536</span>   */<a name="line.536"></a>
-<span class="sourceLineNo">537</span>  public Scan setMaxResultSize(long maxResultSize) {<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    this.maxResultSize = maxResultSize;<a name="line.538"></a>
-<span class="sourceLineNo">539</span>    return this;<a name="line.539"></a>
-<span class="sourceLineNo">540</span>  }<a name="line.540"></a>
-<span class="sourceLineNo">541</span><a name="line.541"></a>
-<span class="sourceLineNo">542</span>  @Override<a name="line.542"></a>
-<span class="sourceLineNo">543</span>  public Scan setFilter(Filter filter) {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>    super.setFilter(filter);<a name="line.544"></a>
-<span class="sourceLineNo">545</span>    return this;<a name="line.545"></a>
-<span class="sourceLineNo">546</span>  }<a name="line.546"></a>
-<span class="sourceLineNo">547</span><a name="line.547"></a>
-<span class="sourceLineNo">548</span>  /**<a name="line.548"></a>
-<span class="sourceLineNo">549</span>   * Setting the familyMap<a name="line.549"></a>
-<span class="sourceLineNo">550</span>   * @param familyMap map of family to qualifier<a name="line.550"></a>
-<span class="sourceLineNo">551</span>   * @return this<a name="line.551"></a>
-<span class="sourceLineNo">552</span>   */<a name="line.552"></a>
-<span class="sourceLineNo">553</span>  public Scan setFamilyMap(Map&lt;byte [], NavigableSet&lt;byte []&gt;&gt; familyMap) {<a name="line.553"></a>
-<span class="sourceLineNo">554</span>    this.familyMap = familyMap;<a name="line.554"></a>
-<span class="sourceLineNo">555</span>    return this;<a name="line.555"></a>
-<span class="sourceLineNo">556</span>  }<a name="line.556"></a>
-<span class="sourceLineNo">557</span><a name="line.557"></a>
-<span class="sourceLineNo">558</span>  /**<a name="line.558"></a>
-<span class="sourceLineNo">559</span>   * Getting the familyMap<a name="line.559"></a>
-<span class="sourceLineNo">560</span>   * @return familyMap<a name="line.560"></a>
-<span class="sourceLineNo">561</span>   */<a name="line.561"></a>
-<span class="sourceLineNo">562</span>  public Map&lt;byte [], NavigableSet&lt;byte []&gt;&gt; getFamilyMap() {<a name="line.562"></a>
-<span class="sourceLineNo">563</span>    return this.familyMap;<a name="line.563"></a>
-<span class="sourceLineNo">564</span>  }<a name="line.564"></a>
-<span class="sourceLineNo">565</span><a name="line.565"></a>
-<span class="sourceLineNo">566</span>  /**<a name="line.566"></a>
-<span class="sourceLineNo">567</span>   * @return the number of families in familyMap<a name="line.567"></a>
-<span class="sourceLineNo">568</span>   */<a name="line.568"></a>
-<span class="sourceLineNo">569</span>  public int numFamilies() {<a name="line.569"></a>
-<span class="sourceLineNo">570</span>    if(hasFamilies()) {<a name="line.570"></a>
-<span class="sourceLineNo">571</span>      return this.familyMap.size();<a name="line.571"></a>
-<span class="sourceLineNo">572</span>    }<a name="line.572"></a>
-<span class="sourceLineNo">573</span>    return 0;<a name="line.573"></a>
-<span class="sourceLineNo">574</span>  }<a name="line.574"></a>
-<span class="sourceLineNo">575</span><a name="line.575"></a>
-<span class="sourceLineNo">576</span>  /**<a name="line.576"></a>
-<span class="sourceLineNo">577</span>   * @return true if familyMap is non empty, false otherwise<a name="line.577"></a>
-<span class="sourceLineNo">578</span>   */<a name="line.578"></a>
-<span class="sourceLineNo">579</span>  public boolean hasFamilies() {<a name="line.579"></a>
-<span class="sourceLineNo">580</span>    return !this.familyMap.isEmpty();<a name="line.580"></a>
-<span class="sourceLineNo">581</span>  }<a name="line.581"></a>
-<span class="sourceLineNo">582</span><a name="line.582"></a>
-<span class="sourceLineNo">583</span>  /**<a name="line.583"></a>
-<span class="sourceLineNo">584</span>   * @return the keys of the familyMap<a name="line.584"></a>
-<span class="sourceLineNo">585</span>   */<a name="line.585"></a>
-<span class="sourceLineNo">586</span>  public byte[][] getFamilies() {<a name="line.586"></a>
-<span class="sourceLineNo">587</span>    if(hasFamilies()) {<a name="line.587"></a>
-<span class="sourceLineNo">588</span>      return this.familyMap.keySet().toArray(new byte[0][0]);<a name="line.588"></a>
-<span class="sourceLineNo">589</span>    }<a name="line.589"></a>
-<span class="sourceLineNo">590</span>    return null;<a name="line.590"></a>
-<span class="sourceLineNo">591</span>  }<a name="line.591"></a>
-<span class="sourceLineNo">592</span><a name="line.592"></a>
-<span class="sourceLineNo">593</span>  /**<a name="line.593"></a>
-<span class="sourceLineNo">594</span>   * @return the startrow<a name="line.594"></a>
-<span class="sourceLineNo">595</span>   */<a name="line.595"></a>
-<span class="sourceLineNo">596</span>  public byte [] getStartRow() {<a name="line.596"></a>
-<span class="sourceLineNo">597</span>    return this.startRow;<a name="line.597"></a>
-<span class="sourceLineNo">598</span>  }<a name="line.598"></a>
-<span class="sourceLineNo">599</span><a name="line.599"></a>
-<span class="sourceLineNo">600</span>  /**<a name="line.600"></a>
-<span class="sourceLineNo">601</span>   * @return the stoprow<a name="line.601"></a>
-<span class="sourceLineNo">602</span>   */<a name="line.602"></a>
-<span class="sourceLineNo">603</span>  public byte [] getStopRow() {<a name="line.603"></a>
-<span class="sourceLineNo">604</span>    return this.stopRow;<a name="line.604"></a>
-<span class="sourceLineNo">605</span>  }<a name="line.605"></a>
-<span class="sourceLineNo">606</span><a name="line.606"></a>
-<span class="sourceLineNo">607</span>  /**<a name="line.607"></a>
-<span class="sourceLineNo">608</span>   * @return the max number of versions to fetch<a name="line.608"></a>
-<span class="sourceLineNo">609</span>   */<a name="line.609"></a>
-<span class="sourceLineNo">610</span>  public int getMaxVersions() {<a name="line.610"></a>
-<span class="sourceLineNo">611</span>    return this.maxVersions;<a name="line.611"></a>
-<span class="sourceLineNo">612</span>  }<a name="line.612"></a>
-<span class="sourceLineNo">613</span><a name="line.613"></a>
-<span class="sourceLineNo">614</span>  /**<a name="line.614"></a>
-<span class="sourceLineNo">615</span>   * @return maximum number of values to return for a single call to next()<a name="line.615"></a>
-<span class="sourceLineNo">616</span>   */<a name="line.616"></a>
-<span class="sourceLineNo">617</span>  public int getBatch() {<a name="line.617"></a>
-<span class="sourceLineNo">618</span>    return this.batch;<a name="line.618"></a>
-<span class="sourceLineNo">619</span>  }<a name="line.619"></a>
-<span class="sourceLineNo">620</span><a name="line.620"></a>
-<span class="sourceLineNo">621</span>  /**<a name="line.621"></a>
-<span class="sourceLineNo">622</span>   * @return maximum number of values to return per row per CF<a name="line.622"></a>
-<span class="sourceLineNo">623</span>   */<a name="line.623"></a>
-<span class="sourceLineNo">624</span>  public int getMaxResultsPerColumnFamily() {<a name="line.624"></a>
-<span class="sourceLineNo">625</span>    return this.storeLimit;<a name="line.625"></a>
-<span class="sourceLineNo">626</span>  }<a name="line.626"></a>
-<span class="sourceLineNo">627</span><a name="line.627"></a>
-<span class="sourceLineNo">628</span>  /**<a name="line.628"></a>
-<span class="sourceLineNo">629</span>   * Method for retrieving the scan's offset per row per column<a name="line.629"></a>
-<span class="sourceLineNo">630</span>   * family (#kvs to be skipped)<a name="line.630"></a>
-<span class="sourceLineNo">631</span>   * @return row offset<a name="line.631"></a>
-<span class="sourceLineNo">632</span>   */<a name="line.632"></a>
-<span class="sourceLineNo">633</span>  public int getRowOffsetPerColumnFamily() {<a name="line.633"></a>
-<span class="sourceLineNo">634</span>    return this.storeOffset;<a name="line.634"></a>
-<span class="sourceLineNo">635</span>  }<a name="line.635"></a>
-<span class="sourceLineNo">636</span><a name="line.636"></a>
-<span class="sourceLineNo">637</span>  /**<a name="line.637"></a>
-<span class="sourceLineNo">638</span>   * @return caching the number of rows fetched when calling next on a scanner<a name="line.638"></a>
-<span class="sourceLineNo">639</span>   */<a name="line.639"></a>
-<span class="sourceLineNo">640</span>  public int getCaching() {<a name="line.640"></a>
-<span class="sourceLineNo">641</span>    return this.caching;<a name="line.641"></a>
-<span class="sourceLineNo">642</span>  }<a name="line.642"></a>
-<span class="sourceLineNo">643</span><a name="line.643"></a>
-<span class="sourceLineNo">644</span>  /**<a name="line.644"></a>
-<span class="sourceLineNo">645</span>   * @return TimeRange<a name="line.645"></a>
-<span class="sourceLineNo">646</span>   */<a name="line.646"></a>
-<span class="sourceLineNo">647</span>  public TimeRange getTimeRange() {<a name="line.647"></a>
-<span class="sourceLineNo">648</span>    return this.tr;<a name="line.648"></a>
-<span class="sourceLineNo">649</span>  }<a name="line.649"></a>
-<span class="sourceLineNo">650</span><a name="line.650"></a>
-<span class="sourceLineNo">651</span>  /**<a name="line.651"></a>
-<span class="sourceLineNo">652</span>   * @return RowFilter<a name="line.652"></a>
-<span class="sourceLineNo">653</span>   */<a name="line.653"></a>
-<span class="sourceLineNo">654</span>  @Override<a name="line.654"></a>
-<span class="sourceLineNo">655</span>  public Filter getFilter() {<a name="line.655"></a>
-<span class="sourceLineNo">656</span>    return filter;<a name="line.656"></a>
-<span class="sourceLineNo">657</span>  }<a name="line.657"></a>
-<span class="sourceLineNo">658</span><a name="line.658"></a>
-<span class="sourceLineNo">659</span>  /**<a name="line.659"></a>
-<span class="sourceLineNo">660</span>   * @return true is a filter has been specified, false if not<a name="line.660"></a>
-<span class="sourceLineNo">661</span>   */<a name="line.661"></a>
-<span class="sourceLineNo">662</span>  public boolean hasFilter() {<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    return filter != null;<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>  /**<a name="line.666"></a>
-<span class="sourceLineNo">667</span>   * Set whether blocks should be cached for this Scan.<a name="line.667"></a>
-<span class="sourceLineNo">668</span>   * &lt;p&gt;<a name="line.668"></a>
-<span class="sourceLineNo">669</span>   * This is true by default.  When true, default settings of the table and<a name="line.669"></a>
-<span class="sourceLineNo">670</span>   * family are used (this will never override caching blocks if the block<a name="line.670"></a>
-<span class="sourceLineNo">671</span>   * cache is disabled for that family or entirely).<a name="line.671"></a>
-<span class="sourceLineNo">672</span>   *<a name="line.672"></a>
-<span class="sourceLineNo">673</span>   * @param cacheBlocks if false, default settings are overridden and blocks<a name="line.673"></a>
-<span class="sourceLineNo">674</span>   * will not be cached<a name="line.674"></a>
-<span class="sourceLineNo">675</span>   */<a name="line.675"></a>
-<span class="sourceLineNo">676</span>  public Scan setCacheBlocks(boolean cacheBlocks) {<a name="line.676"></a>
-<span class="sourceLineNo">677</span>    this.cacheBlocks = cacheBlocks;<a name="line.677"></a>
-<span class="sourceLineNo">678</span>    return this;<a name="line.678"></a>
-<span class="sourceLineNo">679</span>  }<a name="line.679"></a>
-<span class="sourceLineNo">680</span><a name="line.680"></a>
-<span class="sourceLineNo">681</span>  /**<a name="line.681"></a>
-<span class="sourceLineNo">682</span>   * Get whether blocks should be cached for this Scan.<a name="line.682"></a>
-<span class="sourceLineNo">683</span>   * @return true if default caching should be used, false if blocks should not<a name="line.683"></a>
-<span class="sourceLineNo">684</span>   * be cached<a name="line.684"></a>
-<span class="sourceLineNo">685</span>   */<a name="line.685"></a>
-<span class="sourceLineNo">686</span>  public boolean getCacheBlocks() {<a name="line.686"></a>
-<span class="sourceLineNo">687</span>    return cacheBlocks;<a name="line.687"></a>
-<span class="sourceLineNo">688</span>  }<a name="line.688"></a>
-<span class="sourceLineNo">689</span><a name="line.689"></a>
-<span class="sourceLineNo">690</span>  /**<a name="line.690"></a>
-<span class="sourceLineNo">691</span>   * Set whether this scan is a reversed one<a name="line.691"></a>
-<span class="sourceLineNo">692</span>   * &lt;p&gt;<a name="line.692"></a>
-<span class="sourceLineNo">693</span>   * This is false by default which means forward(normal) scan.<a name="line.693"></a>
-<span class="sourceLineNo">694</span>   *<a name="line.694"></a>
-<span class="sourceLineNo">695</span>   * @param reversed if true, scan will be backward order<a name="line.695"></a>
-<span class="sourceLineNo">696</span>   * @return this<a name="line.696"></a>
-<span class="sourceLineNo">697</span>   */<a name="line.697"></a>
-<span class="sourceLineNo">698</span>  public Scan setReversed(boolean reversed) {<a name="line.698"></a>
-<span class="sourceLineNo">699</span>    this.reversed = reversed;<a name="line.699"></a>
-<span class="sourceLineNo">700</span>    return this;<a name="line.700"></a>
-<span class="sourceLineNo">701</span>  }<a name="line.701"></a>
-<span class="sourceLineNo">702</span><a name="line.702"></a>
-<span class="sourceLineNo">703</span>  /**<a name="line.703"></a>
-<span class="sourceLineNo">704</span>   * Get whether this scan is a reversed one.<a name="line.704"></a>
-<span class="sourceLineNo">705</span>   * @return true if backward scan, false if forward(default) scan<a name="line.705"></a>
-<span class="sourceLineNo">706</span>   */<a name="line.706"></a>
-<span class="sourceLineNo">707</span>  public boolean isReversed() {<a name="line.707"></a>
-<span class="sourceLineNo">708</span>    return reversed;<a name="line.708"></a>
-<span class="sourceLineNo">709</span>  }<a name="line.709"></a>
-<span class="sourceLineNo">710</span><a name="line.710"></a>
-<span class="sourceLineNo">711</span>  /**<a name="line.711"></a>
-<span class="sourceLineNo">712</span>   * Setting whether the caller wants to see the partial results that may be returned from the<a name="line.712"></a>
-<span class="sourceLineNo">713</span>   * server. By default this value is false and the complete results will be assembled client side<a name="line.713"></a>
-<span class="sourceLineNo">714</span>   * before being delivered to the caller.<a name="line.714"></a>
-<span class="sourceLineNo">715</span>   * @param allowPartialResults<a name="line.715"></a>
-<span class="sourceLineNo">716</span>   * @return this<a name="line.716"></a>
-<span class="sourceLineNo">717</span>   */<a name="line.717"></a>
-<span class="sourceLineNo">718</span>  public Scan setAllowPartialResults(final boolean allowPartialResults) {<a name="line.718"></a>
-<span class="sourceLineNo">719</span>    this.allowPartialResults = allowPartialResults;<a name="line.719"></a>
-<span class="sourceLineNo">720</span>    return this;<a name="line.720"></a>
-<span class="sourceLineNo">721</span>  }<a name="line.721"></a>
-<span class="sourceLineNo">722</span><a name="line.722"></a>
-<span class="sourceLineNo">723</span>  /**<a name="line.723"></a>
-<span class="sourceLineNo">724</span>   * @return true when the constructor of this scan understands that the results they will see may<a name="line.724"></a>
-<span class="sourceLineNo">725</span>   *         only represent a partial portion of a row. The entire row would be retrieved by<a name="line.725"></a>
-<span class="sourceLineNo">726</span>   *         subsequent calls to {@link ResultScanner#next()}<a name="line.726"></a>
-<span class="sourceLineNo">727</span>   */<a name="line.727"></a>
-<span class="sourceLineNo">728</span>  public boolean getAllowPartialResults() {<a name="line.728"></a>
-<span class="sourceLineNo">729</span>    return allowPartialResults;<a name="line.729"></a>
-<span class="sourceLineNo">730</span>  }<a name="line.730"></a>
-<span class="sourceLineNo">731</span><a name="line.731"></a>
-<span class="sourceLineNo">732</span>  /**<a name="line.732"></a>
-<span class="sourceLineNo">733</span>   * Set the value indicating whether loading CFs on demand should be allowed (cluster<a name="line.733"></a>
-<span class="sourceLineNo">734</span>   * default is false). On-demand CF loading doesn't load column families until necessary, e.g.<a name="line.734"></a>
-<span class="sourceLineNo">735</span>   * if you filter on one column, the other column family data will be loaded only for the rows<a name="line.735"></a>
-<span class="sourceLineNo">736</span>   * that are included in result, not all rows like in normal case.<a name="line.736"></a>
-<span class="sourceLineNo">737</span>   * With column-specific filters, like SingleColumnValueFilter w/filterIfMissing == true,<a name="line.737"></a>
-<span class="sourceLineNo">738</span>   * this can deliver huge perf gains when there's a cf with lots of data; however, it can<a name="line.738"></a>
-<span class="sourceLineNo">739</span>   * also lead to some inconsistent results, as follows:<a name="line.739"></a>
-<span class="sourceLineNo">740</span>   * - if someone does a concurrent update to both column families in question you may get a row<a name="line.740"></a>
-<span class="sourceLineNo">741</span>   *   that never existed, e.g. for { rowKey = 5, { cat_videos =&amp;gt; 1 }, { video =&amp;gt; "my cat" } }<a name="line.741"></a>
-<span class="sourceLineNo">742</span>   *   someone puts rowKey 5 with { cat_videos =&amp;gt; 0 }, { video =&amp;gt; "my dog" }, concurrent scan<a name="line.742"></a>
-<span class="sourceLineNo">743</span>   *   filtering on "cat_videos == 1" can get { rowKey = 5, { cat_videos =&amp;gt; 1 },<a name="line.743"></a>
-<span class="sourceLineNo">744</span>   *   { video =&amp;gt; "my dog" } }.<a name="line.744"></a>
-<span class="sourceLineNo">745</span>   * - if there's a concurrent split and you have more than 2 column families, some rows may be<a name="line.745"></a>
-<span class="sourceLineNo">746</span>   *   missing some column families.<a name="line.746"></a>
-<span class="sourceLineNo">747</span>   */<a name="line.747"></a>
-<span class="sourceLineNo">748</span>  public Scan setLoadColumnFamiliesOnDemand(boolean value) {<a name="line.748"></a>
-<span class="sourceLineNo">749</span>    this.loadColumnFamiliesOnDemand = value;<a name="line.749"></a>
-<span class="sourceLineNo">750</span>    return this;<a name="line.750"></a>
-<span class="sourceLineNo">751</span>  }<a name="line.751"></a>
-<span class="sourceLineNo">752</span><a name="line.752"></a>
-<span class="sourceLineNo">753</span>  /**<a name="line.753"></a>
-<span class="sourceLineNo">754</span>   * Get the raw loadColumnFamiliesOnDemand setting; if it's not set, can be null.<a name="line.754"></a>
-<span class="sourceLineNo">755</span>   */<a name="line.755"></a>
-<span class="sourceLineNo">756</span>  public Boolean getLoadColumnFamiliesOnDemandValue() {<a name="line.756"></a>
-<span class="sourceLineNo">757</span>    return this.loadColumnFamiliesOnDemand;<a name="line.757"></a>
-<span class="sourceLineNo">758</span>  }<a name="line.758"></a>
-<span class="sourceLineNo">759</span><a name="line.759"></a>
-<span class="sourceLineNo">760</span>  /**<a name="line.760"></a>
-<span class="sourceLineNo">761</span>   * Get the logical value indicating whether on-demand CF loading should be allowed.<a name="line.761"></a>
-<span class="sourceLineNo">762</span>   */<a name="line.762"></a>
-<span class="sourceLineNo">763</span>  public boolean doLoadColumnFamiliesOnDemand() {<a name="line.763"></a>
-<span class="sourceLineNo">764</span>    return (this.loadColumnFamiliesOnDemand != null)<a name="line.764"></a>
-<span class="sourceLineNo">765</span>      &amp;&amp; this.loadColumnFamiliesOnDemand.booleanValue();<a name="line.765"></a>
-<span class="sourceLineNo">766</span>  }<a name="line.766"></a>
-<span class="sourceLineNo">767</span><a name="line.767"></a>
-<span class="sourceLineNo">768</span>  /**<a name="line.768"></a>
-<span class="sourceLineNo">769</span>   * Compile the table and column family (i.e. schema) information<a name="line.769"></a>
-<span class="sourceLineNo">770</span>   * into a String. Useful for parsing and aggregation by debugging,<a name="line.770"></a>
-<span class="sourceLineNo">771</span>   * logging, and administration tools.<a name="line.771"></a>
-<span class="sourceLineNo">772</span>   * @return Map<a name="line.772"></a>
-<span class="sourceLineNo">773</span>   */<a name="line.773"></a>
-<span class="sourceLineNo">774</span>  @Override<a name="line.774"></a>
-<span class="sourceLineNo">775</span>  public Map&lt;String, Object&gt; getFingerprint() {<a name="line.775"></a>
-<span class="sourceLineNo">776</span>    Map&lt;String, Object&gt; map = new HashMap&lt;String, Object&gt;();<a name="line.776"></a>
-<span class="sourceLineNo">777</span>    List&lt;String&gt; families = new ArrayList&lt;String&gt;();<a name="line.777"></a>
-<span class="sourceLineNo">778</span>    if(this.familyMap.size() == 0) {<a name="line.778"></a>
-<span class="sourceLineNo">779</span>      map.put("families", "ALL");<a name="line.779"></a>
-<span class="sourceLineNo">780</span>      return map;<a name="line.780"></a>
-<span class="sourceLineNo">781</span>    } else {<a name="line.781"></a>
-<span class="sourceLineNo">782</span>      map.put("families", families);<a name="line.782"></a>
-<span class="sourceLineNo">783</span>    }<a name="line.783"></a>
-<span class="sourceLineNo">784</span>    for (Map.Entry&lt;byte [], NavigableSet&lt;byte[]&gt;&gt; entry :<a name="line.784"></a>
-<span class="sourceLineNo">785</span>        this.familyMap.entrySet()) {<a name="line.785"></a>
-<span class="sourceLineNo">786</span>      families.add(Bytes.toStringBinary(entry.getKey()));<a name="line.786"></a>
-<span class="sourceLineNo">787</span>    }<a name="line.787"></a>
-<span class="sourceLineNo">788</span>    return map;<a name="line.788"></a>
-<span class="sourceLineNo">789</span>  }<a name="line.789"></a>
-<span class="sourceLineNo">790</span><a name="line.790"></a>
-<span class="sourceLineNo">791</span>  /**<a name="line.791"></a>
-<span class="sourceLineNo">792</span>   * Compile the details beyond the scope of getFingerprint (row, columns,<a name="line.792"></a>
-<span class="sourceLineNo">793</span>   * timestamps, etc.) into a Map along with the fingerprinted information.<a name="line.793"></a>
-<span class="sourceLineNo">794</span>   * Useful for debugging, logging, and administration tools.<a name="line.794"></a>
-<span class="sourceLineNo">795</span>   * @param maxCols a limit on the number of columns output prior to truncation<a name="line.795"></a>
-<span class="sourceLineNo">796</span>   * @return Map<a name="line.796"></a>
-<span class="sourceLineNo">797</span>   */<a name="line.797"></a>
-<span class="sourceLineNo">798</span>  @Override<a name="line.798"></a>
-<span class="sourceLineNo">799</span>  public Map&lt;String, Object&gt; toMap(int maxCols) {<a name="line.799"></a>
-<span class="sourceLineNo">800</span>    // start with the fingerpring map and build on top of it<a name="line.800"></a>
-<span class="sourceLineNo">801</span>    Map&lt;String, Object&gt; map = getFingerprint();<a name="line.801"></a>
-<span class="sourceLineNo">802</span>    // map from families to column list replaces fingerprint's list of families<a name="line.802"></a>
-<span class="sourceLineNo">803</span>    Map&lt;String, List&lt;String&gt;&gt; familyColumns =<a name="line.803"></a>
-<span class="sourceLineNo">804</span>      new HashMap&lt;String, List&lt;String&gt;&gt;();<a name="line.804"></a>
-<span class="sourceLineNo">805</span>    map.put("families", familyColumns);<a name="line.805"></a>
-<span class="sourceLineNo">806</span>    // add scalar information first<a name="line.806"></a>
-<span class="sourceLineNo">807</span>    map.put("startRow", Bytes.toStringBinary(this.startRow));<a name="line.807"></a>
-<span class="sourceLineNo">808</span>    map.put("stopRow", Bytes.toStringBinary(this.stopRow));<a name="line.808"></a>
-<span class="sourceLineNo">809</span>    map.put("maxVersions", this.maxVersions);<a name="line.809"></a>
-<span class="sourceLineNo">810</span>    map.put("batch", this.batch);<a name="line.810"></a>
-<span class="sourceLineNo">811</span>    map.put("caching", this.caching);<a name="line.811"></a>
-<span class="sourceLineNo">812</span>    map.put("maxResultSize", this.maxResultSize);<a name="line.812"></a>
-<span class="sourceLineNo">813</span>    map.put("cacheBlocks", this.cacheBlocks);<a name="line.813"></a>
-<span class="sourceLineNo">814</span>    map.put("loadColumnFamiliesOnDemand", this.loadColumnFamiliesOnDemand);<a name="line.814"></a>
-<span class="sourceLineNo">815</span>    List&lt;Long&gt; timeRange = new ArrayList&lt;Long&gt;();<a name="line.815"></a>
-<span class="sourceLineNo">816</span>    timeRange.add(this.tr.getMin());<a name="line.816"></a>
-<span class="sourceLineNo">817</span>    timeRange.add(this.tr.getMax());<a name="line.817"></a>
-<span class="sourceLineNo">818</span>    map.put("timeRange", timeRange);<a name="line.818"></a>
-<span class="sourceLineNo">819</span>    int colCount = 0;<a name="line.819"></a>
-<span class="sourceLineNo">820</span>    // iterate through affected families and list out up to maxCols columns<a name="line.820"></a>
-<span class="sourceLineNo">821</span>    for (Map.Entry&lt;byte [], NavigableSet&lt;byte[]&gt;&gt; entry :<a name="line.821"></a>
-<span class="sourceLineNo">822</span>      this.familyMap.entrySet()) {<a name="line.822"></a>
-<span class="sourceLineNo">823</span>      List&lt;String&gt; columns = new ArrayList&lt;String&gt;();<a name="line.823"></a>
-<span class="sourceLineNo">824</span>      familyColumns.put(Bytes.toStringBinary(entry.getKey()), columns);<a name="line.824"></a>
-<span class="sourceLineNo">825</span>      if(entry.getValue() == null) {<a name="line.825"></a>
-<span class="sourceLineNo">826</span>        colCount++;<a name="line.826"></a>
-<span class="sourceLineNo">827</span>        --maxCols;<a name="line.827"></a>
-<span class="sourceLineNo">828</span>        columns.add("ALL");<a name="line.828"></a>
-<span class="sourceLineNo">829</span>      } else {<a name="line.829"></a>
-<span class="sourceLineNo">830</span>        colCount += entry.getValue().size();<a name="line.830"></a>
-<span class="sourceLineNo">831</span>        if (maxCols &lt;= 0) {<a name="line.831"></a>
-<span class="sourceLineNo">832</span>          continue;<a name="line.832"></a>
-<span class="sourceLineNo">833</span>        }<a name="line.833"></a>
-<span class="sourceLineNo">834</span>        for (byte [] column : entry.getValue()) {<a name="line.834"></a>
-<span class="sourceLineNo">835</span>          if (--maxCols &lt;= 0) {<a name="line.835"></a>
-<span class="sourceLineNo">836</span>            continue;<a name="line.836"></a>
-<span class="sourceLineNo">837</span>          }<a name="line.837"></a>
-<span class="sourceLineNo">838</span>          columns.add(Bytes.toStringBinary(column));<a name="line.838"></a>
-<span class="sourceLineNo">839</span>        }<a name="line.839"></a>
-<span class="sourceLineNo">840</span>      }<a name="line.840"></a>
-<span class="sourceLineNo">841</span>    }<a name="line.841"></a>
-<span class="sourceLineNo">842</span>    map.put("totalColumns", colCount);<a name="line.842"></a>
-<span class="sourceLineNo">843</span>    if (this.filter != null) {<a name="line.843"></a>
-<span class="sourceLineNo">844</span>      map.put("filter", this.filter.toString());<a name="line.844"></a>
-<span class="sourceLineNo">845</span>    }<a name="line.845"></a>
-<span class="sourceLineNo">846</span>    // add the id if set<a name="line.846"></a>
-<span class="sourceLineNo">847</span>    if (getId() != null) {<a name="line.847"></a>
-<span class="sourceLineNo">848</span>      map.put("id", getId());<a name="line.848"></a>
-<span class="sourceLineNo">849</span>    }<a name="line.849"></a>
-<span class="sourceLineNo">850</span>    return map;<a name="line.850"></a>
-<span class="sourceLineNo">851</span>  }<a name="line.851"></a>
-<span class="sourceLineNo">852</span><a name="line.852"></a>
-<span class="sourceLineNo">853</span>  /**<a name="line.853"></a>
-<span class="sourceLineNo">854</span>   * Enable/disable "raw" mode for this scan.<a name="line.854"></a>
-<span class="sourceLineNo">855</span>   * If "raw" is enabled the scan will return all<a name="line.855"></a>
-<span class="sourceLineNo">856</span>   * delete marker and deleted rows that have not<a name="line.856"></a>
-<span class="sourceLineNo">857</span>   * been collected, yet.<a name="line.857"></a>
-<span class="sourceLineNo">858</span>   * This is mostly useful for Scan on column families<a name="line.858"></a>
-<span class="sourceLineNo">859</span>   * that have KEEP_DELETED_ROWS enabled.<a name="line.859"></a>
-<span class="sourceLineNo">860</span>   * It is an error to specify any column when "raw" is set.<a name="line.860"></a>
-<span class="sourceLineNo">861</span>   * @param raw True/False to enable/disable "raw" mode.<a name="line.861"></a>
-<span class="sourceLineNo">862</span>   */<a name="line.862"></a>
-<span class="sourceLineNo">863</span>  public Scan setRaw(boolean raw) {<a name="line.863"></a>
-<span class="sourceLineNo">864</span>    setAttribute(RAW_ATTR, Bytes.toBytes(raw));<a name="line.864"></a>
-<span class="sourceLineNo">865</span>    return this;<a name="line.865"></a>
-<span class="sourceLineNo">866</span>  }<a name="line.866"></a>
-<span class="sourceLineNo">867</span><a name="line.867"></a>
-<span class="sourceLineNo">868</span>  /**<a name="line.868"></a>
-<span class="sourceLineNo">869</span>   * @return True if this Scan is in "raw" mode.<a name="line.869"></a>
-<span class="sourceLineNo">870</span>   */<a name="line.870"></a>
-<span class="sourceLineNo">871</span>  public boolean isRaw() {<a name="line.871"></a>
-<span class="sourceLineNo">872</span>    byte[] attr = getAttribute(RAW_ATTR);<a name="line.872"></a>
-<span class="sourceLineNo">873</span>    return attr == null ? false : Bytes.toBoolean(attr);<a name="line.873"></a>
-<span class="sourceLineNo">874</span>  }<a name="line.874"></a>
-<span class="sourceLineNo">875</span><a name="line.875"></a>
-<span class="sourceLineNo">876</span><a name="line.876"></a>
+<span class="sourceLineNo">230</span>    this.setIsolationLevel(scan.getIsolationLevel());<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    reversed = scan.isReversed();<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    asyncPrefetch = scan.isAsyncPrefetch();<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    small = scan.isSmall();<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    allowPartialResults = scan.getAllowPartialResults();<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    TimeRange ctr = scan.getTimeRange();<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    tr = new TimeRange(ctr.getMin(), ctr.getMax());<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    Map&lt;byte[], NavigableSet&lt;byte[]&gt;&gt; fams = scan.getFamilyMap();<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    for (Map.Entry&lt;byte[],NavigableSet&lt;byte[]&gt;&gt; entry : fams.entrySet()) {<a name="line.238"></a>
+<span class="sourceLineNo">239</span>      byte [] fam = entry.getKey();<a name="line.239"></a>
+<span class="sourceLineNo">240</span>      NavigableSet&lt;byte[]&gt; cols = entry.getValue();<a name="line.240"></a>
+<span class="sourceLineNo">241</span>      if (cols != null &amp;&amp; cols.size() &gt; 0) {<a name="line.241"></a>
+<span class="sourceLineNo">242</span>        for (byte[] col : cols) {<a name="line.242"></a>
+<span class="sourceLineNo">243</span>          addColumn(fam, col);<a name="line.243"></a>
+<span class="sourceLineNo">244</span>        }<a name="line.244"></a>
+<span class="sourceLineNo">245</span>      } else {<a name="line.245"></a>
+<span class="sourceLineNo">246</span>        addFamily(fam);<a name="line.246"></a>
+<span class="sourceLineNo">247</span>      }<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    }<a name="line.248"></a>
+<span class="sourceLineNo">249</span>    for (Map.Entry&lt;String, byte[]&gt; attr : scan.getAttributesMap().entrySet()) {<a name="line.249"></a>
+<span class="sourceLineNo">250</span>      setAttribute(attr.getKey(), attr.getValue());<a name="line.250"></a>
+<span class="sourceLineNo">251</span>    }<a name="line.251"></a>
+<span class="sourceLineNo">252</span>    for (Map.Entry&lt;byte[], TimeRange&gt; entry : scan.getColumnFamilyTimeRange().entrySet()) {<a name="line.252"></a>
+<span class="sourceLineNo">253</span>      TimeRange tr = entry.getValue();<a name="line.253"></a>
+<span class="sourceLineNo">254</span>      setColumnFamilyTimeRange(entry.getKey(), tr.getMin(), tr.getMax());<a name="line.254"></a>
+<span class="sourceLineNo">255</span>    }<a name="line.255"></a>
+<span class="sourceLineNo">256</span>  }<a name="line.256"></a>
+<span class="sourceLineNo">257</span><a name="line.257"></a>
+<span class="sourceLineNo">258</span>  /**<a name="line.258"></a>
+<span class="sourceLineNo">259</span>   * Builds a scan object with the same specs as get.<a name="line.259"></a>
+<span class="sourceLineNo">260</span>   * @param get get to model scan after<a name="line.260"></a>
+<span class="sourceLineNo">261</span>   */<a name="line.261"></a>
+<span class="sourceLineNo">262</span>  public Scan(Get get) {<a name="line.262"></a>
+<span class="sourceLineNo">263</span>    this.startRow = get.getRow();<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    this.stopRow = get.getRow();<a name="line.264"></a>
+<span class="sourceLineNo">265</span>    this.filter = get.getFilter();<a name="line.265"></a>
+<span class="sourceLineNo">266</span>    this.cacheBlocks = get.getCacheBlocks();<a name="line.266"></a>
+<span class="sourceLineNo">267</span>    this.maxVersions = get.getMaxVersions();<a name="line.267"></a>
+<span class="sourceLineNo">268</span>    this.storeLimit = get.getMaxResultsPerColumnFamily();<a name="line.268"></a>
+<span class="sourceLineNo">269</span>    this.storeOffset = get.getRowOffsetPerColumnFamily();<a name="line.269"></a>
+<span class="sourceLineNo">270</span>    this.tr = get.getTimeRange();<a name="line.270"></a>
+<span class="sourceLineNo">271</span>    this.familyMap = get.getFamilyMap();<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    this.getScan = true;<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    this.asyncPrefetch = false;<a name="line.273"></a>
+<span class="sourceLineNo">274</span>    this.consistency = get.getConsistency();<a name="line.274"></a>
+<span class="sourceLineNo">275</span>    this.setIsolationLevel(get.getIsolationLevel());<a name="line.275"></a>
+<span class="sourceLineNo">276</span>    for (Map.Entry&lt;String, byte[]&gt; attr : get.getAttributesMap().entrySet()) {<a name="line.276"></a>
+<span class="sourceLineNo">277</span>      setAttribute(attr.getKey(), attr.getValue());<a name="line.277"></a>
+<span class="sourceLineNo">278</span>    }<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    for (Map.Entry&lt;byte[], TimeRange&gt; entry : get.getColumnFamilyTimeRange().entrySet()) {<a name="line.279"></a>
+<span class="sourceLineNo">280</span>      TimeRange tr = entry.getValue();<a name="line.280"></a>
+<span class="sourceLineNo">281</span>      setColumnFamilyTimeRange(entry.getKey(), tr.getMin(), tr.getMax());<a name="line.281"></a>
+<span class="sourceLineNo">282</span>    }<a name="line.282"></a>
+<span class="sourceLineNo">283</span>  }<a name="line.283"></a>
+<span class="sourceLineNo">284</span><a name="line.284"></a>
+<span class="sourceLineNo">285</span>  public boolean isGetScan() {<a name="line.285"></a>
+<span class="sourceLineNo">286</span>    return this.getScan || isStartRowAndEqualsStopRow();<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>  private boolean isStartRowAndEqualsStopRow() {<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    return this.startRow != null &amp;&amp; this.startRow.length &gt; 0 &amp;&amp;<a name="line.290"></a>
+<span class="sourceLineNo">291</span>        Bytes.equals(this.startRow, this.stopRow);<a name="line.291"></a>
+<span class="sourceLineNo">292</span>  }<a name="line.292"></a>
+<span class="sourceLineNo">293</span>  /**<a name="line.293"></a>
+<span class="sourceLineNo">294</span>   * Get all columns from the specified family.<a name="line.294"></a>
+<span class="sourceLineNo">295</span>   * &lt;p&gt;<a name="line.295"></a>
+<span class="sourceLineNo">296</span>   * Overrides previous calls to addColumn for this family.<a name="line.296"></a>
+<span class="sourceLineNo">297</span>   * @param family family name<a name="line.297"></a>
+<span class="sourceLineNo">298</span>   * @return this<a name="line.298"></a>
+<span class="sourceLineNo">299</span>   */<a name="line.299"></a>
+<span class="sourceLineNo">300</span>  public Scan addFamily(byte [] family) {<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    familyMap.remove(family);<a name="line.301"></a>
+<span class="sourceLineNo">302</span>    familyMap.put(family, null);<a name="line.302"></a>
+<span class="sourceLineNo">303</span>    return this;<a name="line.303"></a>
+<span class="sourceLineNo">304</span>  }<a name="line.304"></a>
+<span class="sourceLineNo">305</span><a name="line.305"></a>
+<span class="sourceLineNo">306</span>  /**<a name="line.306"></a>
+<span class="sourceLineNo">307</span>   * Get the column from the specified family with the specified qualifier.<a name="line.307"></a>
+<span class="sourceLineNo">308</span>   * &lt;p&gt;<a name="line.308"></a>
+<span class="sourceLineNo">309</span>   * Overrides previous calls to addFamily for this family.<a name="line.309"></a>
+<span class="sourceLineNo">310</span>   * @param family family name<a name="line.310"></a>
+<span class="sourceLineNo">311</span>   * @param qualifier column qualifier<a name="line.311"></a>
+<span class="sourceLineNo">312</span>   * @return this<a name="line.312"></a>
+<span class="sourceLineNo">313</span>   */<a name="line.313"></a>
+<span class="sourceLineNo">314</span>  public Scan addColumn(byte [] family, byte [] qualifier) {<a name="line.314"></a>
+<span class="sourceLineNo">315</span>    NavigableSet&lt;byte []&gt; set = familyMap.get(family);<a name="line.315"></a>
+<span class="sourceLineNo">316</span>    if(set == null) {<a name="line.316"></a>
+<span class="sourceLineNo">317</span>      set = new TreeSet&lt;byte []&gt;(Bytes.BYTES_COMPARATOR);<a name="line.317"></a>
+<span class="sourceLineNo">318</span>    }<a name="line.318"></a>
+<span class="sourceLineNo">319</span>    if (qualifier == null) {<a name="line.319"></a>
+<span class="sourceLineNo">320</span>      qualifier = HConstants.EMPTY_BYTE_ARRAY;<a name="line.320"></a>
+<span class="sourceLineNo">321</span>    }<a name="line.321"></a>
+<span class="sourceLineNo">322</span>    set.add(qualifier);<a name="line.322"></a>
+<span class="sourceLineNo">323</span>    familyMap.put(family, set);<a name="line.323"></a>
+<span class="sourceLineNo">324</span>    return this;<a name="line.324"></a>
+<span class="sourceLineNo">325</span>  }<a name="line.325"></a>
+<span class="sourceLineNo">326</span><a name="line.326"></a>
+<span class="sourceLineNo">327</span>  /**<a name="line.327"></a>
+<span class="sourceLineNo">328</span>   * Get versions of columns only within the specified timestamp range,<a name="line.328"></a>
+<span class="sourceLineNo">329</span>   * [minStamp, maxStamp).  Note, default maximum versions to return is 1.  If<a name="line.329"></a>
+<span class="sourceLineNo">330</span>   * your time range spans more than one version and you want all versions<a name="line.330"></a>
+<span class="sourceLineNo">331</span>   * returned, up the number of versions beyond the default.<a name="line.331"></a>
+<span class="sourceLineNo">332</span>   * @param minStamp minimum timestamp value, inclusive<a name="line.332"></a>
+<span class="sourceLineNo">333</span>   * @param maxStamp maximum timestamp value, exclusive<a name="line.333"></a>
+<span class="sourceLineNo">334</span>   * @see #setMaxVersions()<a name="line.334"></a>
+<span class="sourceLineNo">335</span>   * @see #setMaxVersions(int)<a name="line.335"></a>
+<span class="sourceLineNo">336</span>   * @return this<a name="line.336"></a>
+<span class="sourceLineNo">337</span>   */<a name="line.337"></a>
+<span class="sourceLineNo">338</span>  public Scan setTimeRange(long minStamp, long maxStamp) throws IOException {<a name="line.338"></a>
+<span class="sourceLineNo">339</span>    tr = new TimeRange(minStamp, maxStamp);<a name="line.339"></a>
+<span class="sourceLineNo">340</span>    return this;<a name="line.340"></a>
+<span class="sourceLineNo">341</span>  }<a name="line.341"></a>
+<span class="sourceLineNo">342</span><a name="line.342"></a>
+<span class="sourceLineNo">343</span>  /**<a name="line.343"></a>
+<span class="sourceLineNo">344</span>   * Get versions of columns with the specified timestamp. Note, default maximum<a name="line.344"></a>
+<span class="sourceLineNo">345</span>   * versions to return is 1.  If your time range spans more than one version<a name="line.345"></a>
+<span class="sourceLineNo">346</span>   * and you want all versions returned, up the number of versions beyond the<a name="line.346"></a>
+<span class="sourceLineNo">347</span>   * defaut.<a name="line.347"></a>
+<span class="sourceLineNo">348</span>   * @param timestamp version timestamp<a name="line.348"></a>
+<span class="sourceLineNo">349</span>   * @see #setMaxVersions()<a name="line.349"></a>
+<span class="sourceLineNo">350</span>   * @see #setMaxVersions(int)<a name="line.350"></a>
+<span class="sourceLineNo">351</span>   * @return this<a name="line.351"></a>
+<span class="sourceLineNo">352</span>   */<a name="line.352"></a>
+<span class="sourceLineNo">353</span>  public Scan setTimeStamp(long timestamp)<a name="line.353"></a>
+<span class="sourceLineNo">354</span>  throws IOException {<a name="line.354"></a>
+<span class="sourceLineNo">355</span>    try {<a name="line.355"></a>
+<span class="sourceLineNo">356</span>      tr = new TimeRange(timestamp, timestamp+1);<a name="line.356"></a>
+<span class="sourceLineNo">357</span>    } catch(Exception e) {<a name="line.357"></a>
+<span class="sourceLineNo">358</span>      // This should never happen, unless integer overflow or something extremely wrong...<a name="line.358"></a>
+<span class="sourceLineNo">359</span>      LOG.error("TimeRange failed, likely caused by integer overflow. ", e);<a name="line.359"></a>
+<span class="sourceLineNo">360</span>      throw e;<a name="line.360"></a>
+<span class="sourceLineNo">361</span>    }<a name="line.361"></a>
+<span class="sourceLineNo">362</span>    return this;<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 public Scan setColumnFamilyTimeRange(byte[] cf, long minStamp, long maxStamp) {<a name="line.365"></a>
+<span class="sourceLineNo">366</span>    return (Scan) super.setColumnFamilyTimeRange(cf, minStamp, maxStamp);<a name="line.366"></a>
+<span class="sourceLineNo">367</span>  }<a name="line.367"></a>
+<span class="sourceLineNo">368</span><a name="line.368"></a>
+<span class="sourceLineNo">369</span>  /**<a name="line.369"></a>
+<span class="sourceLineNo">370</span>   * Set the start row of the scan.<a name="line.370"></a>
+<span class="sourceLineNo">371</span>   * &lt;p&gt;<a name="line.371"></a>
+<span class="sourceLineNo">372</span>   * If the specified row does not exist, the Scanner will start from the<a name="line.372"></a>
+<span class="sourceLineNo">373</span>   * next closest row after the specified row.<a name="line.373"></a>
+<span class="sourceLineNo">374</span>   * @param startRow row to start scanner at or after<a name="line.374"></a>
+<span class="sourceLineNo">375</span>   * @return this<a name="line.375"></a>
+<span class="sourceLineNo">376</span>   */<a name="line.376"></a>
+<span class="sourceLineNo">377</span>  public Scan setStartRow(byte [] startRow) {<a name="line.377"></a>
+<span class="sourceLineNo">378</span>    this.startRow = startRow;<a name="line.378"></a>
+<span class="sourceLineNo">379</span>    return this;<a name="line.379"></a>
+<span class="sourceLineNo">380</span>  }<a name="line.380"></a>
+<span class="sourceLineNo">381</span><a name="line.381"></a>
+<span class="sourceLineNo">382</span>  /**<a name="line.382"></a>
+<span class="sourceLineNo">383</span>   * Set the stop row of the scan.<a name="line.383"></a>
+<span class="sourceLineNo">384</span>   * @param stopRow row to end at (exclusive)<a name="line.384"></a>
+<span class="sourceLineNo">385</span>   * &lt;p&gt;<a name="line.385"></a>
+<span class="sourceLineNo">386</span>   * The scan will include rows that are lexicographically less than<a name="line.386"></a>
+<span class="sourceLineNo">387</span>   * the provided stopRow.<a name="line.387"></a>
+<span class="sourceLineNo">388</span>   * &lt;p&gt;&lt;b&gt;Note:&lt;/b&gt; When doing a filter for a rowKey &lt;u&gt;Prefix&lt;/u&gt;<a name="line.388"></a>
+<span class="sourceLineNo">389</span>   * use {@link #setRowPrefixFilter(byte[])}.<a name="line.389"></a>
+<span class="sourceLineNo">390</span>   * The 'trailing 0' will not yield the desired result.&lt;/p&gt;<a name="line.390"></a>
+<span class="sourceLineNo">391</span>   * @return this<a name="line.391"></a>
+<span class="sourceLineNo">392</span>   */<a name="line.392"></a>
+<span class="sourceLineNo">393</span>  public Scan setStopRow(byte [] stopRow) {<a name="line.393"></a>
+<span class="sourceLineNo">394</span>    this.stopRow = stopRow;<a name="line.394"></a>
+<span class="sourceLineNo">395</span>    return this;<a name="line.395"></a>
+<span class="sourceLineNo">396</span>  }<a name="line.396"></a>
+<span class="sourceLineNo">397</span><a name="line.397"></a>
+<span class="sourceLineNo">398</span>  /**<a name="line.398"></a>
+<span class="sourceLineNo">399</span>   * &lt;p&gt;Set a filter (using stopRow and startRow) so the result set only contains rows where the<a name="line.399"></a>
+<span class="sourceLineNo">400</span>   * rowKey starts with the specified prefix.&lt;/p&gt;<a name="line.400"></a>
+<span class="sourceLineNo">401</span>   * &lt;p&gt;This is a utility method that converts the desired rowPrefix into the appropriate values<a name="line.401"></a>
+<span class="sourceLineNo">402</span>   * for the startRow and stopRow to achieve the desired result.&lt;/p&gt;<a name="line.402"></a>
+<span class="sourceLineNo">403</span>   * &lt;p&gt;This can safely be used in combination with setFilter.&lt;/p&gt;<a name="line.403"></a>
+<span class="sourceLineNo">404</span>   * &lt;p&gt;&lt;b&gt;NOTE: Doing a {@link #setStartRow(byte[])} and/or {@link #setStopRow(byte[])}<a name="line.404"></a>
+<span class="sourceLineNo">405</span>   * after this method will yield undefined results.&lt;/b&gt;&lt;/p&gt;<a name="line.405"></a>
+<span class="sourceLineNo">406</span>   * @param rowPrefix the prefix all rows must start with. (Set &lt;i&gt;null&lt;/i&gt; to remove the filter.)<a name="line.406"></a>
+<span class="sourceLineNo">407</span>   * @return this<a name="line.407"></a>
+<span class="sourceLineNo">408</span>   */<a name="line.408"></a>
+<span class="sourceLineNo">409</span>  public Scan setRowPrefixFilter(byte[] rowPrefix) {<a name="line.409"></a>
+<span class="sourceLineNo">410</span>    if (rowPrefix == null) {<a name="line.410"></a>
+<span class="sourceLineNo">411</span>      setStartRow(HConstants.EMPTY_START_ROW);<a name="line.411"></a>
+<span class="sourceLineNo">412</span>      setStopRow(HConstants.EMPTY_END_ROW);<a name="line.412"></a>
+<span class="sourceLineNo">413</span>    } else {<a name="line.413"></a>
+<span class="sourceLineNo">414</span>      this.setStartRow(rowPrefix);<a name="line.414"></a>
+<span class="sourceLineNo">415</span>      this.setStopRow(calculateTheClosestNextRowKeyForPrefix(rowPrefix));<a name="line.415"></a>
+<span class="sourceLineNo">416</span>    }<a name="line.416"></a>
+<span class="sourceLineNo">417</span>    return this;<a name="line.417"></a>
+<span class="sourceLineNo">418</span>  }<a name="line.418"></a>
+<span class="sourceLineNo">419</span><a name="line.419"></a>
+<span class="sourceLineNo">420</span>  /**<a name="line.420"></a>
+<span class="sourceLineNo">421</span>   * &lt;p&gt;When scanning for a prefix the scan should stop immediately after the the last row that<a name="line.421"></a>
+<span class="sourceLineNo">422</span>   * has the specified prefix. This method calculates the closest next rowKey immediately following<a name="line.422"></a>
+<span class="sourceLineNo">423</span>   * the given rowKeyPrefix.&lt;/p&gt;<a name="line.423"></a>
+<span class="sourceLineNo">424</span>   * &lt;p&gt;&lt;b&gt;IMPORTANT: This converts a rowKey&lt;u&gt;Prefix&lt;/u&gt; into a rowKey&lt;/b&gt;.&lt;/p&gt;<a name="line.424"></a>
+<span class="sourceLineNo">425</span>   * &lt;p&gt;If the prefix is an 'ASCII' string put into a byte[] then this is easy because you can<a name="line.425"></a>
+<span class="sourceLineNo">426</span>   * simply increment the last byte of the array.<a name="line.426"></a>
+<span class="sourceLineNo">427</span>   * But if your application uses real binary rowids you may run into the scenario that your<a name="line.427"></a>
+<span class="sourceLineNo">428</span>   * prefix is something like:&lt;/p&gt;<a name="line.428"></a>
+<span class="sourceLineNo">429</span>   * &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;{ 0x12, 0x23, 0xFF, 0xFF }&lt;/b&gt;&lt;br/&gt;<a name="line.429"></a>
+<span class="sourceLineNo">430</span>   * Then this stopRow needs to be fed into the actual scan&lt;br/&gt;<a name="line.430"></a>
+<span class="sourceLineNo">431</span>   * &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;{ 0x12, 0x24 }&lt;/b&gt; (Notice that it is shorter now)&lt;br/&gt;<a name="line.431"></a>
+<span class="sourceLineNo">432</span>   * This method calculates the correct stop row value for this usecase.<a name="line.432"></a>
+<span class="sourceLineNo">433</span>   *<a name="line.433"></a>
+<span class="sourceLineNo">434</span>   * @param rowKeyPrefix the rowKey&lt;u&gt;Prefix&lt;/u&gt;.<a name="line.434"></a>
+<span class="sourceLineNo">435</span>   * @return the closest next rowKey immediately following the given rowKeyPrefix.<a name="line.435"></a>
+<span class="sourceLineNo">436</span>   */<a name="line.436"></a>
+<span class="sourceLineNo">437</span>  private byte[] calculateTheClosestNextRowKeyForPrefix(byte[] rowKeyPrefix) {<a name="line.437"></a>
+<span class="sourceLineNo">438</span>    // Essentially we are treating it like an 'unsigned very very long' and doing +1 manually.<a name="line.438"></a>
+<span class="sourceLineNo">439</span>    // Search for the place where the trailing 0xFFs start<a name="line.439"></a>
+<span class="sourceLineNo">440</span>    int offset = rowKeyPrefix.length;<a name="line.440"></a>
+<span class="sourceLineNo">441</span>    while (offset &gt; 0) {<a name="line.441"></a>
+<span class="sourceLineNo">442</span>      if (rowKeyPrefix[offset - 1] != (byte) 0xFF) {<a name="line.442"></a>
+<span class="sourceLineNo">443</span>        break;<a name="line.443"></a>
+<span class="sourceLineNo">444</span>      }<a name="line.444"></a>
+<span class="sourceLineNo">445</span>      offset--;<a name="line.445"></a>
+<span class="sourceLineNo">446</span>    }<a name="line.446"></a>
+<span class="sourceLineNo">447</span><a name="line.447"></a>
+<span class="sourceLineNo">448</span>    if (offset == 0) {<a name="line.448"></a>
+<span class="sourceLineNo">449</span>      // We got an 0xFFFF... (only FFs) stopRow value which is<a name="line.449"></a>
+<span class="sourceLineNo">450</span>      // the last possible prefix before the end of the table.<a name="line.450"></a>
+<span class="sourceLineNo">451</span>      // So set it to stop at the 'end of the table'<a name="line.451"></a>
+<span class="sourceLineNo">452</span>      return HConstants.EMPTY_END_ROW;<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>    // Copy the right length of the original<a name="line.455"></a>
+<span class="sourceLineNo">456</span>    byte[] newStopRow = Arrays.copyOfRange(rowKeyPrefix, 0, offset);<a name="line.456"></a>
+<span class="sourceLineNo">457</span>    // And increment the last one<a name="line.457"></a>
+<span class="sourceLineNo">458</span>    newStopRow[newStopRow.length - 1]++;<a name="line.458"></a>
+<span class="sourceLineNo">459</span>    return newStopRow;<a name="line.459"></a>
+<span class="sourceLineNo">460</span>  }<a name="line.460"></a>
+<span class="sourceLineNo">461</span><a name="line.461"></a>
+<span class="sourceLineNo">462</span>  /**<a name="line.462"></a>
+<span class="sourceLineNo">463</span>   * Get all available versions.<a name="line.463"></a>
+<span class="sourceLineNo">464</span>   * @return this<a name="line.464"></a>
+<span class="sourceLineNo">465</span>   */<a name="line.465"></a>
+<span class="sourceLineNo">466</span>  public Scan setMaxVersions() {<a name="line.466"></a>
+<span class="sourceLineNo">467</span>    this.maxVersions = Integer.MAX_VALUE;<a name="line.467"></a>
+<span class="sourceLineNo">468</span>    return this;<a name="line.468"></a>
+<span class="sourceLineNo">469</span>  }<a name="line.469"></a>
+<span class="sourceLineNo">470</span><a name="line.470"></a>
+<span class="sourceLineNo">471</span>  /**<a name="line.471"></a>
+<span class="sourceLineNo">472</span>   * Get up to the specified number of versions of each column.<a name="line.472"></a>
+<span class="sourceLineNo">473</span>   * @param maxVersions maximum versions for each column<a name="line.473"></a>
+<span class="sourceLineNo">474</span>   * @return this<a name="line.474"></a>
+<span class="sourceLineNo">475</span>   */<a name="line.475"></a>
+<span class="sourceLineNo">476</span>  public Scan setMaxVersions(int maxVersions) {<a name="line.476"></a>
+<span class="sourceLineNo">477</span>    this.maxVersions = maxVersions;<a name="line.477"></a>
+<span class="sourceLineNo">478</span>    return this;<a name="line.478"></a>
+<span class="sourceLineNo">479</span>  }<a name="line.479"></a>
+<span class="sourceLineNo">480</span><a name="line.480"></a>
+<span class="sourceLineNo">481</span>  /**<a name="line.481"></a>
+<span class="sourceLineNo">482</span>   * Set the maximum number of values to return for each call to next()<a name="line.482"></a>
+<span class="sourceLineNo">483</span>   * @param batch the maximum number of values<a name="line.483"></a>
+<span class="sourceLineNo">484</span>   */<a name="line.484"></a>
+<span class="sourceLineNo">485</span>  public Scan setBatch(int batch) {<a name="line.485"></a>
+<span class="sourceLineNo">486</span>    if (this.hasFilter() &amp;&amp; this.filter.hasFilterRow()) {<a name="line.486"></a>
+<span class="sourceLineNo">487</span>      throw new IncompatibleFilterException(<a name="line.487"></a>
+<span class="sourceLineNo">488</span>        "Cannot set batch on a scan using a filter" +<a name="line.488"></a>
+<span class="sourceLineNo">489</span>        " that returns true for filter.hasFilterRow");<a name="line.489"></a>
+<span class="sourceLineNo">490</span>    }<a name="line.490"></a>
+<span class="sourceLineNo">491</span>    this.batch = batch;<a name="line.491"></a>
+<span class="sourceLineNo">492</span>    return this;<a name="line.492"></a>
+<span class="sourceLineNo">493</span>  }<a name="line.493"></a>
+<span class="sourceLineNo">494</span><a name="line.494"></a>
+<span class="sourceLineNo">495</span>  /**<a name="line.495"></a>
+<span class="sourceLineNo">496</span>   * Set the maximum number of values to return per row per Column Family<a name="line.496"></a>
+<span class="sourceLineNo">497</span>   * @param limit the maximum number of values returned / row / CF<a name="line.497"></a>
+<span class="sourceLineNo">498</span>   */<a name="line.498"></a>
+<span class="sourceLineNo">499</span>  public Scan setMaxResultsPerColumnFamily(int limit) {<a name="line.499"></a>
+<span class="sourceLineNo">500</span>    this.storeLimit = limit;<a name="line.500"></a>
+<span class="sourceLineNo">501</span>    return this;<a name="line.501"></a>
+<span class="sourceLineNo">502</span>  }<a name="line.502"></a>
+<span class="sourceLineNo">503</span><a name="line.503"></a>
+<span class="sourceLineNo">504</span>  /**<a name="line.504"></a>
+<span class="sourceLineNo">505</span>   * Set offset for the row per Column Family.<a name="line.505"></a>
+<span class="sourceLineNo">506</span>   * @param offset is the number of kvs that will be skipped.<a name="line.506"></a>
+<span class="sourceLineNo">507</span>   */<a name="line.507"></a>
+<span class="sourceLineNo">508</span>  public Scan setRowOffsetPerColumnFamily(int offset) {<a name="line.508"></a>
+<span class="sourceLineNo">509</span>    this.storeOffset = offset;<a name="line.509"></a>
+<span class="sourceLineNo">510</span>    return this;<a name="line.510"></a>
+<span class="sourceLineNo">511</span>  }<a name="line.511"></a>
+<span class="sourceLineNo">512</span><a name="line.512"></a>
+<span class="sourceLineNo">513</span>  /**<a name="line.513"></a>
+<span class="sourceLineNo">514</span>   * Set the number of rows for caching that will be passed to scanners.<a name="line.514"></a>
+<span class="sourceLineNo">515</span>   * If not set, the Configuration setting {@link HConstants#HBASE_CLIENT_SCANNER_CACHING} will<a name="line.515"></a>
+<span class="sourceLineNo">516</span>   * apply.<a name="line.516"></a>
+<span class="sourceLineNo">517</span>   * Higher caching values will enable faster scanners but will use more memory.<a name="line.517"></a>
+<span class="sourceLineNo">518</span>   * @param caching the numbe

<TRUNCATED>

[41/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/deprecated-list.html
----------------------------------------------------------------------
diff --git a/devapidocs/deprecated-list.html b/devapidocs/deprecated-list.html
index 0eec2ae..639e5f7 100644
--- a/devapidocs/deprecated-list.html
+++ b/devapidocs/deprecated-list.html
@@ -624,277 +624,282 @@
 </td>
 </tr>
 <tr class="altColor">
+<td class="colOne"><a href="org/apache/hadoop/hbase/regionserver/Region.html#getReadpoint(org.apache.hadoop.hbase.client.IsolationLevel)">org.apache.hadoop.hbase.regionserver.Region.getReadpoint(IsolationLevel)</a>
+<div class="block"><i>Since 1.2.0. Use <a href="org/apache/hadoop/hbase/regionserver/Region.html#getReadPoint(org.apache.hadoop.hbase.client.IsolationLevel)"><code>Region.getReadPoint(IsolationLevel)</code></a> instead.</i></div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/MetaTableAccessor.html#getRegion(org.apache.hadoop.hbase.client.Connection,%20byte[])">org.apache.hadoop.hbase.MetaTableAccessor.getRegion(Connection, byte[])</a>
 <div class="block"><i>use <a href="org/apache/hadoop/hbase/MetaTableAccessor.html#getRegionLocation(org.apache.hadoop.hbase.client.Connection,%20byte[])"><code>MetaTableAccessor.getRegionLocation(Connection, byte[])</code></a> instead</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/ConnectionImplementation.html#getRegionCachePrefetch(byte[])">org.apache.hadoop.hbase.client.ConnectionImplementation.getRegionCachePrefetch(byte[])</a>
 <div class="block"><i>always return false since 0.99</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#getRegionCachePrefetch(byte[])">org.apache.hadoop.hbase.client.HConnection.getRegionCachePrefetch(byte[])</a>
 <div class="block"><i>always return false since 0.99</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/ConnectionImplementation.html#getRegionCachePrefetch(org.apache.hadoop.hbase.TableName)">org.apache.hadoop.hbase.client.ConnectionImplementation.getRegionCachePrefetch(TableName)</a>
 <div class="block"><i>always return false since 0.99</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#getRegionCachePrefetch(org.apache.hadoop.hbase.TableName)">org.apache.hadoop.hbase.client.HConnection.getRegionCachePrefetch(TableName)</a>
 <div class="block"><i>always return false since 0.99</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/regionserver/HRegion.html#getRegionDir(org.apache.hadoop.fs.Path,%20org.apache.hadoop.hbase.HRegionInfo)">org.apache.hadoop.hbase.regionserver.HRegion.getRegionDir(Path, HRegionInfo)</a>
 <div class="block"><i>For tests only; to be removed.</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/regionserver/HRegion.html#getRegionDir(org.apache.hadoop.fs.Path,%20java.lang.String)">org.apache.hadoop.hbase.regionserver.HRegion.getRegionDir(Path, String)</a>
 <div class="block"><i>For tests only; to be removed.</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#getRegionLocation(byte[],%20byte[],%20boolean)">org.apache.hadoop.hbase.client.HConnection.getRegionLocation(byte[], byte[], boolean)</a>
 <div class="block"><i>internal method, do not use through HConnection</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#getRegionLocation(org.apache.hadoop.hbase.TableName,%20byte[],%20boolean)">org.apache.hadoop.hbase.client.HConnection.getRegionLocation(TableName, byte[], boolean)</a>
 <div class="block"><i>internal method, do not use thru HConnection</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/TableName.html#getRowComparator()">org.apache.hadoop.hbase.TableName.getRowComparator()</a>
 <div class="block"><i>The comparator is an internal property of the table. Should
  not have been exposed here</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/MetaTableAccessor.html#getScanForTableName(org.apache.hadoop.hbase.client.Connection,%20org.apache.hadoop.hbase.TableName)">org.apache.hadoop.hbase.MetaTableAccessor.getScanForTableName(Connection, TableName)</a></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/regionserver/StoreFile.Reader.html#getScanner(boolean,%20boolean)">org.apache.hadoop.hbase.regionserver.StoreFile.Reader.getScanner(boolean, boolean)</a></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/regionserver/StoreFile.Reader.html#getScanner(boolean,%20boolean,%20boolean)">org.apache.hadoop.hbase.regionserver.StoreFile.Reader.getScanner(boolean, boolean, boolean)</a></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/KeyValue.KVComparator.html#getShortMidpointKey(byte[],%20byte[])">org.apache.hadoop.hbase.KeyValue.KVComparator.getShortMidpointKey(byte[], byte[])</a>
 <div class="block"><i>Since 0.99.2;</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/io/ImmutableBytesWritable.html#getSize()">org.apache.hadoop.hbase.io.ImmutableBytesWritable.getSize()</a>
 <div class="block"><i>use <a href="org/apache/hadoop/hbase/io/ImmutableBytesWritable.html#getLength()"><code>ImmutableBytesWritable.getLength()</code></a> instead</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/util/Bytes.html#getSize()">org.apache.hadoop.hbase.util.Bytes.getSize()</a>
 <div class="block"><i>use <a href="org/apache/hadoop/hbase/util/Bytes.html#getLength()"><code>Bytes.getLength()</code></a> instead</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/regionserver/HStore.html#getStoreHomedir(org.apache.hadoop.fs.Path,%20org.apache.hadoop.hbase.HRegionInfo,%20byte[])">org.apache.hadoop.hbase.regionserver.HStore.getStoreHomedir(Path, HRegionInfo, byte[])</a></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/regionserver/HStore.html#getStoreHomedir(org.apache.hadoop.fs.Path,%20java.lang.String,%20byte[])">org.apache.hadoop.hbase.regionserver.HStore.getStoreHomedir(Path, String, byte[])</a></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/HTableDescriptor.html#getTableDir(org.apache.hadoop.fs.Path,%20byte[])">org.apache.hadoop.hbase.HTableDescriptor.getTableDir(Path, byte[])</a></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HTableInterface.html#getTableName()">org.apache.hadoop.hbase.client.HTableInterface.getTableName()</a>
 <div class="block"><i>Use <a href="org/apache/hadoop/hbase/client/Table.html#getName()"><code>Table.getName()</code></a> instead</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/ConnectionImplementation.html#getTableNames()">org.apache.hadoop.hbase.client.ConnectionImplementation.getTableNames()</a>
 <div class="block"><i>Use <a href="org/apache/hadoop/hbase/client/Admin.html#listTableNames()"><code>Admin.listTableNames()</code></a> instead</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#getTableNames()">org.apache.hadoop.hbase.client.HConnection.getTableNames()</a>
 <div class="block"><i>Use <a href="org/apache/hadoop/hbase/client/Admin.html#listTableNames()"><code>Admin.listTableNames()</code></a> instead.</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/util/ZKDataMigrator.html#getTableState(org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher,%20org.apache.hadoop.hbase.TableName)">org.apache.hadoop.hbase.util.ZKDataMigrator.getTableState(ZooKeeperWatcher, TableName)</a></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/KeyValue.html#getType()">org.apache.hadoop.hbase.KeyValue.getType()</a></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Table.html#getWriteBufferSize()">org.apache.hadoop.hbase.client.Table.getWriteBufferSize()</a>
 <div class="block"><i>as of 1.0.1 (should not have been in 1.0.0). Replaced by <a href="org/apache/hadoop/hbase/client/BufferedMutator.html#getWriteBufferSize()"><code>BufferedMutator.getWriteBufferSize()</code></a></i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HTableInterface.html#getWriteBufferSize()">org.apache.hadoop.hbase.client.HTableInterface.getWriteBufferSize()</a>
 <div class="block"><i>as of 1.0.0. Replaced by <a href="org/apache/hadoop/hbase/client/BufferedMutator.html#getWriteBufferSize()"><code>BufferedMutator.getWriteBufferSize()</code></a></i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html#initCredentialsForCluster(org.apache.hadoop.mapreduce.Job,%20java.lang.String)">org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil.initCredentialsForCluster(Job, String)</a>
 <div class="block"><i>Since 1.2.0, use <a href="org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html#initCredentialsForCluster(org.apache.hadoop.mapreduce.Job,%20org.apache.hadoop.conf.Configuration)"><code>TableMapReduceUtil.initCredentialsForCluster(Job, Configuration)</code></a> instead.</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/regionserver/HRegion.html#initialize()">org.apache.hadoop.hbase.regionserver.HRegion.initialize()</a>
 <div class="block"><i>use HRegion.createHRegion() or HRegion.openHRegion()</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HTableInterface.html#isAutoFlush()">org.apache.hadoop.hbase.client.HTableInterface.isAutoFlush()</a>
 <div class="block"><i>as of 1.0.0. Replaced by <a href="org/apache/hadoop/hbase/client/BufferedMutator.html" title="interface in org.apache.hadoop.hbase.client"><code>BufferedMutator</code></a></i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Get.html#isClosestRowBefore()">org.apache.hadoop.hbase.client.Get.isClosestRowBefore()</a>
 <div class="block"><i>since 2.0.0 and will be removed in 3.0.0</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/KeyValue.html#iscreate(java.io.InputStream)">org.apache.hadoop.hbase.KeyValue.iscreate(InputStream)</a></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#isDeadServer(org.apache.hadoop.hbase.ServerName)">org.apache.hadoop.hbase.client.HConnection.isDeadServer(ServerName)</a>
 <div class="block"><i>internal method, do not use thru HConnection</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/ClusterConnection.html#isDeadServer(org.apache.hadoop.hbase.ServerName)">org.apache.hadoop.hbase.client.ClusterConnection.isDeadServer(ServerName)</a>
 <div class="block"><i>internal method, do not use thru HConnection</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/KeyValue.html#isDelete()">org.apache.hadoop.hbase.KeyValue.isDelete()</a></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/master/cleaner/BaseLogCleanerDelegate.html#isLogDeletable(org.apache.hadoop.fs.FileStatus)">org.apache.hadoop.hbase.master.cleaner.BaseLogCleanerDelegate.isLogDeletable(FileStatus)</a></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/ConnectionImplementation.html#isMasterRunning()">org.apache.hadoop.hbase.client.ConnectionImplementation.isMasterRunning()</a>
 <div class="block"><i>this has been deprecated without a replacement</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#isMasterRunning()">org.apache.hadoop.hbase.client.HConnection.isMasterRunning()</a>
 <div class="block"><i>internal method, do not use thru HConnection</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/ClusterConnection.html#isMasterRunning()">org.apache.hadoop.hbase.client.ClusterConnection.isMasterRunning()</a>
 <div class="block"><i>this has been deprecated without a replacement</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#isTableAvailable(byte[])">org.apache.hadoop.hbase.client.HConnection.isTableAvailable(byte[])</a>
 <div class="block"><i>instead use <a href="org/apache/hadoop/hbase/client/HConnection.html#isTableAvailable(org.apache.hadoop.hbase.TableName)"><code>HConnection.isTableAvailable(TableName)</code></a></i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#isTableAvailable(byte[],%20byte[][])">org.apache.hadoop.hbase.client.HConnection.isTableAvailable(byte[], byte[][])</a>
 <div class="block"><i>internal method, do not use through HConnection</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#isTableAvailable(org.apache.hadoop.hbase.TableName,%20byte[][])">org.apache.hadoop.hbase.client.HConnection.isTableAvailable(TableName, byte[][])</a>
 <div class="block"><i>internal method, do not use through HConnection</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#isTableDisabled(byte[])">org.apache.hadoop.hbase.client.HConnection.isTableDisabled(byte[])</a>
 <div class="block"><i>instead use <a href="org/apache/hadoop/hbase/client/HConnection.html#isTableDisabled(org.apache.hadoop.hbase.TableName)"><code>HConnection.isTableDisabled(TableName)</code></a></i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#isTableEnabled(byte[])">org.apache.hadoop.hbase.client.HConnection.isTableEnabled(byte[])</a>
 <div class="block"><i>instead use <a href="org/apache/hadoop/hbase/client/HConnection.html#isTableEnabled(org.apache.hadoop.hbase.TableName)"><code>HConnection.isTableEnabled(TableName)</code></a></i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/security/visibility/VisibilityClient.html#listLabels(org.apache.hadoop.conf.Configuration,%20java.lang.String)">org.apache.hadoop.hbase.security.visibility.VisibilityClient.listLabels(Configuration, String)</a>
 <div class="block"><i>Use <a href="org/apache/hadoop/hbase/security/visibility/VisibilityClient.html#listLabels(org.apache.hadoop.hbase.client.Connection,%20java.lang.String)"><code>VisibilityClient.listLabels(Connection,String)</code></a> instead.</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html#listPeers()">org.apache.hadoop.hbase.client.replication.ReplicationAdmin.listPeers()</a>
 <div class="block"><i>use <a href="org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html#listPeerConfigs()"><code>ReplicationAdmin.listPeerConfigs()</code></a></i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/ConnectionImplementation.html#listTableNames()">org.apache.hadoop.hbase.client.ConnectionImplementation.listTableNames()</a>
 <div class="block"><i>Use <a href="org/apache/hadoop/hbase/client/Admin.html#listTableNames()"><code>Admin.listTableNames()</code></a> instead</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#listTableNames()">org.apache.hadoop.hbase.client.HConnection.listTableNames()</a>
 <div class="block"><i>Use <a href="org/apache/hadoop/hbase/client/Admin.html#listTables()"><code>Admin.listTables()</code></a> instead.</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/ConnectionImplementation.html#listTables()">org.apache.hadoop.hbase.client.ConnectionImplementation.listTables()</a>
 <div class="block"><i>Use <a href="org/apache/hadoop/hbase/client/Admin.html#listTables()"><code>Admin.listTables()</code></a> instead</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#listTables()">org.apache.hadoop.hbase.client.HConnection.listTables()</a>
 <div class="block"><i>Use <a href="org/apache/hadoop/hbase/client/Admin.html#listTables()"><code>Admin.listTables()</code></a> instead.</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#locateRegion(byte[])">org.apache.hadoop.hbase.client.HConnection.locateRegion(byte[])</a>
 <div class="block"><i>internal method, do not use thru HConnection</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#locateRegion(byte[],%20byte[])">org.apache.hadoop.hbase.client.HConnection.locateRegion(byte[], byte[])</a>
 <div class="block"><i>internal method, do not use through HConnection</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#locateRegion(org.apache.hadoop.hbase.TableName,%20byte[])">org.apache.hadoop.hbase.client.HConnection.locateRegion(TableName, byte[])</a>
 <div class="block"><i>internal method, do not use through HConnection</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#locateRegions(byte[])">org.apache.hadoop.hbase.client.HConnection.locateRegions(byte[])</a>
 <div class="block"><i>internal method, do not use through HConnection</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#locateRegions(byte[],%20boolean,%20boolean)">org.apache.hadoop.hbase.client.HConnection.locateRegions(byte[], boolean, boolean)</a>
 <div class="block"><i>internal method, do not use through HConnection</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#locateRegions(org.apache.hadoop.hbase.TableName)">org.apache.hadoop.hbase.client.HConnection.locateRegions(TableName)</a>
 <div class="block"><i>internal method, do not use thru HConnection</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#locateRegions(org.apache.hadoop.hbase.TableName,%20boolean,%20boolean)">org.apache.hadoop.hbase.client.HConnection.locateRegions(TableName, boolean, boolean)</a>
 <div class="block"><i>internal method, do not use thru HConnection</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#matchingRow(org.apache.hadoop.hbase.Cell,%20org.apache.hadoop.hbase.Cell)">org.apache.hadoop.hbase.CellUtil.matchingRow(Cell, Cell)</a>
 <div class="block"><i>As of release 2.0.0, this will be removed in HBase 3.0.0.
              Instead use <a href="org/apache/hadoop/hbase/CellUtil.html#matchingRows(org.apache.hadoop.hbase.Cell,%20org.apache.hadoop.hbase.Cell)"><code>CellUtil.matchingRows(Cell, Cell)</code></a></i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HBaseAdmin.html#modifyColumn(org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HColumnDescriptor)">org.apache.hadoop.hbase.client.HBaseAdmin.modifyColumn(TableName, HColumnDescriptor)</a>
 <div class="block"><i>As of 2.0. Will be removed in 3.0. Use
      <a href="org/apache/hadoop/hbase/client/HBaseAdmin.html#modifyColumnFamily(org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HColumnDescriptor)"><code>HBaseAdmin.modifyColumnFamily(TableName, HColumnDescriptor)</code></a> instead.</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#modifyColumn(org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HColumnDescriptor)">org.apache.hadoop.hbase.client.Admin.modifyColumn(TableName, HColumnDescriptor)</a>
 <div class="block"><i>As of release 2.0.0.
              (<a href="https://issues.apache.org/jira/browse/HBASE-1989">HBASE-1989</a>).
@@ -902,538 +907,538 @@
              Use <a href="org/apache/hadoop/hbase/client/Admin.html#modifyColumnFamily(org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HColumnDescriptor)"><code>Admin.modifyColumnFamily(TableName, HColumnDescriptor)</code></a>.</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/KeyValue.html#oswrite(org.apache.hadoop.hbase.KeyValue,%20java.io.OutputStream,%20boolean)">org.apache.hadoop.hbase.KeyValue.oswrite(KeyValue, OutputStream, boolean)</a>
 <div class="block"><i>As of release 2.0.0, this will be removed in HBase 3.0.0.
              Instead use <a href="org/apache/hadoop/hbase/KeyValue.html#write(java.io.OutputStream,%20boolean)"><code>KeyValue.write(OutputStream, boolean)</code></a></i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/BaseMasterAndRegionObserver.html#postAddColumn(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HColumnDescriptor)">org.apache.hadoop.hbase.coprocessor.BaseMasterAndRegionObserver.postAddColumn(ObserverContext<MasterCoprocessorEnvironment>, TableName, HColumnDescriptor)</a></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.html#postAddColumn(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HColumnDescriptor)">org.apache.hadoop.hbase.coprocessor.BaseMasterObserver.postAddColumn(ObserverContext<MasterCoprocessorEnvironment>, TableName, HColumnDescriptor)</a></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddColumn(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HColumnDescriptor)">org.apache.hadoop.hbase.coprocessor.MasterObserver.postAddColumn(ObserverContext<MasterCoprocessorEnvironment>, TableName, HColumnDescriptor)</a>
 <div class="block"><i>As of release 2.0.0, this will be removed in HBase 3.0.0
              (<a href="https://issues.apache.org/jira/browse/HBASE-13645">HBASE-13645</a>).
              Use <a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddColumnFamily(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HColumnDescriptor)"><code>MasterObserver.postAddColumnFamily(ObserverContext, TableName, HColumnDescriptor)</code></a>.</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/BaseMasterAndRegionObserver.html#postAddColumnHandler(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HColumnDescriptor)">org.apache.hadoop.hbase.coprocessor.BaseMasterAndRegionObserver.postAddColumnHandler(ObserverContext<MasterCoprocessorEnvironment>, TableName, HColumnDescriptor)</a></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.html#postAddColumnHandler(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HColumnDescriptor)">org.apache.hadoop.hbase.coprocessor.BaseMasterObserver.postAddColumnHandler(ObserverContext<MasterCoprocessorEnvironment>, TableName, HColumnDescriptor)</a></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddColumnHandler(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HColumnDescriptor)">org.apache.hadoop.hbase.coprocessor.MasterObserver.postAddColumnHandler(ObserverContext<MasterCoprocessorEnvironment>, TableName, HColumnDescriptor)</a>
 <div class="block"><i>As of release 2.0.0, this will be removed in HBase 3.0.0
              (<a href="https://issues.apache.org/jira/browse/HBASE-13645">HBASE-13645</a>). Use
              <a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddColumnFamilyHandler(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HColumnDescriptor)"><code>MasterObserver.postAddColumnFamilyHandler(ObserverContext, TableName, HColumnDescriptor)</code></a>.</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postCompact(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.regionserver.Store,%20org.apache.hadoop.hbase.regionserver.StoreFile)">org.apache.hadoop.hbase.coprocessor.RegionObserver.postCompact(ObserverContext<RegionCoprocessorEnvironment>, Store, StoreFile)</a>
 <div class="block"><i>Use <a href="org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postCompact(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.regionserver.Store,%20org.apache.hadoop.hbase.regionserver.StoreFile,%20org.apache.hadoop.hbase.regionserver.compactions.CompactionRequest)"><code>RegionObserver.postCompact(ObserverContext, Store, StoreFile, CompactionRequest)</code></a>
              instead</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postCompactSelection(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.regionserver.Store,%20com.google.common.collect.ImmutableList)">org.apache.hadoop.hbase.coprocessor.RegionObserver.postCompactSelection(ObserverContext<RegionCoprocessorEnvironment>, Store, ImmutableList<StoreFile>)</a>
 <div class="block"><i>use <a href="org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postCompactSelection(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.regionserver.Store,%20com.google.common.collect.ImmutableList,%20org.apache.hadoop.hbase.regionserver.compactions.CompactionRequest)"><code>RegionObserver.postCompactSelection(ObserverContext, Store, ImmutableList,
              CompactionRequest)</code></a> instead.</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/BaseMasterAndRegionObserver.html#postDeleteColumn(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20byte[])">org.apache.hadoop.hbase.coprocessor.BaseMasterAndRegionObserver.postDeleteColumn(ObserverContext<MasterCoprocessorEnvironment>, TableName, byte[])</a></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.html#postDeleteColumn(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20byte[])">org.apache.hadoop.hbase.coprocessor.BaseMasterObserver.postDeleteColumn(ObserverContext<MasterCoprocessorEnvironment>, TableName, byte[])</a></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteColumn(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20byte[])">org.apache.hadoop.hbase.coprocessor.MasterObserver.postDeleteColumn(ObserverContext<MasterCoprocessorEnvironment>, TableName, byte[])</a>
 <div class="block"><i>As of release 2.0.0, this will be removed in HBase 3.0.0
              (<a href="https://issues.apache.org/jira/browse/HBASE-13645">HBASE-13645</a>).
              Use <a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteColumnFamily(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20byte[])"><code>MasterObserver.postDeleteColumnFamily(ObserverContext, TableName, byte[])</code></a>.</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/BaseMasterAndRegionObserver.html#postDeleteColumnHandler(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20byte[])">org.apache.hadoop.hbase.coprocessor.BaseMasterAndRegionObserver.postDeleteColumnHandler(ObserverContext<MasterCoprocessorEnvironment>, TableName, byte[])</a></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.html#postDeleteColumnHandler(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20byte[])">org.apache.hadoop.hbase.coprocessor.BaseMasterObserver.postDeleteColumnHandler(ObserverContext<MasterCoprocessorEnvironment>, TableName, byte[])</a></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteColumnHandler(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20byte[])">org.apache.hadoop.hbase.coprocessor.MasterObserver.postDeleteColumnHandler(ObserverContext<MasterCoprocessorEnvironment>, TableName, byte[])</a>
 <div class="block"><i>As of release 2.0.0, this will be removed in HBase 3.0.0
              (<a href="https://issues.apache.org/jira/browse/HBASE-13645">HBASE-13645</a>).
              Use <a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteColumnFamilyHandler(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20byte[])"><code>MasterObserver.postDeleteColumnFamilyHandler(ObserverContext, TableName, byte[])</code></a>.</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postFlush(org.apache.hadoop.hbase.coprocessor.ObserverContext)">org.apache.hadoop.hbase.coprocessor.RegionObserver.postFlush(ObserverContext<RegionCoprocessorEnvironment>)</a>
 <div class="block"><i>use <a href="org/apache/hadoop/hbase/coprocessor/RegionObserver.html#preFlush(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.regionserver.Store,%20org.apache.hadoop.hbase.regionserver.InternalScanner)"><code>RegionObserver.preFlush(ObserverContext, Store, InternalScanner)</code></a> instead.</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postIncrementColumnValue(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20byte[],%20byte[],%20byte[],%20long,%20boolean,%20long)">org.apache.hadoop.hbase.coprocessor.RegionObserver.postIncrementColumnValue(ObserverContext<RegionCoprocessorEnvironment>, byte[], byte[], byte[], long, boolean, long)</a>
 <div class="block"><i>This hook is no longer called by the RegionServer</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/BaseMasterAndRegionObserver.html#postModifyColumn(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HColumnDescriptor)">org.apache.hadoop.hbase.coprocessor.BaseMasterAndRegionObserver.postModifyColumn(ObserverContext<MasterCoprocessorEnvironment>, TableName, HColumnDescriptor)</a></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.html#postModifyColumn(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HColumnDescriptor)">org.apache.hadoop.hbase.coprocessor.BaseMasterObserver.postModifyColumn(ObserverContext<MasterCoprocessorEnvironment>, TableName, HColumnDescriptor)</a></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyColumn(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HColumnDescriptor)">org.apache.hadoop.hbase.coprocessor.MasterObserver.postModifyColumn(ObserverContext<MasterCoprocessorEnvironment>, TableName, HColumnDescriptor)</a>
 <div class="block"><i>As of release 2.0.0, this will be removed in HBase 3.0.0
              (<a href="https://issues.apache.org/jira/browse/HBASE-13645">HBASE-13645</a>).
              Use <a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyColumnFamily(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HColumnDescriptor)"><code>MasterObserver.postModifyColumnFamily(ObserverContext, TableName, HColumnDescriptor)</code></a>.</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/BaseMasterAndRegionObserver.html#postModifyColumnHandler(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HColumnDescriptor)">org.apache.hadoop.hbase.coprocessor.BaseMasterAndRegionObserver.postModifyColumnHandler(ObserverContext<MasterCoprocessorEnvironment>, TableName, HColumnDescriptor)</a></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.html#postModifyColumnHandler(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HColumnDescriptor)">org.apache.hadoop.hbase.coprocessor.BaseMasterObserver.postModifyColumnHandler(ObserverContext<MasterCoprocessorEnvironment>, TableName, HColumnDescriptor)</a></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyColumnHandler(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HColumnDescriptor)">org.apache.hadoop.hbase.coprocessor.MasterObserver.postModifyColumnHandler(ObserverContext<MasterCoprocessorEnvironment>, TableName, HColumnDescriptor)</a>
 <div class="block"><i>As of release 2.0.0, this will be removed in HBase 3.0.0
       (<a href="https://issues.apache.org/jira/browse/HBASE-13645">HBASE-13645</a>).
       Use <a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyColumnFamilyHandler(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HColumnDescriptor)"><code>MasterObserver.postModifyColumnFamilyHandler(ObserverContext, TableName, HColumnDescriptor)</code></a>.</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/regionserver/RegionServerServices.html#postOpenDeployTasks(org.apache.hadoop.hbase.regionserver.Region)">org.apache.hadoop.hbase.regionserver.RegionServerServices.postOpenDeployTasks(Region)</a>
 <div class="block"><i>use <a href="org/apache/hadoop/hbase/regionserver/RegionServerServices.html#postOpenDeployTasks(org.apache.hadoop.hbase.regionserver.RegionServerServices.PostOpenDeployContext)"><code>RegionServerServices.postOpenDeployTasks(PostOpenDeployContext)</code></a></i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postScannerFilterRow(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.regionserver.InternalScanner,%20byte[],%20int,%20short,%20boolean)">org.apache.hadoop.hbase.coprocessor.RegionObserver.postScannerFilterRow(ObserverContext<RegionCoprocessorEnvironment>, InternalScanner, byte[], int, short, boolean)</a>
 <div class="block"><i>As of release 2.0.0, this will be removed in HBase 3.0.0.
  Instead use <a href="org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postScannerFilterRow(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.regionserver.InternalScanner,%20org.apache.hadoop.hbase.Cell,%20boolean)"><code>RegionObserver.postScannerFilterRow(ObserverContext, InternalScanner, Cell, boolean)</code></a></i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/BaseRegionObserver.html#postScannerFilterRow(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.regionserver.InternalScanner,%20byte[],%20int,%20short,%20boolean)">org.apache.hadoop.hbase.coprocessor.BaseRegionObserver.postScannerFilterRow(ObserverContext<RegionCoprocessorEnvironment>, InternalScanner, byte[], int, short, boolean)</a></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postSplit(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.regionserver.Region,%20org.apache.hadoop.hbase.regionserver.Region)">org.apache.hadoop.hbase.coprocessor.RegionObserver.postSplit(ObserverContext<RegionCoprocessorEnvironment>, Region, Region)</a>
 <div class="block"><i>Use postCompleteSplit() instead</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.html#postWALRestore(org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.regionserver.wal.HLogKey,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit)">org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.postWALRestore(HRegionInfo, HLogKey, WALEdit)</a>
 <div class="block"><i>use <a href="org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.html#postWALRestore(org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.wal.WALKey,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit)"><code>RegionCoprocessorHost.postWALRestore(HRegionInfo, WALKey, WALEdit)</code></a>; as of 2.0, remove in 3.0</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postWALRestore(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.regionserver.wal.HLogKey,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit)">org.apache.hadoop.hbase.coprocessor.RegionObserver.postWALRestore(ObserverContext<RegionCoprocessorEnvironment>, HRegionInfo, HLogKey, WALEdit)</a>
 <div class="block"><i>use <a href="org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postWALRestore(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.wal.WALKey,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit)"><code>RegionObserver.postWALRestore(ObserverContext, HRegionInfo, WALKey, WALEdit)</code></a></i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/WALObserver.html#postWALWrite(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.regionserver.wal.HLogKey,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit)">org.apache.hadoop.hbase.coprocessor.WALObserver.postWALWrite(ObserverContext<WALCoprocessorEnvironment>, HRegionInfo, HLogKey, WALEdit)</a>
 <div class="block"><i>use <a href="org/apache/hadoop/hbase/coprocessor/WALObserver.html#postWALWrite(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.wal.WALKey,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit)"><code>WALObserver.postWALWrite(ObserverContext, HRegionInfo, WALKey, WALEdit)</code></a></i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/BaseMasterAndRegionObserver.html#preAddColumn(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HColumnDescriptor)">org.apache.hadoop.hbase.coprocessor.BaseMasterAndRegionObserver.preAddColumn(ObserverContext<MasterCoprocessorEnvironment>, TableName, HColumnDescriptor)</a></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.html#preAddColumn(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HColumnDescriptor)">org.apache.hadoop.hbase.coprocessor.BaseMasterObserver.preAddColumn(ObserverContext<MasterCoprocessorEnvironment>, TableName, HColumnDescriptor)</a></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddColumn(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HColumnDescriptor)">org.apache.hadoop.hbase.coprocessor.MasterObserver.preAddColumn(ObserverContext<MasterCoprocessorEnvironment>, TableName, HColumnDescriptor)</a>
 <div class="block"><i>As of release 2.0.0, this will be removed in HBase 3.0.0
              (<a href="https://issues.apache.org/jira/browse/HBASE-13645">HBASE-13645</a>).
              Use <a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddColumnFamily(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HColumnDescriptor)"><code>MasterObserver.preAddColumnFamily(ObserverContext, TableName, HColumnDescriptor)</code></a>.</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/BaseMasterAndRegionObserver.html#preAddColumnHandler(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HColumnDescriptor)">org.apache.hadoop.hbase.coprocessor.BaseMasterAndRegionObserver.preAddColumnHandler(ObserverContext<MasterCoprocessorEnvironment>, TableName, HColumnDescriptor)</a></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.html#preAddColumnHandler(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HColumnDescriptor)">org.apache.hadoop.hbase.coprocessor.BaseMasterObserver.preAddColumnHandler(ObserverContext<MasterCoprocessorEnvironment>, TableName, HColumnDescriptor)</a></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddColumnHandler(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HColumnDescriptor)">org.apache.hadoop.hbase.coprocessor.MasterObserver.preAddColumnHandler(ObserverContext<MasterCoprocessorEnvironment>, TableName, HColumnDescriptor)</a>
 <div class="block"><i>As of release 2.0.0, this will be removed in HBase 3.0.0
              (<a href="https://issues.apache.org/jira/browse/HBASE-13645">HBASE-13645</a>). Use
              <a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddColumnFamilyHandler(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HColumnDescriptor)"><code>MasterObserver.preAddColumnFamilyHandler(ObserverContext, TableName, HColumnDescriptor)</code></a>.</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/RegionObserver.html#preCompact(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.regionserver.Store,%20org.apache.hadoop.hbase.regionserver.InternalScanner,%20org.apache.hadoop.hbase.regionserver.ScanType)">org.apache.hadoop.hbase.coprocessor.RegionObserver.preCompact(ObserverContext<RegionCoprocessorEnvironment>, Store, InternalScanner, ScanType)</a>
 <div class="block"><i>use
              <a href="org/apache/hadoop/hbase/coprocessor/RegionObserver.html#preCompact(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.regionserver.Store,%20org.apache.hadoop.hbase.regionserver.InternalScanner,%20org.apache.hadoop.hbase.regionserver.ScanType,%20org.apache.hadoop.hbase.regionserver.compactions.CompactionRequest)"><code>RegionObserver.preCompact(ObserverContext, Store, InternalScanner,
              ScanType, CompactionRequest)</code></a> instead</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/RegionObserver.html#preCompactScannerOpen(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.regionserver.Store,%20java.util.List,%20org.apache.hadoop.hbase.regionserver.ScanType,%20long,%20org.apache.hadoop.hbase.regionserver.InternalScanner)">org.apache.hadoop.hbase.coprocessor.RegionObserver.preCompactScannerOpen(ObserverContext<RegionCoprocessorEnvironment>, Store, List<? extends KeyValueScanner>, ScanType, long, InternalScanner)</a>
 <div class="block"><i>Use
              <a href="org/apache/hadoop/hbase/coprocessor/RegionObserver.html#preCompactScannerOpen(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.regionserver.Store,%20java.util.List,%20org.apache.hadoop.hbase.regionserver.ScanType,%20long,%20org.apache.hadoop.hbase.regionserver.InternalScanner,%20org.apache.hadoop.hbase.regionserver.compactions.CompactionRequest)"><code>RegionObserver.preCompactScannerOpen(ObserverContext, Store, List, ScanType, long,
              InternalScanner, CompactionRequest)</code></a> instead.</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/RegionObserver.html#preCompactSelection(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.regionserver.Store,%20java.util.List)">org.apache.hadoop.hbase.coprocessor.RegionObserver.preCompactSelection(ObserverContext<RegionCoprocessorEnvironment>, Store, List<StoreFile>)</a>
 <div class="block"><i>Use <a href="org/apache/hadoop/hbase/coprocessor/RegionObserver.html#preCompactSelection(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.regionserver.Store,%20java.util.List,%20org.apache.hadoop.hbase.regionserver.compactions.CompactionRequest)"><code>RegionObserver.preCompactSelection(ObserverContext, Store, List, CompactionRequest)</code></a>
              instead</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/BaseMasterAndRegionObserver.html#preDeleteColumn(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20byte[])">org.apache.hadoop.hbase.coprocessor.BaseMasterAndRegionObserver.preDeleteColumn(ObserverContext<MasterCoprocessorEnvironment>, TableName, byte[])</a></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.html#preDeleteColumn(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20byte[])">org.apache.hadoop.hbase.coprocessor.BaseMasterObserver.preDeleteColumn(ObserverContext<MasterCoprocessorEnvironment>, TableName, byte[])</a></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteColumn(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20byte[])">org.apache.hadoop.hbase.coprocessor.MasterObserver.preDeleteColumn(ObserverContext<MasterCoprocessorEnvironment>, TableName, byte[])</a>
 <div class="block"><i>As of release 2.0.0, this will be removed in HBase 3.0.0
              (<a href="https://issues.apache.org/jira/browse/HBASE-13645">HBASE-13645</a>).
              Use <a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteColumnFamily(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20byte[])"><code>MasterObserver.preDeleteColumnFamily(ObserverContext, TableName, byte[])</code></a>.</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/BaseMasterAndRegionObserver.html#preDeleteColumnHandler(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20byte[])">org.apache.hadoop.hbase.coprocessor.BaseMasterAndRegionObserver.preDeleteColumnHandler(ObserverContext<MasterCoprocessorEnvironment>, TableName, byte[])</a></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.html#preDeleteColumnHandler(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20byte[])">org.apache.hadoop.hbase.coprocessor.BaseMasterObserver.preDeleteColumnHandler(ObserverContext<MasterCoprocessorEnvironment>, TableName, byte[])</a></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteColumnHandler(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20byte[])">org.apache.hadoop.hbase.coprocessor.MasterObserver.preDeleteColumnHandler(ObserverContext<MasterCoprocessorEnvironment>, TableName, byte[])</a>
 <div class="block"><i>As of release 2.0.0, this will be removed in HBase 3.0.0
              (<a href="https://issues.apache.org/jira/browse/HBASE-13645">HBASE-13645</a>).
              Use <a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteColumnFamilyHandler(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20byte[])"><code>MasterObserver.preDeleteColumnFamilyHandler(ObserverContext, TableName, byte[])</code></a>.</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/RegionObserver.html#preFlush(org.apache.hadoop.hbase.coprocessor.ObserverContext)">org.apache.hadoop.hbase.coprocessor.RegionObserver.preFlush(ObserverContext<RegionCoprocessorEnvironment>)</a>
 <div class="block"><i>use <a href="org/apache/hadoop/hbase/coprocessor/RegionObserver.html#preFlush(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.regionserver.Store,%20org.apache.hadoop.hbase.regionserver.InternalScanner)"><code>RegionObserver.preFlush(ObserverContext, Store, InternalScanner)</code></a> instead</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/RegionObserver.html#preIncrementColumnValue(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20byte[],%20byte[],%20byte[],%20long,%20boolean)">org.apache.hadoop.hbase.coprocessor.RegionObserver.preIncrementColumnValue(ObserverContext<RegionCoprocessorEnvironment>, byte[], byte[], byte[], long, boolean)</a>
 <div class="block"><i>This hook is no longer called by the RegionServer</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/BaseMasterAndRegionObserver.html#preModifyColumn(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HColumnDescriptor)">org.apache.hadoop.hbase.coprocessor.BaseMasterAndRegionObserver.preModifyColumn(ObserverContext<MasterCoprocessorEnvironment>, TableName, HColumnDescriptor)</a></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.html#preModifyColumn(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HColumnDescriptor)">org.apache.hadoop.hbase.coprocessor.BaseMasterObserver.preModifyColumn(ObserverContext<MasterCoprocessorEnvironment>, TableName, HColumnDescriptor)</a></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyColumn(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HColumnDescriptor)">org.apache.hadoop.hbase.coprocessor.MasterObserver.preModifyColumn(ObserverContext<MasterCoprocessorEnvironment>, TableName, HColumnDescriptor)</a>
 <div class="block"><i>As of release 2.0.0, this will be removed in HBase 3.0.0
              (<a href="https://issues.apache.org/jira/browse/HBASE-13645">HBASE-13645</a>).
              Use <a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyColumnFamily(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HColumnDescriptor)"><code>MasterObserver.preModifyColumnFamily(ObserverContext, TableName, HColumnDescriptor)</code></a>.</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/BaseMasterAndRegionObserver.html#preModifyColumnHandler(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HColumnDescriptor)">org.apache.hadoop.hbase.coprocessor.BaseMasterAndRegionObserver.preModifyColumnHandler(ObserverContext<MasterCoprocessorEnvironment>, TableName, HColumnDescriptor)</a></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.html#preModifyColumnHandler(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HColumnDescriptor)">org.apache.hadoop.hbase.coprocessor.BaseMasterObserver.preModifyColumnHandler(ObserverContext<MasterCoprocessorEnvironment>, TableName, HColumnDescriptor)</a></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyColumnHandler(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HColumnDescriptor)">org.apache.hadoop.hbase.coprocessor.MasterObserver.preModifyColumnHandler(ObserverContext<MasterCoprocessorEnvironment>, TableName, HColumnDescriptor)</a>
 <div class="block"><i>As of release 2.0.0, this will be removed in HBase 3.0.0
        (<a href="https://issues.apache.org/jira/browse/HBASE-13645">HBASE-13645</a>).
        Use <a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyColumnFamilyHandler(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HColumnDescriptor)"><code>MasterObserver.preModifyColumnFamilyHandler(ObserverContext, TableName, HColumnDescriptor)</code></a>.</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/RegionObserver.html#preSplit(org.apache.hadoop.hbase.coprocessor.ObserverContext)">org.apache.hadoop.hbase.coprocessor.RegionObserver.preSplit(ObserverContext<RegionCoprocessorEnvironment>)</a>
 <div class="block"><i>Use preSplit(
     final ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, byte[] splitRow)</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.html#preWALRestore(org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.regionserver.wal.HLogKey,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit)">org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.preWALRestore(HRegionInfo, HLogKey, WALEdit)</a>
 <div class="block"><i>use <a href="org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.html#preWALRestore(org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.wal.WALKey,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit)"><code>RegionCoprocessorHost.preWALRestore(HRegionInfo, WALKey, WALEdit)</code></a>; as of 2.0, remove in 3.0</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/RegionObserver.html#preWALRestore(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.regionserver.wal.HLogKey,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit)">org.apache.hadoop.hbase.coprocessor.RegionObserver.preWALRestore(ObserverContext<RegionCoprocessorEnvironment>, HRegionInfo, HLogKey, WALEdit)</a>
 <div class="block"><i>use <a href="org/apache/hadoop/hbase/coprocessor/RegionObserver.html#preWALRestore(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.wal.WALKey,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit)"><code>RegionObserver.preWALRestore(ObserverContext, HRegionInfo, WALKey, WALEdit)</code></a></i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/WALObserver.html#preWALWrite(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.regionserver.wal.HLogKey,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit)">org.apache.hadoop.hbase.coprocessor.WALObserver.preWALWrite(ObserverContext<WALCoprocessorEnvironment>, HRegionInfo, HLogKey, WALEdit)</a>
 <div class="block"><i>use <a href="org/apache/hadoop/hbase/coprocessor/WALObserver.html#preWALWrite(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.wal.WALKey,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit)"><code>WALObserver.preWALWrite(ObserverContext, HRegionInfo, WALKey, WALEdit)</code></a></i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/ConnectionImplementation.html#processBatch(java.util.List,%20byte[],%20java.util.concurrent.ExecutorService,%20java.lang.Object[])">org.apache.hadoop.hbase.client.ConnectionImplementation.processBatch(List<? extends Row>, byte[], ExecutorService, Object[])</a>
 <div class="block"><i>Unsupported API</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#processBatch(java.util.List,%20byte[],%20java.util.concurrent.ExecutorService,%20java.lang.Object[])">org.apache.hadoop.hbase.client.HConnection.processBatch(List<? extends Row>, byte[], ExecutorService, Object[])</a>
 <div class="block"><i>internal method, do not use through HConnection</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/ConnectionImplementation.html#processBatch(java.util.List,%20org.apache.hadoop.hbase.TableName,%20java.util.concurrent.ExecutorService,%20java.lang.Object[])">org.apache.hadoop.hbase.client.ConnectionImplementation.processBatch(List<? extends Row>, TableName, ExecutorService, Object[])</a>
 <div class="block"><i>since 0.96 Use <a href="org/apache/hadoop/hbase/client/Table.html#batch(java.util.List,%20java.lang.Object[])"><code>Table.batch(java.util.List&lt;? extends org.apache.hadoop.hbase.client.Row&gt;, java.lang.Object[])</code></a> instead</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#processBatch(java.util.List,%20org.apache.hadoop.hbase.TableName,%20java.util.concurrent.ExecutorService,%20java.lang.Object[])">org.apache.hadoop.hbase.client.HConnection.processBatch(List<? extends Row>, TableName, ExecutorService, Object[])</a>
 <div class="block"><i>since 0.96 - Use <a href="org/apache/hadoop/hbase/client/Table.html#batch(java.util.List,%20java.lang.Object[])"><code>Table.batch(java.util.List&lt;? extends org.apache.hadoop.hbase.client.Row&gt;, java.lang.Object[])</code></a> instead</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/ConnectionImplementation.html#processBatchCallback(java.util.List,%20byte[],%20java.util.concurrent.ExecutorService,%20java.lang.Object[],%20org.apache.hadoop.hbase.client.coprocessor.Batch.Callback)">org.apache.hadoop.hbase.client.ConnectionImplementation.processBatchCallback(List<? extends Row>, byte[], ExecutorService, Object[], Batch.Callback<R>)</a>
 <div class="block"><i>Unsupported API</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#processBatchCallback(java.util.List,%20byte[],%20java.util.concurrent.ExecutorService,%20java.lang.Object[],%20org.apache.hadoop.hbase.client.coprocessor.Batch.Callback)">org.apache.hadoop.hbase.client.HConnection.processBatchCallback(List<? extends Row>, byte[], ExecutorService, Object[], Batch.Callback<R>)</a>
 <div class="block"><i>Unsupported API</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/ConnectionImplementation.html#processBatchCallback(java.util.List,%20org.apache.hadoop.hbase.TableName,%20java.util.concurrent.ExecutorService,%20java.lang.Object[],%20org.apache.hadoop.hbase.client.coprocessor.Batch.Callback)">org.apache.hadoop.hbase.client.ConnectionImplementation.processBatchCallback(List<? extends Row>, TableName, ExecutorService, Object[], Batch.Callback<R>)</a>
 <div class="block"><i>since 0.96
   Use <a href="org/apache/hadoop/hbase/client/HTable.html#processBatchCallback(java.util.List,%20java.lang.Object[],%20org.apache.hadoop.hbase.client.coprocessor.Batch.Callback)"><code>HTable.processBatchCallback(java.util.List&lt;? extends org.apache.hadoop.hbase.client.Row&gt;, java.lang.Object[], org.apache.hadoop.hbase.client.coprocessor.Batch.Callback&lt;R&gt;)</code></a> instead</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#processBatchCallback(java.util.List,%20org.apache.hadoop.hbase.TableName,%20java.util.concurrent.ExecutorService,%20java.lang.Object[],%20org.apache.hadoop.hbase.client.coprocessor.Batch.Callback)">org.apache.hadoop.hbase.client.HConnection.processBatchCallback(List<? extends Row>, TableName, ExecutorService, Object[], Batch.Callback<R>)</a>
 <div class="block"><i>since 0.96 - Use <a href="org/apache/hadoop/hbase/client/Table.html#batchCallback(java.util.List,%20java.lang.Object[],%20org.apache.hadoop.hbase.client.coprocessor.Batch.Callback)"><code>Table.batchCallback(java.util.List&lt;? extends org.apache.hadoop.hbase.client.Row&gt;, java.lang.Object[], org.apache.hadoop.hbase.client.coprocessor.Batch.Callback&lt;R&gt;)</code></a> instead</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HTableMultiplexer.html#put(byte[],%20java.util.List)">org.apache.hadoop.hbase.client.HTableMultiplexer.put(byte[], List<Put>)</a>
 <div class="block"><i>Use <a href="org/apache/hadoop/hbase/client/HTableMultiplexer.html#put(org.apache.hadoop.hbase.TableName,%20java.util.List)"><code>HTableMultiplexer.put(TableName, List)</code></a> instead.</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HTableMultiplexer.html#put(byte[],%20org.apache.hadoop.hbase.client.Put)">org.apache.hadoop.hbase.client.HTableMultiplexer.put(byte[], Put)</a>
 <div class="block"><i>Use <a href="org/apache/hadoop/hbase/client/HTableMultiplexer.html#put(org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.client.Put)"><code>HTableMultiplexer.put(TableName, Put)</code></a> instead.</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HTableMultiplexer.html#put(byte[],%20org.apache.hadoop.hbase.client.Put,%20int)">org.apache.hadoop.hbase.client.HTableMultiplexer.put(byte[], Put, int)</a>
 <div class="block"><i>Use <a href="org/apache/hadoop/hbase/client/HTableMultiplexer.html#put(org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.client.Put)"><code>HTableMultiplexer.put(TableName, Put)</code></a> instead.</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/util/Bytes.html#putIntUnsafe(byte[],%20int,%20int)">org.apache.hadoop.hbase.util.Bytes.putIntUnsafe(byte[], int, int)</a>
 <div class="block"><i>As of release 2.0.0, this will be removed in HBase 3.0.0.</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/util/Bytes.html#putLongUnsafe(byte[],%20int,%20long)">org.apache.hadoop.hbase.util.Bytes.putLongUnsafe(byte[], int, long)</a>
 <div class="block"><i>As of release 2.0.0, this will be removed in HBase 3.0.0.</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/util/Bytes.html#putShortUnsafe(byte[],%20int,%20short)">org.apache.hadoop.hbase.util.Bytes.putShortUnsafe(byte[], int, short)</a>
 <div class="block"><i>As of release 2.0.0, this will be removed in HBase 3.0.0.</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/util/ZKDataMigrator.html#queryForTableStates(org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher)">org.apache.hadoop.hbase.util.ZKDataMigrator.queryForTableStates(ZooKeeperWatcher)</a></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/regionserver/wal/Compressor.html#readCompressed(java.io.DataInput,%20org.apache.hadoop.hbase.io.util.Dictionary)">org.apache.hadoop.hbase.regionserver.wal.Compressor.readCompressed(DataInput, Dictionary)</a></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/io/Reference.html#readFields(java.io.DataInput)">org.apache.hadoop.hbase.io.Reference.readFields(DataInput)</a>
 <div class="block"><i>Writables are going away. Use the pb serialization methods instead.
  Remove in a release after 0.96 goes out.  This is here only to migrate
  old Reference files written with Writables before 0.96.</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/util/Bytes.html#readVLong(byte[],%20int)">org.apache.hadoop.hbase.util.Bytes.readVLong(byte[], int)</a>
 <div class="block"><i>Use <a href="org/apache/hadoop/hbase/util/Bytes.html#readAsVLong(byte[],%20int)"><code>Bytes.readAsVLong(byte[],int)</code></a> instead.</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#relocateRegion(byte[],%20byte[])">org.apache.hadoop.hbase.client.HConnection.relocateRegion(byte[], byte[])</a>
 <div class="block"><i>internal method, do not use through HConnection</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#relocateRegion(org.apache.hadoop.hbase.TableName,%20byte[])">org.apache.hadoop.hbase.client.HConnection.relocateRegion(TableName, byte[])</a>
 <div class="block"><i>internal method, do not use through HConnection</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/regionserver/RegionServerServices.html#reportRegionStateTransition(org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos.RegionStateTransition.TransitionCode,%20org.apache.hadoop.hbase.HRegionInfo...)">org.apache.hadoop.hbase.regionserver.RegionServerServices.reportRegionStateTransition(RegionServerStatusProtos.RegionStateTransition.TransitionCode, HRegionInfo...)</a>
 <div class="block"><i>use <a href="org/apache/hadoop/hbase/regionserver/RegionServerServices.html#reportRegionStateTransition(org.apache.hadoop.hbase.regionserver.RegionServerServices.RegionStateTransitionContext)"><code>RegionServerServices.reportRegionStateTransition(RegionStateTransitionContext)</code></a></i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/regionserver/RegionServerServices.html#reportRegionStateTransition(org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos.RegionStateTransition.TransitionCode,%20long,%20org.apache.hadoop.hbase.HRegionInfo...)">org.apache.hadoop.hbase.regionserver.RegionServerServices.reportRegionStateTransition(RegionServerStatusProtos.RegionStateTransition.TransitionCode, long, HRegionInfo...)</a>
 <div class="block"><i>use <a href="org/apache/hadoop/hbase/regionserver/RegionServerServices.html#reportRegionStateTransition(org.apache.hadoop.hbase.regionserver.RegionServerServices.RegionStateTransitionContext)"><code>RegionServerServices.reportRegionStateTransition(RegionStateTransitionContext)</code></a></i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/regionserver/Store.html#requestCompaction(int,%20org.apache.hadoop.hbase.regionserver.compactions.CompactionRequest)">org.apache.hadoop.hbase.regionserver.Store.requestCompaction(int, CompactionRequest)</a>
 <div class="block"><i>see requestCompaction(int, CompactionRequest, User)</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/regionserver/SplitTransaction.html#rollback(org.apache.hadoop.hbase.Server,%20org.apache.hadoop.hbase.regionserver.RegionServerServices)">org.apache.hadoop.hbase.regionserver.SplitTransaction.rollback(Server, RegionServerServices)</a>
 <div class="block"><i>use #rollback(Server, RegionServerServices, User); as of 1.0.2, remove in 3.0</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/regionserver/RegionMergeTransaction.html#rollback(org.apache.hadoop.hbase.Server,%20org.apache.hadoop.hbase.regionserver.RegionServerServices)">org.apache.hadoop.hbase.regionserver.RegionMergeTransaction.rollback(Server, RegionServerServices)</a>
 <div class="block"><i>use #rollback(Server, RegionServerServices, User)</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HBaseAdmin.html#rollHLogWriter(java.lang.String)">org.apache.hadoop.hbase.client.HBaseAdmin.rollHLogWriter(String)</a>
 <div class="block"><i>use <a href="org/apache/hadoop/hbase/client/HBaseAdmin.html#rollWALWriter(org.apache.hadoop.hbase.ServerName)"><code>HBaseAdmin.rollWALWriter(ServerName)</code></a></i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/security/visibility/VisibilityClient.html#setAuths(org.apache.hadoop.conf.Configuration,%20java.lang.String[],%20java.lang.String)">org.apache.hadoop.hbase.security.visibility.VisibilityClient.setAuths(Configuration, String[], String)</a>
 <div class="block"><i>Use <a href="org/apache/hadoop/hbase/security/visibility/VisibilityClient.html#setAuths(org.apache.hadoop.hbase.client.Connection,%20java.lang.String[],%20java.lang.String)"><code>VisibilityClient.setAuths(Connection,String[],String)</code></a> instead.</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HTableInterface.html#setAutoFlush(boolean,%20boolean)">org.apache.hadoop.hbase.client.HTableInterface.setAutoFlush(boolean, boolean)</a>
 <div class="block"><i>in 0.99 since setting clearBufferOnFail is deprecated.</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HTableInterface.html#setAutoFlushTo(boolean)">org.apache.hadoop.hbase.client.HTableInterface.setAutoFlushTo(boolean)</a>
 <div class="block"><i>in 0.99 since setting clearBufferOnFail is deprecated. Move on to
              <a href="org/apache/hadoop/hbase/client/BufferedMutator.html" title="interface in org.apache.hadoop.hbase.client"><code>BufferedMutator</code></a></i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/http/HttpServer.Builder.html#setBindAddress(java.lang.String)">org.apache.hadoop.hbase.http.HttpServer.Builder.setBindAddress(String)</a></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Get.html#setClosestRowBefore(boolean)">org.apache.hadoop.hbase.client.Get.setClosestRowBefore(boolean)</a>
 <div class="block"><i>since 2.0.0 and will be removed in 3.0.0</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/HTableDescriptor.html#setName(byte[])">org.apache.hadoop.hbase.HTableDescriptor.setName(byte[])</a></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/http/HttpServer.Builder.html#setName(java.lang.String)">org.apache.hadoop.hbase.http.HttpServer.Builder.setName(String)</a></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/HTableDescriptor.html#setName(org.apache.hadoop.hbase.TableName)">org.apache.hadoop.hbase.HTableDescriptor.setName(TableName)</a></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/HTableDescriptor.html#setOwner(org.apache.hadoop.hbase.security.User)">org.apache.hadoop.hbase.HTableDescriptor.setOwner(User)</a></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/HTableDescriptor.html#setOwnerString(java.lang.String)">org.apache.hadoop.hbase.HTableDescriptor.setOwnerString(String)</a></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html#setPeerTableCFs(java.lang.String,%20java.lang.String)">org.apache.hadoop.hbase.client.replication.ReplicationAdmin.setPeerTableCFs(String, String)</a>
 <div class="block"><i>use <a href="org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html#setPeerTableCFs(java.lang.String,%20java.util.Map)"><code>ReplicationAdmin.setPeerTableCFs(String, Map)</code></a></i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/http/HttpServer.Builder.html#setPort(int)">org.apache.hadoop.hbase.http.HttpServer.Builder.setPort(int)</a></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/ConnectionImplementation.html#setRegionCachePrefetch(byte[],%20boolean)">org.apache.hadoop.hbase.client.ConnectionImplementation.setRegionCachePrefetch(byte[], boolean)</a>
 <div class="block"><i>always return false since 0.99</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#setRegionCachePrefetch(byte[],%20boolean)">org.apache.hadoop.hbase.client.HConnection.setRegionCachePrefetch(byte[], boolean)</a>
 <div class="block"><i>does nothing since 0.99</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/ConnectionImplementation.html#setRegionCachePrefetch(org.apache.hadoop.hbase.TableName,%20boolean)">org.apache.hadoop.hbase.client.ConnectionImplementation.setRegionCachePrefetch(TableName, boolean)</a>
 <div class="block"><i>always return false since 0.99</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#setRegionCachePrefetch(org.apache.hadoop.hbase.TableName,%20boolean)">org.apache.hadoop.hbase.client.HConnection.setRegionCachePrefetch(TableName, boolean)</a>
 <div class="block"><i>does nothing since since 0.99</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Table.html#setWriteBufferSize(long)">org.apache.hadoop.hbase.client.Table.setWriteBufferSize(long)</a>
 <div class="block"><i>as of 1.0.1 (should not have been in 1.0.0). Replaced by <a href="org/apache/hadoop/hbase/client/BufferedMutator.html" title="interface in org.apache.hadoop.hbase.client"><code>BufferedMutator</code></a> and
  <a href="org/apache/hadoop/hbase/client/BufferedMutatorParams.html#writeBufferSize(long)"><code>BufferedMutatorParams.writeBufferSize(long)</code></a></i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/BufferedMutatorImpl.html#setWriteBufferSize(long)">org.apache.hadoop.hbase.client.BufferedMutatorImpl.setWriteBufferSize(long)</a>
 <div class="block"><i>Going away when we drop public support for <a href="org/apache/hadoop/hbase/client/HTableInterface.html" title="interface in org.apache.hadoop.hbase.client"><code>HTableInterface</code></a>.</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HTableInterface.html#setWriteBufferSize(long)">org.apache.hadoop.hbase.client.HTableInterface.setWriteBufferSize(long)</a>
 <div class="block"><i>as of 1.0.0. Replaced by <a href="org/apache/hadoop/hbase/client/BufferedMutator.html" title="interface in org.apache.hadoop.hbase.client"><code>BufferedMutator</code></a> and
  <a href="org/apache/hadoop/hbase/client/BufferedMutatorParams.html#writeBufferSize(long)"><code>BufferedMutatorParams.writeBufferSize(long)</code></a></i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#tagsIterator(byte[],%20int,%20int)">org.apache.hadoop.hbase.CellUtil.tagsIterator(byte[], int, int)</a>
 <div class="block"><i>As of 2.0.0 and will be removed in 3.0.0
              Instead use <a href="org/apache/hadoop/hbase/CellUtil.html#tagsIterator(org.apache.hadoop.hbase.Cell)"><code>CellUtil.tagsIterator(Cell)</code></a></i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/util/Bytes.html#toIntUnsafe(byte[],%20int)">org.apache.hadoop.hbase.util.Bytes.toIntUnsafe(byte[], int)</a>
 <div class="block"><i>As of release 2.0.0, this will be removed in HBase 3.0.0.</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/util/Bytes.html#toLongUnsafe(byte[],%20int)">org.apache.hadoop.hbase.util.Bytes.toLongUnsafe(byte[], int)</a>
 <div class="block"><i>As of release 2.0.0, this will be removed in HBase 3.0.0.</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/util/Bytes.html#toShortUnsafe(byte[],%20int)">org.apache.hadoop.hbase.util.Bytes.toShortUnsafe(byte[], int)</a>
 <div class="block"><i>As of release 2.0.0, this will be removed in HBase 3.0.0.</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/regionserver/wal/Compressor.html#uncompressIntoArray(byte[],%20int,%20java.io.DataInput,%20org.apache.hadoop.hbase.io.util.Dictionary)">org.apache.hadoop.hbase.regionserver.wal.Compressor.uncompressIntoArray(byte[], int, DataInput, Dictionary)</a></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#updateCachedLocations(byte[],%20byte[],%20java.lang.Object,%20org.apache.hadoop.hbase.HRegionLocation)">org.apache.hadoop.hbase.client.HConnection.updateCachedLocations(byte[], byte[], Object, HRegionLocation)</a>
 <div class="block"><i>internal method, do not use through HConnection</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#updateCachedLocations(org.apache.hadoop.hbase.TableName,%20byte[],%20byte[],%20java.lang.Object,%20org.apache.hadoop.hbase.ServerName)">org.apache.hadoop.hbase.client.HConnection.updateCachedLocations(TableName, byte[], byte[], Object, ServerName)</a>
 <div class="block"><i>internal method, do not use through HConnection</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#updateCachedLocations(org.apache.hadoop.hbase.TableName,%20byte[],%20java.lang.Object,%20org.apache.hadoop.hbase.HRegionLocation)">org.apache.hadoop.hbase.client.HConnection.updateCachedLocations(TableName, byte[], Object, HRegionLocation)</a>
 <div class="block"><i>internal method, do not use through HConnection</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/zookeeper/ZKUtil.html#updateExistingNodeData(org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher,%20java.lang.String,%20byte[],%20int)">org.apache.hadoop.hbase.zookeeper.ZKUtil.updateExistingNodeData(ZooKeeperWatcher, String, byte[], int)</a>
 <div class="block"><i>Unused</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/regionserver/wal/HLogKey.html#write(java.io.DataOutput)">org.apache.hadoop.hbase.regionserver.wal.HLogKey.write(DataOutput)</a>
 <div class="block"><i>Don't use these Writables methods. Use PB instead.</i></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/regionserver/wal/Compressor.html#writeCompressed(byte[],%20int,%20int,%20java.io.DataOutput,%20org.apache.hadoop.hbase.io.util.Dictionary)">org.apache.hadoop.hbase.regionserver.wal.Compressor.writeCompressed(byte[], int, int, DataOutput, Dictionary)</a></td>
 </tr>
 </tbody>


[06/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.NotSeekedException.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.NotSeekedException.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.NotSeekedException.html
index e8248d4..c36648a 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.NotSeekedException.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.NotSeekedException.html
@@ -59,1847 +59,1848 @@
 <span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.io.encoding.HFileBlockDecodingContext;<a name="line.51"></a>
 <span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.io.hfile.HFile.FileInfo;<a name="line.52"></a>
 <span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.nio.ByteBuff;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.security.EncryptionUtil;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.util.ByteBufferUtils;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.util.IdLock;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.util.ObjectIntPair;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.io.WritableUtils;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.htrace.Trace;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.htrace.TraceScope;<a name="line.61"></a>
-<span class="sourceLineNo">062</span><a name="line.62"></a>
-<span class="sourceLineNo">063</span>import com.google.common.annotations.VisibleForTesting;<a name="line.63"></a>
-<span class="sourceLineNo">064</span><a name="line.64"></a>
-<span class="sourceLineNo">065</span>/**<a name="line.65"></a>
-<span class="sourceLineNo">066</span> * Implementation that can handle all hfile versions of {@link HFile.Reader}.<a name="line.66"></a>
-<span class="sourceLineNo">067</span> */<a name="line.67"></a>
-<span class="sourceLineNo">068</span>@InterfaceAudience.Private<a name="line.68"></a>
-<span class="sourceLineNo">069</span>@edu.umd.cs.findbugs.annotations.SuppressWarnings(value="URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")<a name="line.69"></a>
-<span class="sourceLineNo">070</span>public class HFileReaderImpl implements HFile.Reader, Configurable {<a name="line.70"></a>
-<span class="sourceLineNo">071</span>  // This class is HFileReaderV3 + HFileReaderV2 + AbstractHFileReader all squashed together into<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  // one file.  Ditto for all the HFileReader.ScannerV? implementations. I was running up against<a name="line.72"></a>
-<span class="sourceLineNo">073</span>  // the MaxInlineLevel limit because too many tiers involved reading from an hfile. Was also hard<a name="line.73"></a>
-<span class="sourceLineNo">074</span>  // to navigate the source code when so many classes participating in read.<a name="line.74"></a>
-<span class="sourceLineNo">075</span>  private static final Log LOG = LogFactory.getLog(HFileReaderImpl.class);<a name="line.75"></a>
-<span class="sourceLineNo">076</span><a name="line.76"></a>
-<span class="sourceLineNo">077</span>  /** Data block index reader keeping the root data index in memory */<a name="line.77"></a>
-<span class="sourceLineNo">078</span>  private HFileBlockIndex.CellBasedKeyBlockIndexReader dataBlockIndexReader;<a name="line.78"></a>
-<span class="sourceLineNo">079</span><a name="line.79"></a>
-<span class="sourceLineNo">080</span>  /** Meta block index reader -- always single level */<a name="line.80"></a>
-<span class="sourceLineNo">081</span>  private HFileBlockIndex.ByteArrayKeyBlockIndexReader metaBlockIndexReader;<a name="line.81"></a>
-<span class="sourceLineNo">082</span><a name="line.82"></a>
-<span class="sourceLineNo">083</span>  private final FixedFileTrailer trailer;<a name="line.83"></a>
-<span class="sourceLineNo">084</span><a name="line.84"></a>
-<span class="sourceLineNo">085</span>  /** Filled when we read in the trailer. */<a name="line.85"></a>
-<span class="sourceLineNo">086</span>  private final Compression.Algorithm compressAlgo;<a name="line.86"></a>
-<span class="sourceLineNo">087</span><a name="line.87"></a>
-<span class="sourceLineNo">088</span>  private boolean isPrimaryReplicaReader;<a name="line.88"></a>
-<span class="sourceLineNo">089</span><a name="line.89"></a>
-<span class="sourceLineNo">090</span>  /**<a name="line.90"></a>
-<span class="sourceLineNo">091</span>   * What kind of data block encoding should be used while reading, writing,<a name="line.91"></a>
-<span class="sourceLineNo">092</span>   * and handling cache.<a name="line.92"></a>
-<span class="sourceLineNo">093</span>   */<a name="line.93"></a>
-<span class="sourceLineNo">094</span>  private HFileDataBlockEncoder dataBlockEncoder = NoOpDataBlockEncoder.INSTANCE;<a name="line.94"></a>
-<span class="sourceLineNo">095</span><a name="line.95"></a>
-<span class="sourceLineNo">096</span>  /** Last key in the file. Filled in when we read in the file info */<a name="line.96"></a>
-<span class="sourceLineNo">097</span>  private Cell lastKeyCell = null;<a name="line.97"></a>
-<span class="sourceLineNo">098</span><a name="line.98"></a>
-<span class="sourceLineNo">099</span>  /** Average key length read from file info */<a name="line.99"></a>
-<span class="sourceLineNo">100</span>  private int avgKeyLen = -1;<a name="line.100"></a>
-<span class="sourceLineNo">101</span><a name="line.101"></a>
-<span class="sourceLineNo">102</span>  /** Average value length read from file info */<a name="line.102"></a>
-<span class="sourceLineNo">103</span>  private int avgValueLen = -1;<a name="line.103"></a>
-<span class="sourceLineNo">104</span><a name="line.104"></a>
-<span class="sourceLineNo">105</span>  /** Key comparator */<a name="line.105"></a>
-<span class="sourceLineNo">106</span>  private CellComparator comparator = CellComparator.COMPARATOR;<a name="line.106"></a>
-<span class="sourceLineNo">107</span><a name="line.107"></a>
-<span class="sourceLineNo">108</span>  /** Size of this file. */<a name="line.108"></a>
-<span class="sourceLineNo">109</span>  private final long fileSize;<a name="line.109"></a>
-<span class="sourceLineNo">110</span><a name="line.110"></a>
-<span class="sourceLineNo">111</span>  /** Block cache configuration. */<a name="line.111"></a>
-<span class="sourceLineNo">112</span>  private final CacheConfig cacheConf;<a name="line.112"></a>
-<span class="sourceLineNo">113</span><a name="line.113"></a>
-<span class="sourceLineNo">114</span>  /** Path of file */<a name="line.114"></a>
-<span class="sourceLineNo">115</span>  private final Path path;<a name="line.115"></a>
-<span class="sourceLineNo">116</span><a name="line.116"></a>
-<span class="sourceLineNo">117</span>  /** File name to be used for block names */<a name="line.117"></a>
-<span class="sourceLineNo">118</span>  private final String name;<a name="line.118"></a>
-<span class="sourceLineNo">119</span><a name="line.119"></a>
-<span class="sourceLineNo">120</span>  private FileInfo fileInfo;<a name="line.120"></a>
-<span class="sourceLineNo">121</span><a name="line.121"></a>
-<span class="sourceLineNo">122</span>  private Configuration conf;<a name="line.122"></a>
-<span class="sourceLineNo">123</span><a name="line.123"></a>
-<span class="sourceLineNo">124</span>  private HFileContext hfileContext;<a name="line.124"></a>
-<span class="sourceLineNo">125</span><a name="line.125"></a>
-<span class="sourceLineNo">126</span>  /** Filesystem-level block reader. */<a name="line.126"></a>
-<span class="sourceLineNo">127</span>  private HFileBlock.FSReader fsBlockReader;<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>   * A "sparse lock" implementation allowing to lock on a particular block<a name="line.130"></a>
-<span class="sourceLineNo">131</span>   * identified by offset. The purpose of this is to avoid two clients loading<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   * the same block, and have all but one client wait to get the block from the<a name="line.132"></a>
-<span class="sourceLineNo">133</span>   * cache.<a name="line.133"></a>
-<span class="sourceLineNo">134</span>   */<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  private IdLock offsetLock = new IdLock();<a name="line.135"></a>
-<span class="sourceLineNo">136</span><a name="line.136"></a>
-<span class="sourceLineNo">137</span>  /**<a name="line.137"></a>
-<span class="sourceLineNo">138</span>   * Blocks read from the load-on-open section, excluding data root index, meta<a name="line.138"></a>
-<span class="sourceLineNo">139</span>   * index, and file info.<a name="line.139"></a>
-<span class="sourceLineNo">140</span>   */<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  private List&lt;HFileBlock&gt; loadOnOpenBlocks = new ArrayList&lt;HFileBlock&gt;();<a name="line.141"></a>
-<span class="sourceLineNo">142</span><a name="line.142"></a>
-<span class="sourceLineNo">143</span>  /** Minimum minor version supported by this HFile format */<a name="line.143"></a>
-<span class="sourceLineNo">144</span>  static final int MIN_MINOR_VERSION = 0;<a name="line.144"></a>
-<span class="sourceLineNo">145</span><a name="line.145"></a>
-<span class="sourceLineNo">146</span>  /** Maximum minor version supported by this HFile format */<a name="line.146"></a>
-<span class="sourceLineNo">147</span>  // We went to version 2 when we moved to pb'ing fileinfo and the trailer on<a name="line.147"></a>
-<span class="sourceLineNo">148</span>  // the file. This version can read Writables version 1.<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  static final int MAX_MINOR_VERSION = 3;<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>   * We can read files whose major version is v2 IFF their minor version is at least 3.<a name="line.152"></a>
-<span class="sourceLineNo">153</span>   */<a name="line.153"></a>
-<span class="sourceLineNo">154</span>  private static final int MIN_V2_MINOR_VERSION_WITH_PB = 3;<a name="line.154"></a>
-<span class="sourceLineNo">155</span><a name="line.155"></a>
-<span class="sourceLineNo">156</span>  /** Minor versions starting with this number have faked index key */<a name="line.156"></a>
-<span class="sourceLineNo">157</span>  static final int MINOR_VERSION_WITH_FAKED_KEY = 3;<a name="line.157"></a>
-<span class="sourceLineNo">158</span><a name="line.158"></a>
-<span class="sourceLineNo">159</span>  /**<a name="line.159"></a>
-<span class="sourceLineNo">160</span>   * Opens a HFile. You must load the index before you can use it by calling<a name="line.160"></a>
-<span class="sourceLineNo">161</span>   * {@link #loadFileInfo()}.<a name="line.161"></a>
-<span class="sourceLineNo">162</span>   * @param path<a name="line.162"></a>
-<span class="sourceLineNo">163</span>   *          Path to HFile.<a name="line.163"></a>
-<span class="sourceLineNo">164</span>   * @param trailer<a name="line.164"></a>
-<span class="sourceLineNo">165</span>   *          File trailer.<a name="line.165"></a>
-<span class="sourceLineNo">166</span>   * @param fsdis<a name="line.166"></a>
-<span class="sourceLineNo">167</span>   *          input stream.<a name="line.167"></a>
-<span class="sourceLineNo">168</span>   * @param fileSize<a name="line.168"></a>
-<span class="sourceLineNo">169</span>   *          Length of the stream.<a name="line.169"></a>
-<span class="sourceLineNo">170</span>   * @param cacheConf<a name="line.170"></a>
-<span class="sourceLineNo">171</span>   *          Cache configuration.<a name="line.171"></a>
-<span class="sourceLineNo">172</span>   * @param hfs<a name="line.172"></a>
-<span class="sourceLineNo">173</span>   *          The file system.<a name="line.173"></a>
-<span class="sourceLineNo">174</span>   * @param conf<a name="line.174"></a>
-<span class="sourceLineNo">175</span>   *          Configuration<a name="line.175"></a>
-<span class="sourceLineNo">176</span>   */<a name="line.176"></a>
-<span class="sourceLineNo">177</span>  @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")<a name="line.177"></a>
-<span class="sourceLineNo">178</span>  public HFileReaderImpl(final Path path, FixedFileTrailer trailer,<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      final FSDataInputStreamWrapper fsdis,<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      final long fileSize, final CacheConfig cacheConf, final HFileSystem hfs,<a name="line.180"></a>
-<span class="sourceLineNo">181</span>      final Configuration conf)<a name="line.181"></a>
-<span class="sourceLineNo">182</span>  throws IOException {<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    this.trailer = trailer;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    this.compressAlgo = trailer.getCompressionCodec();<a name="line.184"></a>
-<span class="sourceLineNo">185</span>    this.cacheConf = cacheConf;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    this.fileSize = fileSize;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    this.path = path;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    this.name = path.getName();<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    this.conf = conf;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    checkFileVersion();<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    this.hfileContext = createHFileContext(fsdis, fileSize, hfs, path, trailer);<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    this.fsBlockReader = new HFileBlock.FSReaderImpl(fsdis, fileSize, hfs, path, hfileContext);<a name="line.192"></a>
-<span class="sourceLineNo">193</span><a name="line.193"></a>
-<span class="sourceLineNo">194</span>    // Comparator class name is stored in the trailer in version 2.<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    comparator = trailer.createComparator();<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    dataBlockIndexReader = new HFileBlockIndex.CellBasedKeyBlockIndexReader(comparator,<a name="line.196"></a>
-<span class="sourceLineNo">197</span>        trailer.getNumDataIndexLevels(), this);<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    metaBlockIndexReader = new HFileBlockIndex.ByteArrayKeyBlockIndexReader(1);<a name="line.198"></a>
-<span class="sourceLineNo">199</span><a name="line.199"></a>
-<span class="sourceLineNo">200</span>    // Parse load-on-open data.<a name="line.200"></a>
-<span class="sourceLineNo">201</span><a name="line.201"></a>
-<span class="sourceLineNo">202</span>    HFileBlock.BlockIterator blockIter = fsBlockReader.blockRange(<a name="line.202"></a>
-<span class="sourceLineNo">203</span>        trailer.getLoadOnOpenDataOffset(),<a name="line.203"></a>
-<span class="sourceLineNo">204</span>        fileSize - trailer.getTrailerSize());<a name="line.204"></a>
-<span class="sourceLineNo">205</span><a name="line.205"></a>
-<span class="sourceLineNo">206</span>    // Data index. We also read statistics about the block index written after<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    // the root level.<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    dataBlockIndexReader.readMultiLevelIndexRoot(<a name="line.208"></a>
-<span class="sourceLineNo">209</span>        blockIter.nextBlockWithBlockType(BlockType.ROOT_INDEX),<a name="line.209"></a>
-<span class="sourceLineNo">210</span>        trailer.getDataIndexCount());<a name="line.210"></a>
-<span class="sourceLineNo">211</span><a name="line.211"></a>
-<span class="sourceLineNo">212</span>    // Meta index.<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    metaBlockIndexReader.readRootIndex(<a name="line.213"></a>
-<span class="sourceLineNo">214</span>        blockIter.nextBlockWithBlockType(BlockType.ROOT_INDEX),<a name="line.214"></a>
-<span class="sourceLineNo">215</span>        trailer.getMetaIndexCount());<a name="line.215"></a>
-<span class="sourceLineNo">216</span><a name="line.216"></a>
-<span class="sourceLineNo">217</span>    // File info<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    fileInfo = new FileInfo();<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    fileInfo.read(blockIter.nextBlockWithBlockType(BlockType.FILE_INFO).getByteStream());<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    byte[] creationTimeBytes = fileInfo.get(FileInfo.CREATE_TIME_TS);<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    this.hfileContext.setFileCreateTime(creationTimeBytes == null?  0:<a name="line.221"></a>
-<span class="sourceLineNo">222</span>        Bytes.toLong(creationTimeBytes));<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    if (fileInfo.get(FileInfo.LASTKEY) != null) {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>      lastKeyCell = new KeyValue.KeyOnlyKeyValue(fileInfo.get(FileInfo.LASTKEY));<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    }<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    avgKeyLen = Bytes.toInt(fileInfo.get(FileInfo.AVG_KEY_LEN));<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    avgValueLen = Bytes.toInt(fileInfo.get(FileInfo.AVG_VALUE_LEN));<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    byte [] keyValueFormatVersion = fileInfo.get(HFileWriterImpl.KEY_VALUE_VERSION);<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    includesMemstoreTS = keyValueFormatVersion != null &amp;&amp;<a name="line.229"></a>
-<span class="sourceLineNo">230</span>        Bytes.toInt(keyValueFormatVersion) == HFileWriterImpl.KEY_VALUE_VER_WITH_MEMSTORE;<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    fsBlockReader.setIncludesMemstoreTS(includesMemstoreTS);<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    if (includesMemstoreTS) {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      decodeMemstoreTS = Bytes.toLong(fileInfo.get(HFileWriterImpl.MAX_MEMSTORE_TS_KEY)) &gt; 0;<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    }<a name="line.234"></a>
-<span class="sourceLineNo">235</span><a name="line.235"></a>
-<span class="sourceLineNo">236</span>    // Read data block encoding algorithm name from file info.<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    dataBlockEncoder = HFileDataBlockEncoderImpl.createFromFileInfo(fileInfo);<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    fsBlockReader.setDataBlockEncoder(dataBlockEncoder);<a name="line.238"></a>
-<span class="sourceLineNo">239</span><a name="line.239"></a>
-<span class="sourceLineNo">240</span>    // Store all other load-on-open blocks for further consumption.<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    HFileBlock b;<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    while ((b = blockIter.nextBlock()) != null) {<a name="line.242"></a>
-<span class="sourceLineNo">243</span>      loadOnOpenBlocks.add(b);<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>    // Prefetch file blocks upon open if requested<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    if (cacheConf.shouldPrefetchOnOpen()) {<a name="line.247"></a>
-<span class="sourceLineNo">248</span>      PrefetchExecutor.request(path, new Runnable() {<a name="line.248"></a>
-<span class="sourceLineNo">249</span>        public void run() {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>          try {<a name="line.250"></a>
-<span class="sourceLineNo">251</span>            long offset = 0;<a name="line.251"></a>
-<span class="sourceLineNo">252</span>            long end = fileSize - getTrailer().getTrailerSize();<a name="line.252"></a>
-<span class="sourceLineNo">253</span>            HFileBlock prevBlock = null;<a name="line.253"></a>
-<span class="sourceLineNo">254</span>            while (offset &lt; end) {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>              if (Thread.interrupted()) {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>                break;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>              }<a name="line.257"></a>
-<span class="sourceLineNo">258</span>              long onDiskSize = -1;<a name="line.258"></a>
-<span class="sourceLineNo">259</span>              if (prevBlock != null) {<a name="line.259"></a>
-<span class="sourceLineNo">260</span>                onDiskSize = prevBlock.getNextBlockOnDiskSizeWithHeader();<a name="line.260"></a>
-<span class="sourceLineNo">261</span>              }<a name="line.261"></a>
-<span class="sourceLineNo">262</span>              HFileBlock block = readBlock(offset, onDiskSize, true, false, false, false,<a name="line.262"></a>
-<span class="sourceLineNo">263</span>                null, null);<a name="line.263"></a>
-<span class="sourceLineNo">264</span>              // Need not update the current block. Ideally here the readBlock won't find the<a name="line.264"></a>
-<span class="sourceLineNo">265</span>              // block in cache. We call this readBlock so that block data is read from FS and<a name="line.265"></a>
-<span class="sourceLineNo">266</span>              // cached in BC. So there is no reference count increment that happens here.<a name="line.266"></a>
-<span class="sourceLineNo">267</span>              // The return will ideally be a noop because the block is not of MemoryType SHARED.<a name="line.267"></a>
-<span class="sourceLineNo">268</span>              returnBlock(block);<a name="line.268"></a>
-<span class="sourceLineNo">269</span>              prevBlock = block;<a name="line.269"></a>
-<span class="sourceLineNo">270</span>              offset += block.getOnDiskSizeWithHeader();<a name="line.270"></a>
-<span class="sourceLineNo">271</span>            }<a name="line.271"></a>
-<span class="sourceLineNo">272</span>          } catch (IOException e) {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>            // IOExceptions are probably due to region closes (relocation, etc.)<a name="line.273"></a>
-<span class="sourceLineNo">274</span>            if (LOG.isTraceEnabled()) {<a name="line.274"></a>
-<span class="sourceLineNo">275</span>              LOG.trace("Exception encountered while prefetching " + path + ":", e);<a name="line.275"></a>
-<span class="sourceLineNo">276</span>            }<a name="line.276"></a>
-<span class="sourceLineNo">277</span>          } catch (Exception e) {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>            // Other exceptions are interesting<a name="line.278"></a>
-<span class="sourceLineNo">279</span>            LOG.warn("Exception encountered while prefetching " + path + ":", e);<a name="line.279"></a>
-<span class="sourceLineNo">280</span>          } finally {<a name="line.280"></a>
-<span class="sourceLineNo">281</span>            PrefetchExecutor.complete(path);<a name="line.281"></a>
-<span class="sourceLineNo">282</span>          }<a name="line.282"></a>
-<span class="sourceLineNo">283</span>        }<a name="line.283"></a>
-<span class="sourceLineNo">284</span>      });<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    }<a name="line.285"></a>
-<span class="sourceLineNo">286</span><a name="line.286"></a>
-<span class="sourceLineNo">287</span>    byte[] tmp = fileInfo.get(FileInfo.MAX_TAGS_LEN);<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    // max tag length is not present in the HFile means tags were not at all written to file.<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    if (tmp != null) {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>      hfileContext.setIncludesTags(true);<a name="line.290"></a>
-<span class="sourceLineNo">291</span>      tmp = fileInfo.get(FileInfo.TAGS_COMPRESSED);<a name="line.291"></a>
-<span class="sourceLineNo">292</span>      if (tmp != null &amp;&amp; Bytes.toBoolean(tmp)) {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>        hfileContext.setCompressTags(true);<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      }<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    }<a name="line.295"></a>
-<span class="sourceLineNo">296</span>  }<a name="line.296"></a>
-<span class="sourceLineNo">297</span><a name="line.297"></a>
-<span class="sourceLineNo">298</span>  /**<a name="line.298"></a>
-<span class="sourceLineNo">299</span>   * File version check is a little sloppy. We read v3 files but can also read v2 files if their<a name="line.299"></a>
-<span class="sourceLineNo">300</span>   * content has been pb'd; files written with 0.98.<a name="line.300"></a>
-<span class="sourceLineNo">301</span>   */<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  private void checkFileVersion() {<a name="line.302"></a>
-<span class="sourceLineNo">303</span>    int majorVersion = trailer.getMajorVersion();<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    if (majorVersion == getMajorVersion()) return;<a name="line.304"></a>
-<span class="sourceLineNo">305</span>    int minorVersion = trailer.getMinorVersion();<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    if (majorVersion == 2 &amp;&amp; minorVersion &gt;= MIN_V2_MINOR_VERSION_WITH_PB) return;<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    // We can read v3 or v2 versions of hfile.<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    throw new IllegalArgumentException("Invalid HFile version: major=" +<a name="line.308"></a>
-<span class="sourceLineNo">309</span>      trailer.getMajorVersion() + ", minor=" + trailer.getMinorVersion() + ": expected at least " +<a name="line.309"></a>
-<span class="sourceLineNo">310</span>      "major=2 and minor=" + MAX_MINOR_VERSION);<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  }<a name="line.311"></a>
-<span class="sourceLineNo">312</span><a name="line.312"></a>
-<span class="sourceLineNo">313</span>  @SuppressWarnings("serial")<a name="line.313"></a>
-<span class="sourceLineNo">314</span>  public static class BlockIndexNotLoadedException extends IllegalStateException {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    public BlockIndexNotLoadedException() {<a name="line.315"></a>
-<span class="sourceLineNo">316</span>      // Add a message in case anyone relies on it as opposed to class name.<a name="line.316"></a>
-<span class="sourceLineNo">317</span>      super("Block index not loaded");<a name="line.317"></a>
-<span class="sourceLineNo">318</span>    }<a name="line.318"></a>
-<span class="sourceLineNo">319</span>  }<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>  private String toStringFirstKey() {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    if(getFirstKey() == null)<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      return null;<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    return CellUtil.getCellKeyAsString(getFirstKey());<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  }<a name="line.325"></a>
-<span class="sourceLineNo">326</span><a name="line.326"></a>
-<span class="sourceLineNo">327</span>  private String toStringLastKey() {<a name="line.327"></a>
-<span class="sourceLineNo">328</span>    return CellUtil.toString(getLastKey(), false);<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>  @Override<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  public String toString() {<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    return "reader=" + path.toString() +<a name="line.333"></a>
-<span class="sourceLineNo">334</span>        (!isFileInfoLoaded()? "":<a name="line.334"></a>
-<span class="sourceLineNo">335</span>          ", compression=" + compressAlgo.getName() +<a name="line.335"></a>
-<span class="sourceLineNo">336</span>          ", cacheConf=" + cacheConf +<a name="line.336"></a>
-<span class="sourceLineNo">337</span>          ", firstKey=" + toStringFirstKey() +<a name="line.337"></a>
-<span class="sourceLineNo">338</span>          ", lastKey=" + toStringLastKey()) +<a name="line.338"></a>
-<span class="sourceLineNo">339</span>          ", avgKeyLen=" + avgKeyLen +<a name="line.339"></a>
-<span class="sourceLineNo">340</span>          ", avgValueLen=" + avgValueLen +<a name="line.340"></a>
-<span class="sourceLineNo">341</span>          ", entries=" + trailer.getEntryCount() +<a name="line.341"></a>
-<span class="sourceLineNo">342</span>          ", length=" + fileSize;<a name="line.342"></a>
-<span class="sourceLineNo">343</span>  }<a name="line.343"></a>
-<span class="sourceLineNo">344</span><a name="line.344"></a>
-<span class="sourceLineNo">345</span>  @Override<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  public long length() {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    return fileSize;<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 void returnBlock(HFileBlock block) {<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    BlockCache blockCache = this.cacheConf.getBlockCache();<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    if (blockCache != null &amp;&amp; block != null) {<a name="line.353"></a>
-<span class="sourceLineNo">354</span>      BlockCacheKey cacheKey = new BlockCacheKey(this.getFileContext().getHFileName(),<a name="line.354"></a>
-<span class="sourceLineNo">355</span>          block.getOffset(), this.isPrimaryReplicaReader());<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      blockCache.returnBlock(cacheKey, block);<a name="line.356"></a>
-<span class="sourceLineNo">357</span>    }<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  }<a name="line.358"></a>
-<span class="sourceLineNo">359</span>  /**<a name="line.359"></a>
-<span class="sourceLineNo">360</span>   * @return the first key in the file. May be null if file has no entries. Note<a name="line.360"></a>
-<span class="sourceLineNo">361</span>   *         that this is not the first row key, but rather the byte form of the<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   *         first KeyValue.<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   */<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  @Override<a name="line.364"></a>
-<span class="sourceLineNo">365</span>  public Cell getFirstKey() {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    if (dataBlockIndexReader == null) {<a name="line.366"></a>
-<span class="sourceLineNo">367</span>      throw new BlockIndexNotLoadedException();<a name="line.367"></a>
-<span class="sourceLineNo">368</span>    }<a name="line.368"></a>
-<span class="sourceLineNo">369</span>    return dataBlockIndexReader.isEmpty() ? null<a name="line.369"></a>
-<span class="sourceLineNo">370</span>        : dataBlockIndexReader.getRootBlockKey(0);<a name="line.370"></a>
-<span class="sourceLineNo">371</span>  }<a name="line.371"></a>
-<span class="sourceLineNo">372</span><a name="line.372"></a>
-<span class="sourceLineNo">373</span>  /**<a name="line.373"></a>
-<span class="sourceLineNo">374</span>   * TODO left from {@link HFile} version 1: move this to StoreFile after Ryan's<a name="line.374"></a>
-<span class="sourceLineNo">375</span>   * patch goes in to eliminate {@link KeyValue} here.<a name="line.375"></a>
-<span class="sourceLineNo">376</span>   *<a name="line.376"></a>
-<span class="sourceLineNo">377</span>   * @return the first row key, or null if the file is empty.<a name="line.377"></a>
-<span class="sourceLineNo">378</span>   */<a name="line.378"></a>
-<span class="sourceLineNo">379</span>  @Override<a name="line.379"></a>
-<span class="sourceLineNo">380</span>  public byte[] getFirstRowKey() {<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    Cell firstKey = getFirstKey();<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    // We have to copy the row part to form the row key alone<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    return firstKey == null? null: CellUtil.cloneRow(firstKey);<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>  /**<a name="line.386"></a>
-<span class="sourceLineNo">387</span>   * TODO left from {@link HFile} version 1: move this to StoreFile after<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * Ryan's patch goes in to eliminate {@link KeyValue} here.<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   *<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   * @return the last row key, or null if the file is empty.<a name="line.390"></a>
-<span class="sourceLineNo">391</span>   */<a name="line.391"></a>
-<span class="sourceLineNo">392</span>  @Override<a name="line.392"></a>
-<span class="sourceLineNo">393</span>  public byte[] getLastRowKey() {<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    Cell lastKey = getLastKey();<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    return lastKey == null? null: CellUtil.cloneRow(lastKey);<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  }<a name="line.396"></a>
-<span class="sourceLineNo">397</span><a name="line.397"></a>
-<span class="sourceLineNo">398</span>  /** @return number of KV entries in this HFile */<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  @Override<a name="line.399"></a>
-<span class="sourceLineNo">400</span>  public long getEntries() {<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    return trailer.getEntryCount();<a name="line.401"></a>
-<span class="sourceLineNo">402</span>  }<a name="line.402"></a>
-<span class="sourceLineNo">403</span><a name="line.403"></a>
-<span class="sourceLineNo">404</span>  /** @return comparator */<a name="line.404"></a>
-<span class="sourceLineNo">405</span>  @Override<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  public CellComparator getComparator() {<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    return comparator;<a name="line.407"></a>
-<span class="sourceLineNo">408</span>  }<a name="line.408"></a>
-<span class="sourceLineNo">409</span><a name="line.409"></a>
-<span class="sourceLineNo">410</span>  /** @return compression algorithm */<a name="line.410"></a>
-<span class="sourceLineNo">411</span>  @Override<a name="line.411"></a>
-<span class="sourceLineNo">412</span>  public Compression.Algorithm getCompressionAlgorithm() {<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    return compressAlgo;<a name="line.413"></a>
-<span class="sourceLineNo">414</span>  }<a name="line.414"></a>
-<span class="sourceLineNo">415</span><a name="line.415"></a>
-<span class="sourceLineNo">416</span>  /**<a name="line.416"></a>
-<span class="sourceLineNo">417</span>   * @return the total heap size of data and meta block indexes in bytes. Does<a name="line.417"></a>
-<span class="sourceLineNo">418</span>   *         not take into account non-root blocks of a multilevel data index.<a name="line.418"></a>
-<span class="sourceLineNo">419</span>   */<a name="line.419"></a>
-<span class="sourceLineNo">420</span>  public long indexSize() {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    return (dataBlockIndexReader != null ? dataBlockIndexReader.heapSize() : 0)<a name="line.421"></a>
-<span class="sourceLineNo">422</span>        + ((metaBlockIndexReader != null) ? metaBlockIndexReader.heapSize()<a name="line.422"></a>
-<span class="sourceLineNo">423</span>            : 0);<a name="line.423"></a>
-<span class="sourceLineNo">424</span>  }<a name="line.424"></a>
-<span class="sourceLineNo">425</span><a name="line.425"></a>
-<span class="sourceLineNo">426</span>  @Override<a name="line.426"></a>
-<span class="sourceLineNo">427</span>  public String getName() {<a name="line.427"></a>
-<span class="sourceLineNo">428</span>    return name;<a name="line.428"></a>
-<span class="sourceLineNo">429</span>  }<a name="line.429"></a>
-<span class="sourceLineNo">430</span><a name="line.430"></a>
-<span class="sourceLineNo">431</span>  @Override<a name="line.431"></a>
-<span class="sourceLineNo">432</span>  public HFileBlockIndex.BlockIndexReader getDataBlockIndexReader() {<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    return dataBlockIndexReader;<a name="line.433"></a>
-<span class="sourceLineNo">434</span>  }<a name="line.434"></a>
-<span class="sourceLineNo">435</span><a name="line.435"></a>
-<span class="sourceLineNo">436</span>  @Override<a name="line.436"></a>
-<span class="sourceLineNo">437</span>  public FixedFileTrailer getTrailer() {<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    return trailer;<a name="line.438"></a>
-<span class="sourceLineNo">439</span>  }<a name="line.439"></a>
-<span class="sourceLineNo">440</span><a name="line.440"></a>
-<span class="sourceLineNo">441</span>  @Override<a name="line.441"></a>
-<span class="sourceLineNo">442</span>  public boolean isPrimaryReplicaReader() {<a name="line.442"></a>
-<span class="sourceLineNo">443</span>    return isPrimaryReplicaReader;<a name="line.443"></a>
-<span class="sourceLineNo">444</span>  }<a name="line.444"></a>
-<span class="sourceLineNo">445</span><a name="line.445"></a>
-<span class="sourceLineNo">446</span>  @Override<a name="line.446"></a>
-<span class="sourceLineNo">447</span>  public void setPrimaryReplicaReader(boolean isPrimaryReplicaReader) {<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    this.isPrimaryReplicaReader = isPrimaryReplicaReader;<a name="line.448"></a>
-<span class="sourceLineNo">449</span>  }<a name="line.449"></a>
-<span class="sourceLineNo">450</span><a name="line.450"></a>
-<span class="sourceLineNo">451</span>  @Override<a name="line.451"></a>
-<span class="sourceLineNo">452</span>  public FileInfo loadFileInfo() throws IOException {<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    return fileInfo;<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>   * An exception thrown when an operation requiring a scanner to be seeked<a name="line.457"></a>
-<span class="sourceLineNo">458</span>   * is invoked on a scanner that is not seeked.<a name="line.458"></a>
-<span class="sourceLineNo">459</span>   */<a name="line.459"></a>
-<span class="sourceLineNo">460</span>  @SuppressWarnings("serial")<a name="line.460"></a>
-<span class="sourceLineNo">461</span>  public static class NotSeekedException extends IllegalStateException {<a name="line.461"></a>
-<span class="sourceLineNo">462</span>    public NotSeekedException() {<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      super("Not seeked to a key/value");<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>  protected static class HFileScannerImpl implements HFileScanner {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    private ByteBuff blockBuffer;<a name="line.468"></a>
-<span class="sourceLineNo">469</span>    protected final boolean cacheBlocks;<a name="line.469"></a>
-<span class="sourceLineNo">470</span>    protected final boolean pread;<a name="line.470"></a>
-<span class="sourceLineNo">471</span>    protected final boolean isCompaction;<a name="line.471"></a>
-<span class="sourceLineNo">472</span>    private int currKeyLen;<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    private int currValueLen;<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    private int currMemstoreTSLen;<a name="line.474"></a>
-<span class="sourceLineNo">475</span>    private long currMemstoreTS;<a name="line.475"></a>
-<span class="sourceLineNo">476</span>    // Updated but never read?<a name="line.476"></a>
-<span class="sourceLineNo">477</span>    protected AtomicInteger blockFetches = new AtomicInteger(0);<a name="line.477"></a>
-<span class="sourceLineNo">478</span>    protected final HFile.Reader reader;<a name="line.478"></a>
-<span class="sourceLineNo">479</span>    private int currTagsLen;<a name="line.479"></a>
-<span class="sourceLineNo">480</span>    // buffer backed keyonlyKV<a name="line.480"></a>
-<span class="sourceLineNo">481</span>    private ByteBufferedKeyOnlyKeyValue bufBackedKeyOnlyKv = new ByteBufferedKeyOnlyKeyValue();<a name="line.481"></a>
-<span class="sourceLineNo">482</span>    // A pair for reusing in blockSeek() so that we don't garbage lot of objects<a name="line.482"></a>
-<span class="sourceLineNo">483</span>    final ObjectIntPair&lt;ByteBuffer&gt; pair = new ObjectIntPair&lt;ByteBuffer&gt;();<a name="line.483"></a>
-<span class="sourceLineNo">484</span><a name="line.484"></a>
-<span class="sourceLineNo">485</span>    /**<a name="line.485"></a>
-<span class="sourceLineNo">486</span>     * The next indexed key is to keep track of the indexed key of the next data block.<a name="line.486"></a>
-<span class="sourceLineNo">487</span>     * If the nextIndexedKey is HConstants.NO_NEXT_INDEXED_KEY, it means that the<a name="line.487"></a>
-<span class="sourceLineNo">488</span>     * current data block is the last data block.<a name="line.488"></a>
-<span class="sourceLineNo">489</span>     *<a name="line.489"></a>
-<span class="sourceLineNo">490</span>     * If the nextIndexedKey is null, it means the nextIndexedKey has not been loaded yet.<a name="line.490"></a>
-<span class="sourceLineNo">491</span>     */<a name="line.491"></a>
-<span class="sourceLineNo">492</span>    protected Cell nextIndexedKey;<a name="line.492"></a>
-<span class="sourceLineNo">493</span>    // Current block being used<a name="line.493"></a>
-<span class="sourceLineNo">494</span>    protected HFileBlock curBlock;<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    // Previous blocks that were used in the course of the read<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    protected final ArrayList&lt;HFileBlock&gt; prevBlocks = new ArrayList&lt;HFileBlock&gt;();<a name="line.496"></a>
-<span class="sourceLineNo">497</span><a name="line.497"></a>
-<span class="sourceLineNo">498</span>    public HFileScannerImpl(final HFile.Reader reader, final boolean cacheBlocks,<a name="line.498"></a>
-<span class="sourceLineNo">499</span>        final boolean pread, final boolean isCompaction) {<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      this.reader = reader;<a name="line.500"></a>
-<span class="sourceLineNo">501</span>      this.cacheBlocks = cacheBlocks;<a name="line.501"></a>
-<span class="sourceLineNo">502</span>      this.pread = pread;<a name="line.502"></a>
-<span class="sourceLineNo">503</span>      this.isCompaction = isCompaction;<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>    void updateCurrBlockRef(HFileBlock block) {<a name="line.506"></a>
-<span class="sourceLineNo">507</span>      if (block != null &amp;&amp; this.curBlock != null &amp;&amp;<a name="line.507"></a>
-<span class="sourceLineNo">508</span>          block.getOffset() == this.curBlock.getOffset()) {<a name="line.508"></a>
-<span class="sourceLineNo">509</span>        return;<a name="line.509"></a>
-<span class="sourceLineNo">510</span>      }<a name="line.510"></a>
-<span class="sourceLineNo">511</span>      // We don't have to keep ref to EXCLUSIVE type of block<a name="line.511"></a>
-<span class="sourceLineNo">512</span>      if (this.curBlock != null &amp;&amp; this.curBlock.usesSharedMemory()) {<a name="line.512"></a>
-<span class="sourceLineNo">513</span>        prevBlocks.add(this.curBlock);<a name="line.513"></a>
-<span class="sourceLineNo">514</span>      }<a name="line.514"></a>
-<span class="sourceLineNo">515</span>      this.curBlock = block;<a name="line.515"></a>
-<span class="sourceLineNo">516</span>    }<a name="line.516"></a>
-<span class="sourceLineNo">517</span><a name="line.517"></a>
-<span class="sourceLineNo">518</span>    void reset() {<a name="line.518"></a>
-<span class="sourceLineNo">519</span>      // We don't have to keep ref to EXCLUSIVE type of block<a name="line.519"></a>
-<span class="sourceLineNo">520</span>      if (this.curBlock != null &amp;&amp; this.curBlock.usesSharedMemory()) {<a name="line.520"></a>
-<span class="sourceLineNo">521</span>        this.prevBlocks.add(this.curBlock);<a name="line.521"></a>
-<span class="sourceLineNo">522</span>      }<a name="line.522"></a>
-<span class="sourceLineNo">523</span>      this.curBlock = null;<a name="line.523"></a>
-<span class="sourceLineNo">524</span>    }<a name="line.524"></a>
-<span class="sourceLineNo">525</span><a name="line.525"></a>
-<span class="sourceLineNo">526</span>    private void returnBlockToCache(HFileBlock block) {<a name="line.526"></a>
-<span class="sourceLineNo">527</span>      if (LOG.isTraceEnabled()) {<a name="line.527"></a>
-<span class="sourceLineNo">528</span>        LOG.trace("Returning the block : " + block);<a name="line.528"></a>
-<span class="sourceLineNo">529</span>      }<a name="line.529"></a>
-<span class="sourceLineNo">530</span>      this.reader.returnBlock(block);<a name="line.530"></a>
-<span class="sourceLineNo">531</span>    }<a name="line.531"></a>
-<span class="sourceLineNo">532</span><a name="line.532"></a>
-<span class="sourceLineNo">533</span>    private void returnBlocks(boolean returnAll) {<a name="line.533"></a>
-<span class="sourceLineNo">534</span>      for (int i = 0; i &lt; this.prevBlocks.size(); i++) {<a name="line.534"></a>
-<span class="sourceLineNo">535</span>        returnBlockToCache(this.prevBlocks.get(i));<a name="line.535"></a>
-<span class="sourceLineNo">536</span>      }<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      this.prevBlocks.clear();<a name="line.537"></a>
-<span class="sourceLineNo">538</span>      if (returnAll &amp;&amp; this.curBlock != null) {<a name="line.538"></a>
-<span class="sourceLineNo">539</span>        returnBlockToCache(this.curBlock);<a name="line.539"></a>
-<span class="sourceLineNo">540</span>        this.curBlock = null;<a name="line.540"></a>
-<span class="sourceLineNo">541</span>      }<a name="line.541"></a>
-<span class="sourceLineNo">542</span>    }<a name="line.542"></a>
-<span class="sourceLineNo">543</span>    @Override<a name="line.543"></a>
-<span class="sourceLineNo">544</span>    public boolean isSeeked(){<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      return blockBuffer != null;<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>    @Override<a name="line.548"></a>
-<span class="sourceLineNo">549</span>    public String toString() {<a name="line.549"></a>
-<span class="sourceLineNo">550</span>      return "HFileScanner for reader " + String.valueOf(getReader());<a name="line.550"></a>
-<span class="sourceLineNo">551</span>    }<a name="line.551"></a>
-<span class="sourceLineNo">552</span><a name="line.552"></a>
-<span class="sourceLineNo">553</span>    protected void assertSeeked() {<a name="line.553"></a>
-<span class="sourceLineNo">554</span>      if (!isSeeked())<a name="line.554"></a>
-<span class="sourceLineNo">555</span>        throw new NotSeekedException();<a name="line.555"></a>
-<span class="sourceLineNo">556</span>    }<a name="line.556"></a>
-<span class="sourceLineNo">557</span><a name="line.557"></a>
-<span class="sourceLineNo">558</span>    @Override<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    public HFile.Reader getReader() {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>      return reader;<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    }<a name="line.561"></a>
-<span class="sourceLineNo">562</span><a name="line.562"></a>
-<span class="sourceLineNo">563</span>    protected int getCellBufSize() {<a name="line.563"></a>
-<span class="sourceLineNo">564</span>      int kvBufSize = KEY_VALUE_LEN_SIZE + currKeyLen + currValueLen;<a name="line.564"></a>
-<span class="sourceLineNo">565</span>      if (this.reader.getFileContext().isIncludesTags()) {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>        kvBufSize += Bytes.SIZEOF_SHORT + currTagsLen;<a name="line.566"></a>
-<span class="sourceLineNo">567</span>      }<a name="line.567"></a>
-<span class="sourceLineNo">568</span>      return kvBufSize;<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>    @Override<a name="line.571"></a>
-<span class="sourceLineNo">572</span>    public void close() {<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      this.returnBlocks(true);<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    }<a name="line.574"></a>
-<span class="sourceLineNo">575</span><a name="line.575"></a>
-<span class="sourceLineNo">576</span>    protected int getCurCellSize() {<a name="line.576"></a>
-<span class="sourceLineNo">577</span>      int curCellSize =  KEY_VALUE_LEN_SIZE + currKeyLen + currValueLen<a name="line.577"></a>
-<span class="sourceLineNo">578</span>          + currMemstoreTSLen;<a name="line.578"></a>
-<span class="sourceLineNo">579</span>      if (this.reader.getFileContext().isIncludesTags()) {<a name="line.579"></a>
-<span class="sourceLineNo">580</span>        curCellSize += Bytes.SIZEOF_SHORT + currTagsLen;<a name="line.580"></a>
-<span class="sourceLineNo">581</span>      }<a name="line.581"></a>
-<span class="sourceLineNo">582</span>      return curCellSize;<a name="line.582"></a>
-<span class="sourceLineNo">583</span>    }<a name="line.583"></a>
-<span class="sourceLineNo">584</span><a name="line.584"></a>
-<span class="sourceLineNo">585</span>    protected void readKeyValueLen() {<a name="line.585"></a>
-<span class="sourceLineNo">586</span>      // This is a hot method. We go out of our way to make this method short so it can be<a name="line.586"></a>
-<span class="sourceLineNo">587</span>      // inlined and is not too big to compile. We also manage position in ByteBuffer ourselves<a name="line.587"></a>
-<span class="sourceLineNo">588</span>      // because it is faster than going via range-checked ByteBuffer methods or going through a<a name="line.588"></a>
-<span class="sourceLineNo">589</span>      // byte buffer array a byte at a time.<a name="line.589"></a>
-<span class="sourceLineNo">590</span>      // Get a long at a time rather than read two individual ints. In micro-benchmarking, even<a name="line.590"></a>
-<span class="sourceLineNo">591</span>      // with the extra bit-fiddling, this is order-of-magnitude faster than getting two ints.<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      // Trying to imitate what was done - need to profile if this is better or<a name="line.592"></a>
-<span class="sourceLineNo">593</span>      // earlier way is better by doing mark and reset?<a name="line.593"></a>
-<span class="sourceLineNo">594</span>      // But ensure that you read long instead of two ints<a name="line.594"></a>
-<span class="sourceLineNo">595</span>      long ll = blockBuffer.getLongAfterPosition(0);<a name="line.595"></a>
-<span class="sourceLineNo">596</span>      // Read top half as an int of key length and bottom int as value length<a name="line.596"></a>
-<span class="sourceLineNo">597</span>      this.currKeyLen = (int)(ll &gt;&gt; Integer.SIZE);<a name="line.597"></a>
-<span class="sourceLineNo">598</span>      this.currValueLen = (int)(Bytes.MASK_FOR_LOWER_INT_IN_LONG ^ ll);<a name="line.598"></a>
-<span class="sourceLineNo">599</span>      checkKeyValueLen();<a name="line.599"></a>
-<span class="sourceLineNo">600</span>      // Move position past the key and value lengths and then beyond the key and value<a name="line.600"></a>
-<span class="sourceLineNo">601</span>      int p = (Bytes.SIZEOF_LONG + currKeyLen + currValueLen);<a name="line.601"></a>
-<span class="sourceLineNo">602</span>      if (reader.getFileContext().isIncludesTags()) {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>        // Tags length is a short.<a name="line.603"></a>
-<span class="sourceLineNo">604</span>        this.currTagsLen = blockBuffer.getShortAfterPosition(p);<a name="line.604"></a>
-<span class="sourceLineNo">605</span>        checkTagsLen();<a name="line.605"></a>
-<span class="sourceLineNo">606</span>        p += (Bytes.SIZEOF_SHORT + currTagsLen);<a name="line.606"></a>
-<span class="sourceLineNo">607</span>      }<a name="line.607"></a>
-<span class="sourceLineNo">608</span>      readMvccVersion(p);<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>    private final void checkTagsLen() {<a name="line.611"></a>
-<span class="sourceLineNo">612</span>      if (checkLen(this.currTagsLen)) {<a name="line.612"></a>
-<span class="sourceLineNo">613</span>        throw new IllegalStateException("Invalid currTagsLen " + this.currTagsLen +<a name="line.613"></a>
-<span class="sourceLineNo">614</span>          ". Block offset: " + curBlock.getOffset() + ", block length: " +<a name="line.614"></a>
-<span class="sourceLineNo">615</span>            this.blockBuffer.limit() +<a name="line.615"></a>
-<span class="sourceLineNo">616</span>          ", position: " + this.blockBuffer.position() + " (without header).");<a name="line.616"></a>
-<span class="sourceLineNo">617</span>      }<a name="line.617"></a>
-<span class="sourceLineNo">618</span>    }<a name="line.618"></a>
-<span class="sourceLineNo">619</span><a name="line.619"></a>
-<span class="sourceLineNo">620</span>    /**<a name="line.620"></a>
-<span class="sourceLineNo">621</span>     * Read mvcc. Does checks to see if we even need to read the mvcc at all.<a name="line.621"></a>
-<span class="sourceLineNo">622</span>     * @param offsetFromPos<a name="line.622"></a>
-<span class="sourceLineNo">623</span>     */<a name="line.623"></a>
-<span class="sourceLineNo">624</span>    protected void readMvccVersion(final int offsetFromPos) {<a name="line.624"></a>
-<span class="sourceLineNo">625</span>      // See if we even need to decode mvcc.<a name="line.625"></a>
-<span class="sourceLineNo">626</span>      if (!this.reader.shouldIncludeMemstoreTS()) return;<a name="line.626"></a>
-<span class="sourceLineNo">627</span>      if (!this.reader.isDecodeMemstoreTS()) {<a name="line.627"></a>
-<span class="sourceLineNo">628</span>        currMemstoreTS = 0;<a name="line.628"></a>
-<span class="sourceLineNo">629</span>        currMemstoreTSLen = 1;<a name="line.629"></a>
-<span class="sourceLineNo">630</span>        return;<a name="line.630"></a>
-<span class="sourceLineNo">631</span>      }<a name="line.631"></a>
-<span class="sourceLineNo">632</span>      _readMvccVersion(offsetFromPos);<a name="line.632"></a>
-<span class="sourceLineNo">633</span>    }<a name="line.633"></a>
-<span class="sourceLineNo">634</span><a name="line.634"></a>
-<span class="sourceLineNo">635</span>    /**<a name="line.635"></a>
-<span class="sourceLineNo">636</span>     * Actually do the mvcc read. Does no checks.<a name="line.636"></a>
-<span class="sourceLineNo">637</span>     * @param offsetFromPos<a name="line.637"></a>
-<span class="sourceLineNo">638</span>     */<a name="line.638"></a>
-<span class="sourceLineNo">639</span>    private void _readMvccVersion(int offsetFromPos) {<a name="line.639"></a>
-<span class="sourceLineNo">640</span>      // This is Bytes#bytesToVint inlined so can save a few instructions in this hot method; i.e.<a name="line.640"></a>
-<span class="sourceLineNo">641</span>      // previous if one-byte vint, we'd redo the vint call to find int size.<a name="line.641"></a>
-<span class="sourceLineNo">642</span>      // Also the method is kept small so can be inlined.<a name="line.642"></a>
-<span class="sourceLineNo">643</span>      byte firstByte = blockBuffer.getByteAfterPosition(offsetFromPos);<a name="line.643"></a>
-<span class="sourceLineNo">644</span>      int len = WritableUtils.decodeVIntSize(firstByte);<a name="line.644"></a>
-<span class="sourceLineNo">645</span>      if (len == 1) {<a name="line.645"></a>
-<span class="sourceLineNo">646</span>        this.currMemstoreTS = firstByte;<a name="line.646"></a>
-<span class="sourceLineNo">647</span>      } else {<a name="line.647"></a>
-<span class="sourceLineNo">648</span>        int remaining = len -1;<a name="line.648"></a>
-<span class="sourceLineNo">649</span>        long i = 0;<a name="line.649"></a>
-<span class="sourceLineNo">650</span>        offsetFromPos++;<a name="line.650"></a>
-<span class="sourceLineNo">651</span>        if (remaining &gt;= Bytes.SIZEOF_INT) {<a name="line.651"></a>
-<span class="sourceLineNo">652</span>          i = blockBuffer.getIntAfterPosition(offsetFromPos);<a name="line.652"></a>
-<span class="sourceLineNo">653</span>          remaining -= Bytes.SIZEOF_INT;<a name="line.653"></a>
-<span class="sourceLineNo">654</span>          offsetFromPos += Bytes.SIZEOF_INT;<a name="line.654"></a>
-<span class="sourceLineNo">655</span>        }<a name="line.655"></a>
-<span class="sourceLineNo">656</span>        if (remaining &gt;= Bytes.SIZEOF_SHORT) {<a name="line.656"></a>
-<span class="sourceLineNo">657</span>          short s = blockBuffer.getShortAfterPosition(offsetFromPos);<a name="line.657"></a>
-<span class="sourceLineNo">658</span>          i = i &lt;&lt; 16;<a name="line.658"></a>
-<span class="sourceLineNo">659</span>          i = i | (s &amp; 0xFFFF);<a name="line.659"></a>
-<span class="sourceLineNo">660</span>          remaining -= Bytes.SIZEOF_SHORT;<a name="line.660"></a>
-<span class="sourceLineNo">661</span>          offsetFromPos += Bytes.SIZEOF_SHORT;<a name="line.661"></a>
-<span class="sourceLineNo">662</span>        }<a name="line.662"></a>
-<span class="sourceLineNo">663</span>        for (int idx = 0; idx &lt; remaining; idx++) {<a name="line.663"></a>
-<span class="sourceLineNo">664</span>          byte b = blockBuffer.getByteAfterPosition(offsetFromPos + idx);<a name="line.664"></a>
-<span class="sourceLineNo">665</span>          i = i &lt;&lt; 8;<a name="line.665"></a>
-<span class="sourceLineNo">666</span>          i = i | (b &amp; 0xFF);<a name="line.666"></a>
-<span class="sourceLineNo">667</span>        }<a name="line.667"></a>
-<span class="sourceLineNo">668</span>        currMemstoreTS = (WritableUtils.isNegativeVInt(firstByte) ? ~i : i);<a name="line.668"></a>
-<span class="sourceLineNo">669</span>      }<a name="line.669"></a>
-<span class="sourceLineNo">670</span>      this.currMemstoreTSLen = len;<a name="line.670"></a>
-<span class="sourceLineNo">671</span>    }<a name="line.671"></a>
-<span class="sourceLineNo">672</span><a name="line.672"></a>
-<span class="sourceLineNo">673</span>    /**<a name="line.673"></a>
-<span class="sourceLineNo">674</span>     * Within a loaded block, seek looking for the last key that is smaller than<a name="line.674"></a>
-<span class="sourceLineNo">675</span>     * (or equal to?) the key we are interested in.<a name="line.675"></a>
-<span class="sourceLineNo">676</span>     * A note on the seekBefore: if you have seekBefore = true, AND the first<a name="line.676"></a>
-<span class="sourceLineNo">677</span>     * key in the block = key, then you'll get thrown exceptions. The caller has<a name="line.677"></a>
-<span class="sourceLineNo">678</span>     * to check for that case and load the previous block as appropriate.<a name="line.678"></a>
-<span class="sourceLineNo">679</span>     * @param key<a name="line.679"></a>
-<span class="sourceLineNo">680</span>     *          the key to find<a name="line.680"></a>
-<span class="sourceLineNo">681</span>     * @param seekBefore<a name="line.681"></a>
-<span class="sourceLineNo">682</span>     *          find the key before the given key in case of exact match.<a name="line.682"></a>
-<span class="sourceLineNo">683</span>     * @return 0 in case of an exact key match, 1 in case of an inexact match,<a name="line.683"></a>
-<span class="sourceLineNo">684</span>     *         -2 in case of an inexact match and furthermore, the input key<a name="line.684"></a>
-<span class="sourceLineNo">685</span>     *         less than the first key of current block(e.g. using a faked index<a name="line.685"></a>
-<span class="sourceLineNo">686</span>     *         key)<a name="line.686"></a>
-<span class="sourceLineNo">687</span>     */<a name="line.687"></a>
-<span class="sourceLineNo">688</span>    protected int blockSeek(Cell key, boolean seekBefore) {<a name="line.688"></a>
-<span class="sourceLineNo">689</span>      int klen, vlen, tlen = 0;<a name="line.689"></a>
-<span class="sourceLineNo">690</span>      int lastKeyValueSize = -1;<a name="line.690"></a>
-<span class="sourceLineNo">691</span>      int offsetFromPos;<a name="line.691"></a>
-<span class="sourceLineNo">692</span>      do {<a name="line.692"></a>
-<span class="sourceLineNo">693</span>        offsetFromPos = 0;<a name="line.693"></a>
-<span class="sourceLineNo">694</span>        // Better to ensure that we use the BB Utils here<a name="line.694"></a>
-<span class="sourceLineNo">695</span>        long ll = blockBuffer.getLongAfterPosition(offsetFromPos);<a name="line.695"></a>
-<span class="sourceLineNo">696</span>        klen = (int)(ll &gt;&gt; Integer.SIZE);<a name="line.696"></a>
-<span class="sourceLineNo">697</span>        vlen = (int)(Bytes.MASK_FOR_LOWER_INT_IN_LONG ^ ll);<a name="line.697"></a>
-<span class="sourceLineNo">698</span>        if (klen &lt; 0 || vlen &lt; 0 || klen &gt; blockBuffer.limit()<a name="line.698"></a>
-<span class="sourceLineNo">699</span>            || vlen &gt; blockBuffer.limit()) {<a name="line.699"></a>
-<span class="sourceLineNo">700</span>          throw new IllegalStateException("Invalid klen " + klen + " or vlen "<a name="line.700"></a>
-<span class="sourceLineNo">701</span>              + vlen + ". Block offset: "<a name="line.701"></a>
-<span class="sourceLineNo">702</span>              + curBlock.getOffset() + ", block length: " + blockBuffer.limit() + ", position: "<a name="line.702"></a>
-<span class="sourceLineNo">703</span>              + blockBuffer.position() + " (without header).");<a name="line.703"></a>
-<span class="sourceLineNo">704</span>        }<a name="line.704"></a>
-<span class="sourceLineNo">705</span>        offsetFromPos += Bytes.SIZEOF_LONG;<a name="line.705"></a>
-<span class="sourceLineNo">706</span>        blockBuffer.asSubByteBuffer(blockBuffer.position() + offsetFromPos, klen, pair);<a name="line.706"></a>
-<span class="sourceLineNo">707</span>        bufBackedKeyOnlyKv.setKey(pair.getFirst(), pair.getSecond(), klen);<a name="line.707"></a>
-<span class="sourceLineNo">708</span>        int comp = reader.getComparator().compareKeyIgnoresMvcc(key, bufBackedKeyOnlyKv);<a name="line.708"></a>
-<span class="sourceLineNo">709</span>        offsetFromPos += klen + vlen;<a name="line.709"></a>
-<span class="sourceLineNo">710</span>        if (this.reader.getFileContext().isIncludesTags()) {<a name="line.710"></a>
-<span class="sourceLineNo">711</span>          // Read short as unsigned, high byte first<a name="line.711"></a>
-<span class="sourceLineNo">712</span>          tlen = ((blockBuffer.getByteAfterPosition(offsetFromPos) &amp; 0xff) &lt;&lt; 8)<a name="line.712"></a>
-<span class="sourceLineNo">713</span>              ^ (blockBuffer.getByteAfterPosition(offsetFromPos + 1) &amp; 0xff);<a name="line.713"></a>
-<span class="sourceLineNo">714</span>          if (tlen &lt; 0 || tlen &gt; blockBuffer.limit()) {<a name="line.714"></a>
-<span class="sourceLineNo">715</span>            throw new IllegalStateException("Invalid tlen " + tlen + ". Block offset: "<a name="line.715"></a>
-<span class="sourceLineNo">716</span>                + curBlock.getOffset() + ", block length: " + blockBuffer.limit() + ", position: "<a name="line.716"></a>
-<span class="sourceLineNo">717</span>                + blockBuffer.position() + " (without header).");<a name="line.717"></a>
-<span class="sourceLineNo">718</span>          }<a name="line.718"></a>
-<span class="sourceLineNo">719</span>          // add the two bytes read for the tags.<a name="line.719"></a>
-<span class="sourceLineNo">720</span>          offsetFromPos += tlen + (Bytes.SIZEOF_SHORT);<a name="line.720"></a>
-<span class="sourceLineNo">721</span>        }<a name="line.721"></a>
-<span class="sourceLineNo">722</span>        if (this.reader.shouldIncludeMemstoreTS()) {<a name="line.722"></a>
-<span class="sourceLineNo">723</span>          // Directly read the mvcc based on current position<a name="line.723"></a>
-<span class="sourceLineNo">724</span>          readMvccVersion(offsetFromPos);<a name="line.724"></a>
-<span class="sourceLineNo">725</span>        }<a name="line.725"></a>
-<span class="sourceLineNo">726</span>        if (comp == 0) {<a name="line.726"></a>
-<span class="sourceLineNo">727</span>          if (seekBefore) {<a name="line.727"></a>
-<span class="sourceLineNo">728</span>            if (lastKeyValueSize &lt; 0) {<a name="line.728"></a>
-<span class="sourceLineNo">729</span>              throw new IllegalStateException("blockSeek with seekBefore "<a name="line.729"></a>
-<span class="sourceLineNo">730</span>                  + "at the first key of the block: key=" + CellUtil.getCellKeyAsString(key)<a name="line.730"></a>
-<span class="sourceLineNo">731</span>                  + ", blockOffset=" + curBlock.getOffset() + ", onDiskSize="<a name="line.731"></a>
-<span class="sourceLineNo">732</span>                  + curBlock.getOnDiskSizeWithHeader());<a name="line.732"></a>
-<span class="sourceLineNo">733</span>            }<a name="line.733"></a>
-<span class="sourceLineNo">734</span>            blockBuffer.moveBack(lastKeyValueSize);<a name="line.734"></a>
-<span class="sourceLineNo">735</span>            readKeyValueLen();<a name="line.735"></a>
-<span class="sourceLineNo">736</span>            return 1; // non exact match.<a name="line.736"></a>
-<span class="sourceLineNo">737</span>          }<a name="line.737"></a>
-<span class="sourceLineNo">738</span>          currKeyLen = klen;<a name="line.738"></a>
-<span class="sourceLineNo">739</span>          currValueLen = vlen;<a name="line.739"></a>
-<span class="sourceLineNo">740</span>          currTagsLen = tlen;<a name="line.740"></a>
-<span class="sourceLineNo">741</span>          return 0; // indicate exact match<a name="line.741"></a>
-<span class="sourceLineNo">742</span>        } else if (comp &lt; 0) {<a name="line.742"></a>
-<span class="sourceLineNo">743</span>          if (lastKeyValueSize &gt; 0) {<a name="line.743"></a>
-<span class="sourceLineNo">744</span>            blockBuffer.moveBack(lastKeyValueSize);<a name="line.744"></a>
-<span class="sourceLineNo">745</span>          }<a name="line.745"></a>
-<span class="sourceLineNo">746</span>          readKeyValueLen();<a name="line.746"></a>
-<span class="sourceLineNo">747</span>          if (lastKeyValueSize == -1 &amp;&amp; blockBuffer.position() == 0) {<a name="line.747"></a>
-<span class="sourceLineNo">748</span>            return HConstants.INDEX_KEY_MAGIC;<a name="line.748"></a>
-<span class="sourceLineNo">749</span>          }<a name="line.749"></a>
-<span class="sourceLineNo">750</span>          return 1;<a name="line.750"></a>
-<span class="sourceLineNo">751</span>        }<a name="line.751"></a>
-<span class="sourceLineNo">752</span>        // The size of this key/value tuple, including key/value length fields.<a name="line.752"></a>
-<span class="sourceLineNo">753</span>        lastKeyValueSize = klen + vlen + currMemstoreTSLen + KEY_VALUE_LEN_SIZE;<a name="line.753"></a>
-<span class="sourceLineNo">754</span>        // include tag length also if tags included with KV<a name="line.754"></a>
-<span class="sourceLineNo">755</span>        if (reader.getFileContext().isIncludesTags()) {<a name="line.755"></a>
-<span class="sourceLineNo">756</span>          lastKeyValueSize += tlen + Bytes.SIZEOF_SHORT;<a name="line.756"></a>
-<span class="sourceLineNo">757</span>        }<a name="line.757"></a>
-<span class="sourceLineNo">758</span>        blockBuffer.skip(lastKeyValueSize);<a name="line.758"></a>
-<span class="sourceLineNo">759</span>      } while (blockBuffer.hasRemaining());<a name="line.759"></a>
-<span class="sourceLineNo">760</span><a name="line.760"></a>
-<span class="sourceLineNo">761</span>      // Seek to the last key we successfully read. This will happen if this is<a name="line.761"></a>
-<span class="sourceLineNo">762</span>      // the last key/value pair in the file, in which case the following call<a name="line.762"></a>
-<span class="sourceLineNo">763</span>      // to next() has to return false.<a name="line.763"></a>
-<span class="sourceLineNo">764</span>      blockBuffer.moveBack(lastKeyValueSize);<a name="line.764"></a>
-<span class="sourceLineNo">765</span>      readKeyValueLen();<a name="line.765"></a>
-<span class="sourceLineNo">766</span>      return 1; // didn't exactly find it.<a name="line.766"></a>
-<span class="sourceLineNo">767</span>    }<a name="line.767"></a>
-<span class="sourceLineNo">768</span><a name="line.768"></a>
-<span class="sourceLineNo">769</span>    @Override<a name="line.769"></a>
-<span class="sourceLineNo">770</span>    public Cell getNextIndexedKey() {<a name="line.770"></a>
-<span class="sourceLineNo">771</span>      return nextIndexedKey;<a name="line.771"></a>
-<span class="sourceLineNo">772</span>    }<a name="line.772"></a>
-<span class="sourceLineNo">773</span><a name="line.773"></a>
-<span class="sourceLineNo">774</span>    @Override<a name="line.774"></a>
-<span class="sourceLineNo">775</span>    public int seekTo(Cell key) throws IOException {<a name="line.775"></a>
-<span class="sourceLineNo">776</span>      return seekTo(key, true);<a name="line.776"></a>
-<span class="sourceLineNo">777</span>    }<a name="line.777"></a>
-<span class="sourceLineNo">778</span><a name="line.778"></a>
-<span class="sourceLineNo">779</span>    @Override<a name="line.779"></a>
-<span class="sourceLineNo">780</span>    public int reseekTo(Cell key) throws IOException {<a name="line.780"></a>
-<span class="sourceLineNo">781</span>      int compared;<a name="line.781"></a>
-<span class="sourceLineNo">782</span>      if (isSeeked()) {<a name="line.782"></a>
-<span class="sourceLineNo">783</span>        compared = compareKey(reader.getComparator(), key);<a name="line.783"></a>
-<span class="sourceLineNo">784</span>        if (compared &lt; 1) {<a name="line.784"></a>
-<span class="sourceLineNo">785</span>          // If the required key is less than or equal to current key, then<a name="line.785"></a>
-<span class="sourceLineNo">786</span>          // don't do anything.<a name="line.786"></a>
-<span class="sourceLineNo">787</span>          return compared;<a name="line.787"></a>
-<span class="sourceLineNo">788</span>        } else {<a name="line.788"></a>
-<span class="sourceLineNo">789</span>          // The comparison with no_next_index_key has to be checked<a name="line.789"></a>
-<span class="sourceLineNo">790</span>          if (this.nextIndexedKey != null &amp;&amp;<a name="line.790"></a>
-<span class="sourceLineNo">791</span>              (this.nextIndexedKey == HConstants.NO_NEXT_INDEXED_KEY || reader<a name="line.791"></a>
-<span class="sourceLineNo">792</span>              .getComparator().compareKeyIgnoresMvcc(key, nextIndexedKey) &lt; 0)) {<a name="line.792"></a>
-<span class="sourceLineNo">793</span>            // The reader shall continue to scan the current data block instead<a name="line.793"></a>
-<span class="sourceLineNo">794</span>            // of querying the<a name="line.794"></a>
-<span class="sourceLineNo">795</span>            // block index as long as it knows the target key is strictly<a name="line.795"></a>
-<span class="sourceLineNo">796</span>            // smaller than<a name="line.796"></a>
-<span class="sourceLineNo">797</span>            // the next indexed key or the current data block is the last data<a name="line.797"></a>
-<span class="sourceLineNo">798</span>            // block.<a name="line.798"></a>
-<span class="sourceLineNo">799</span>            return loadBlockAndSeekToKey(this.curBlock, nextIndexedKey, false, key,<a name="line.799"></a>
-<span class="sourceLineNo">800</span>                false);<a name="line.800"></a>
-<span class="sourceLineNo">801</span>          }<a name="line.801"></a>
-<span class="sourceLineNo">802</span><a name="line.802"></a>
-<span class="sourceLineNo">803</span>        }<a name="line.803"></a>
-<span class="sourceLineNo">804</span>      }<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      // Don't rewind on a reseek operation, because reseek implies that we are<a name="line.805"></a>
-<span class="sourceLineNo">806</span>      // always going forward in the file.<a name="line.806"></a>
-<span class="sourceLineNo">807</span>      return seekTo(key, false);<a name="line.807"></a>
-<span class="sourceLineNo">808</span>    }<a name="line.808"></a>
-<span class="sourceLineNo">809</span><a name="line.809"></a>
-<span class="sourceLineNo">810</span>    /**<a name="line.810"></a>
-<span class="sourceLineNo">811</span>     * An internal API function. Seek to the given key, optionally rewinding to<a name="line.811"></a>
-<span class="sourceLineNo">812</span>     * the first key of the block before doing the seek.<a name="line.812"></a>
-<span class="sourceLineNo">813</span>     *<a name="line.813"></a>
-<span class="sourceLineNo">814</span>     * @param key - a cell representing the key that we need to fetch<a name="line.814"></a>
-<span class="sourceLineNo">815</span>     * @param rewind whether to rewind to the first key of the block before<a name="line.815"></a>
-<span class="sourceLineNo">816</span>     *        doing the seek. If this is false, we are assuming we never go<a name="line.816"></a>
-<span class="sourceLineNo">817</span>     *        back, otherwise the result is undefined.<a name="line.817"></a>
-<span class="sourceLineNo">818</span>     * @return -1 if the key is earlier than the first key of the file,<a name="line.818"></a>
-<span class="sourceLineNo">819</span>     *         0 if we are at the given key, 1 if we are past the given key<a name="line.819"></a>
-<span class="sourceLineNo">820</span>     *         -2 if the key is earlier than the first key of the file while<a name="line.820"></a>
-<span class="sourceLineNo">821</span>     *         using a faked index key<a name="line.821"></a>
-<span class="sourceLineNo">822</span>     * @throws IOException<a name="line.822"></a>
-<span class="sourceLineNo">823</span>     */<a name="line.823"></a>
-<span class="sourceLineNo">824</span>    public int seekTo(Cell key, boolean rewind) throws IOException {<a name="line.824"></a>
-<span class="sourceLineNo">825</span>      HFileBlockIndex.BlockIndexReader indexReader = reader.getDataBlockIndexReader();<a name="line.825"></a>
-<span class="sourceLineNo">826</span>      BlockWithScanInfo blockWithScanInfo = indexReader.loadDataBlockWithScanInfo(key, curBlock,<a name="line.826"></a>
-<span class="sourceLineNo">827</span>          cacheBlocks, pread, isCompaction, getEffectiveDataBlockEncoding());<a name="line.827"></a>
-<span class="sourceLineNo">828</span>      if (blockWithScanInfo == null || blockWithScanInfo.getHFileBlock() == null) {<a name="line.828"></a>
-<span class="sourceLineNo">829</span>        // This happens if the key e.g. falls before the beginning of the<a name="line.829"></a>
-<span class="sourceLineNo">830</span>        // file.<a name="line.830"></a>
-<span class="sourceLineNo">831</span>        return -1;<a name="line.831"></a>
-<span class="sourceLineNo">832</span>      }<a name="line.832"></a>
-<span class="sourceLineNo">833</span>      return loadBlockAndSeekToKey(blockWithScanInfo.getHFileBlock(),<a name="line.833"></a>
-<span class="sourceLineNo">834</span>          blockWithScanInfo.getNextIndexedKey(), rewind, key, false);<a name="line.834"></a>
-<span class="sourceLineNo">835</span>    }<a name="line.835"></a>
-<span class="sourceLineNo">836</span><a name="line.836"></a>
-<span class="sourceLineNo">837</span>    @Override<a name="line.837"></a>
-<span class="sourceLineNo">838</span>    public boolean seekBefore(Cell key) throws IOException {<a name="line.838"></a>
-<span class="sourceLineNo">839</span>      HFileBlock seekToBlock = reader.getDataBlockIndexReader().seekToDataBlock(key, curBlock,<a name="line.839"></a>
-<span class="sourceLineNo">840</span>          cacheBlocks, pread, isCompaction, reader.getEffectiveEncodingInCache(isCompaction));<a name="line.840"></a>
-<span class="sourceLineNo">841</span>      if (seekToBlock == null) {<a name="line.841"></a>
-<span class="sourceLineNo">842</span>        return false;<a name="line.842"></a>
-<span class="sourceLineNo">843</span>      }<a name="line.843"></a>
-<span class="sourceLineNo">844</span>      Cell firstKey = getFirstKeyCellInBlock(seekToBlock);<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      if (reader.getComparator()<a name="line.845"></a>
-<span class="sourceLineNo">846</span>           .compareKeyIgnoresMvcc(firstKey, key) &gt;= 0) {<a name="line.846"></a>
-<span class="sourceLineNo">847</span>        long previousBlockOffset = seekToBlock.getPrevBlockOffset();<a name="line.847"></a>
-<span class="sourceLineNo">848</span>        // The key we are interested in<a name="line.848"></a>
-<span class="sourceLineNo">849</span>        if (previousBlockOffset == -1) {<a name="line.849"></a>
-<span class="sourceLineNo">850</span>          // we have a 'problem', the key we want is the first of the file.<a name="line.850"></a>
-<span class="sourceLineNo">851</span>          return false;<a name="line.851"></a>
-<span class="sourceLineNo">852</span>        }<a name="line.852"></a>
-<span class="sourceLineNo">853</span><a name="line.853"></a>
-<span class="sourceLineNo">854</span>        // The first key in the current block 'seekToBlock' is greater than the given <a name="line.854"></a>
-<span class="sourceLineNo">855</span>        // seekBefore key. We will go ahead by reading the next block that satisfies the<a name="line.855"></a>
-<span class="sourceLineNo">856</span>        // given key. Return the current block before reading the next one.<a name="line.856"></a>
-<span class="sourceLineNo">857</span>        reader.returnBlock(seekToBlock);<a name="line.857"></a>
-<span class="sourceLineNo">858</span>        // It is important that we compute and pass onDiskSize to the block<a name="line.858"></a>
-<span class="sourceLineNo">859</span>        // reader so that it does not have to read the header separately to<a name="line.859"></a>
-<span class="sourceLineNo">860</span>        // figure out the size.  Currently, we do not have a way to do this<a name="line.860"></a>
-<span class="sourceLineNo">861</span>        // correctly in the general case however.<a name="line.861"></a>
-<span class="sourceLineNo">862</span>        // TODO: See https://issues.apache.org/jira/browse/HBASE-14576<a name="line.862"></a>
-<span class="sourceLineNo">863</span>        int prevBlockSize = -1;<a name="line.863"></a>
-<span class="sourceLineNo">864</span>        seekToBlock = reader.readBlock(previousBlockOffset,<a name="line.864"></a>
-<span class="sourceLineNo">865</span>            prevBlockSize, cacheBlocks,<a name="line.865"></a>
-<span class="sourceLineNo">866</span>            pread, isCompaction, true, BlockType.DATA, getEffectiveDataBlockEncoding());<a name="line.866"></a>
-<span class="sourceLineNo">867</span>        // TODO shortcut: seek forward in this block to the last key of the<a name="line.867"></a>
-<span class="sourceLineNo">868</span>        // block.<a name="line.868"></a>
-<span class="sourceLineNo">869</span>      }<a name="line.869"></a>
-<span class="sourceLineNo">870</span>      loadBlockAndSeekToKey(seekToBlock, firstKey, true, key, true);<a name="line.870"></a>
-<span class="sourceLineNo">871</span>      return true;<a name="line.871"></a>
-<span class="sourceLineNo">872</span>    }<a name="line.872"></a>
-<span class="sourceLineNo">873</span><a name="line.873"></a>
-<span class="sourceLineNo">874</span>    /**<a name="line.874"></a>
-<span class="sourceLineNo">875</span>     * Scans blocks in the "scanned" section of the {@link HFile} until the next<a name="line.875"></a>
-<span class="sourceLineNo">876</span>     * data block is found.<a name="line.876"></a>
-<span class="sourceLineNo">877</span>     *<a name="line.877"></a>
-<span class="sourceLineNo">878</span>     * @return the next block, or null if there are no more data blocks<a name="line.878"></a>
-<span class="sourceLineNo">879</span>     * @throws IOException<a name="line.879"></a>
-<span class="sourceLineNo">880</span>     */<a name="line.880"></a>
-<span class="sourceLineNo">881</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="NP_NULL_ON_SOME_PATH",<a name="line.881"></a>
-<span class="sourceLineNo">882</span>        justification="Yeah, unnecessary null check; could do w/ clean up")<a name="line.882"></a>
-<span class="sourceLineNo">883</span>    protected HFileBlock readNextDataBlock() throws IOException {<a name="line.883"></a>
-<span class="sourceLineNo">884</span>      long lastDataBlockOffset = reader.getTrailer().getLastDataBlockOffset();<a name="line.884"></a>
-<span class="sourceLineNo">885</span>      if (curBlock == null)<a name="line.885"></a>
-<span class="sourceLineNo">886</span>        return null;<a name="line.886"></a>
-<span class="sourceLineNo">887</span><a name="line.887"></a>
-<span class="sourceLineNo">888</span>      HFileBlock block = this.curBlock;<a name="line.888"></a>
-<span class="sourceLineNo">889</span><a name="line.889"></a>
-<span class="sourceLineNo">890</span>      do {<a name="line.890"></a>
-<span class="sourceLineNo">891</span>        if (block.getOffset() &gt;= lastDataBlockOffset) {<a name="line.891"></a>
-<span class="sourceLineNo">892</span>          return null;<a name="line.892"></a>
-<span class="sourceLineNo">893</span>        }<a name="line.893"></a>
-<span class="sourceLineNo">894</span><a name="line.894"></a>
-<span class="sourceLineNo">895</span>        if (block.getOffset() &lt; 0) {<a name="line.895"></a>
-<span class="sourceLineNo">896</span>          throw new IOException("Invalid block file offset: " + block);<a name="line.896"></a>
-<span class="sourceLineNo">897</span>        }<a name="line.897"></a>
-<span class="sourceLineNo">898</span><a name="line.898"></a>
-<span class="sourceLineNo">899</span>        // We are reading the next block without block type validation, because<a name="line.899"></a>
-<span class="sourceLineNo">900</span>        // it might turn out to be a non-data block.<a name="line.900"></a>
-<span class="sourceLineNo">901</span>        block = reader.readBlock(block.getOffset()<a name="line.901"></a>
-<span class="sourceLineNo">902</span>            + block.getOnDiskSizeWithHeader(),<a name="line.902"></a>
-<span class="sourceLineNo">903</span>            block.getNextBlockOnDiskSizeWithHeader(), cacheBlocks, pread,<a name="line.903"></a>
-<span class="sourceLineNo">904</span>            isCompaction, true, null, getEffectiveDataBlockEncoding());<a name="line.904"></a>
-<span class="sourceLineNo">905</span>        if (block != null &amp;&amp; !block.getBlockType().isData()) { // Findbugs: NP_NULL_ON_SOME_PATH<a name="line.905"></a>
-<span class="sourceLineNo">906</span>          // Whatever block we read we will be returning it unless<a name="line.906"></a>
-<span class="sourceLineNo">907</span>          // it is a datablock. Just in case the blocks are non data blocks<a name="line.907"></a>
-<span class="sourceLineNo">908</span>          reader.returnBlock(block);<a name="line.908"></a>
-<span class="sourceLineNo">909</span>        }<a name="line.909"></a>
-<span class="sourceLineNo">910</span>      } while (!block.getBlockType().isData());<a name="line.910"></a>
-<span class="sourceLineNo">911</span><a name="line.911"></a>
-<span class="sourceLineNo">912</span>      return block;<a name="line.912"></a>
-<span class="sourceLineNo">913</span>    }<a name="line.913"></a>
-<span class="sourceLineNo">914</span><a name="line.914"></a>
-<span class="sourceLineNo">915</span>    public DataBlockEncoding getEffectiveDataBlockEncoding() {<a name="line.915"></a>
-<span class="sourceLineNo">916</span>      return this.reader.getEffectiveEncodingInCache(isCompaction);<a name="line.916"></a>
-<span class="sourceLineNo">917</span>    }<a name="line.917"></a>
-<span class="sourceLineNo">918</span><a name="line.918"></a>
-<span class="sourceLineNo">919</span>    @Override<a name="line.919"></a>
-<span class="sourceLineNo">920</span>    public Cell getCell() {<a name="line.920"></a>
-<span class="sourceLineNo">921</span>      if (!isSeeked())<a name="line.921"></a>
-<span class="sourceLineNo">922</span>        return null;<a name="line.922"></a>
-<span class="sourceLineNo">923</span><a name="line.923"></a>
-<span class="sourceLineNo">924</span>      Cell ret;<a name="line.924"></a>
-<span class="sourceLineNo">925</span>      int cellBufSize = getCellBufSize();<a name="line.925"></a>
-<span class="sourceLineNo">926</span>      long seqId = 0l;<a name="line.926"></a>
-<span class="sourceLineNo">927</span>      if (this.reader.shouldIncludeMemstoreTS()) {<a name="line.927"></a>
-<span class="sourceLineNo">928</span>        seqId = currMemstoreTS;<a name="line.928"></a>
-<span class="sourceLineNo">929</span>      }<a name="line.929"></a>
-<span class="sourceLineNo">930</span>      if (blockBuffer.hasArray()) {<a name="line.930"></a>
-<span class="sourceLineNo">931</span>        // TODO : reduce the varieties of KV here. Check if based on a boolean<a name="line.931"></a>
-<span class="sourceLineNo">932</span>        // we can handle the 'no tags' case.<a name="line.932"></a>
-<span class="sourceLineNo">933</span>        if (currTagsLen &gt; 0) {<a name="line.933"></a>
-<span class="sourceLineNo">934</span>          if (this.curBlock.usesSharedMemory()) {<a name="line.934"></a>
-<span class="sourceLineNo">935</span>            ret = new ShareableMemoryKeyValue(blockBuffer.array(), blockBuffer.arrayOffset()<a name="line.935"></a>
-<span class="sourceLineNo">936</span>              + blockBuffer.position(), getCellBufSize(), seqId);<a name="line.936"></a>
-<span class="sourceLineNo">937</span>          } else {<a name="line.937"></a>
-<span class="sourceLineNo">938</span>            ret = new SizeCachedKeyValue(blockBuffer.array(), blockBuffer.arrayOffset()<a name="line.938"></a>
-<span class="sourceLineNo">939</span>                    + blockBuffer.position(), cellBufSize, seqId);<a name="line.939"></a>
-<span class="sourceLineNo">940</span>          }<a name="line.940"></a>
-<span class="sourceLineNo">941</span>        } else {<a name="line.941"></a>
-<span class="sourceLineNo">942</span>          if (this.curBlock.usesSharedMemory()) {<a name="line.942"></a>
-<span class="sourceLineNo">943</span>            ret = ne

<TRUNCATED>

[33/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/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 611da9c..34dccdb 100644
--- a/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.Call.html
+++ b/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.Call.html
@@ -103,7 +103,7 @@
 </dl>
 <hr>
 <br>
-<pre> class <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.287">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
@@ -389,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.288">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">
@@ -398,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.289">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">
@@ -407,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.290">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">
@@ -416,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.291">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">
@@ -425,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.292">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">
@@ -434,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.294">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">
@@ -443,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.295">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">
@@ -452,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.296">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">
@@ -461,7 +461,7 @@ 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.301">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>
@@ -471,7 +471,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.ht
 <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.302">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.Call.html#line.301">responder</a></pre>
 </li>
 </ul>
 <a name="size">
@@ -480,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.304">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">
@@ -489,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.305">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">
@@ -498,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.306">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">
@@ -507,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.307">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">
@@ -516,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.309">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">
@@ -525,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.310">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">
@@ -534,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.311">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">
@@ -543,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.313">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">
@@ -552,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.314">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">
@@ -561,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.315">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>
@@ -578,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.319">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,
@@ -605,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.347">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>
@@ -616,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.357">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>
@@ -629,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.363">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()">
@@ -638,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.371">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()">
@@ -647,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.380">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)">
@@ -656,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.387">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)">
@@ -665,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.391">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>
@@ -677,7 +677,7 @@ 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.458">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>
@@ -689,7 +689,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.ht
 <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.481">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
@@ -708,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.486">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>
@@ -725,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.494">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()">
@@ -734,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.498">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
@@ -751,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.502">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.
 
@@ -770,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.507">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>
@@ -783,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.512">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>
@@ -796,7 +796,7 @@ 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.516">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>
 <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>
@@ -808,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.520">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()">
@@ -817,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.525">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>
@@ -833,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.530">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>
@@ -846,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.536">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>
@@ -859,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.541">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>
@@ -872,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.546">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>
@@ -888,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.551">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/a7e5a8ce/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 82f0842..061be46 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.1183">RpcServer.Connection</a>
+<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.1182">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.1185">connectionPreambleRead</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1184">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.1187">connectionHeaderRead</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1186">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.1188">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.1187">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.1189">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.1188">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.1190">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.1189">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.1191">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.1190">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.1192">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.1191">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.1193">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.1192">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.1194">lastContact</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1193">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.1195">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.1194">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.1196">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.1195">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.1199">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.1198">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.1200">remotePort</a></pre>
+<pre>protected&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1199">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.1201">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.1200">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.1205">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.1204">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.1209">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.1208">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.1210">service</a></pre>
+<pre>com.google.protobuf.BlockingService <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1209">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.1212">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.1211">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.1213">saslContextEstablished</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1212">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.1214">skipInitialSaslHandshake</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1213">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.1215">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.1214">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.1217">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.1216">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.1218">useSasl</a></pre>
+<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1217">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.1219">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.1218">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.1220">useWrap</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1219">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.1222">AUTHORIZATION_FAILED_CALLID</a></pre>
+<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1221">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.1223">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.1222">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.1225">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.1224">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.1228">SASL_CALLID</a></pre>
+<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1227">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.1229">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.1228">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.1233">authenticatedWithFallback</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1232">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.1235">retryImmediatelySupported</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1234">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.1237">attemptingUser</a></pre>
+<pre>public&nbsp;org.apache.hadoop.security.UserGroupInformation <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1236">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.1238">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.1237">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.1239">ugi</a></pre>
+<pre>protected&nbsp;org.apache.hadoop.security.UserGroupInformation <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1238">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.1241">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.1240">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.1265">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.1264">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.1269">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.1268">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.1273">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.1272">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.1277">getRemotePort</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1276">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.1281">setLastContact</a>(long&nbsp;lastContact)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1280">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.1285">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.1284">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.1293">isIdle</a>()</pre>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1292">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.1298">decRpcCount</a>()</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1297">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.1303">incRpcCount</a>()</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1302">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.1307">timedOut</a>(long&nbsp;currentTime)</pre>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1306">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.1311">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.1310">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.1330">saslReadAndProcess</a>(byte[]&nbsp;saslToken)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1329">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.1438">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.1437">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.1467">disposeSasl</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1466">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.1478">readPreamble</a>()
+<pre>private&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1477">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.1534">read4Bytes</a>()
+<pre>private&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1533">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.1550">readAndProcess</a>()
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1549">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.1608">process</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1607">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.1628">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.1627">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.1634">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.1633">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.1638">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.1637">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.1648">processConnectionHeader</a>(byte[]&nbsp;buf)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1647">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.1711">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.1710">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.1731">processUnwrappedData</a>(byte[]&nbsp;inBuf)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1730">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.1769">processOneRpc</a>(byte[]&nbsp;buf)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1768">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.1791">processRequest</a>(byte[]&nbsp;buf)
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1790">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.1891">authorizeConnection</a>()
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1890">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.1916">close</a>()</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1915">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.1928">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.1937">createUser</a>(org.apache.hadoop.hbase.protobuf.generated.RPCProtos.ConnectionHeader&nbsp;head)</pre>
 </li>
 </ul>
 </li>


[16/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/src-html/org/apache/hadoop/hbase/TagUtil.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/TagUtil.html b/devapidocs/src-html/org/apache/hadoop/hbase/TagUtil.html
index d999d2f..59e8cf4 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/TagUtil.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/TagUtil.html
@@ -30,201 +30,268 @@
 <span class="sourceLineNo">022</span>import java.io.IOException;<a name="line.22"></a>
 <span class="sourceLineNo">023</span>import java.nio.ByteBuffer;<a name="line.23"></a>
 <span class="sourceLineNo">024</span>import java.util.ArrayList;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.util.List;<a name="line.25"></a>
-<span class="sourceLineNo">026</span><a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.io.util.StreamUtils;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.util.ByteBufferUtils;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.31"></a>
-<span class="sourceLineNo">032</span><a name="line.32"></a>
-<span class="sourceLineNo">033</span>@InterfaceAudience.Private<a name="line.33"></a>
-<span class="sourceLineNo">034</span>public final class TagUtil {<a name="line.34"></a>
-<span class="sourceLineNo">035</span><a name="line.35"></a>
-<span class="sourceLineNo">036</span>  /**<a name="line.36"></a>
-<span class="sourceLineNo">037</span>   * Private constructor to keep this class from being instantiated.<a name="line.37"></a>
-<span class="sourceLineNo">038</span>   */<a name="line.38"></a>
-<span class="sourceLineNo">039</span>  private TagUtil(){}<a name="line.39"></a>
-<span class="sourceLineNo">040</span><a name="line.40"></a>
-<span class="sourceLineNo">041</span>  /**<a name="line.41"></a>
-<span class="sourceLineNo">042</span>   * Returns tag value in a new byte array.<a name="line.42"></a>
-<span class="sourceLineNo">043</span>   * Primarily for use client-side. If server-side, use<a name="line.43"></a>
-<span class="sourceLineNo">044</span>   * {@link Tag#getValueArray()} with appropriate {@link Tag#getValueOffset()}<a name="line.44"></a>
-<span class="sourceLineNo">045</span>   * and {@link Tag#getValueLength()} instead to save on allocations.<a name="line.45"></a>
-<span class="sourceLineNo">046</span>   *<a name="line.46"></a>
-<span class="sourceLineNo">047</span>   * @param tag The Tag whose value to be returned<a name="line.47"></a>
-<span class="sourceLineNo">048</span>   * @return tag value in a new byte array.<a name="line.48"></a>
-<span class="sourceLineNo">049</span>   */<a name="line.49"></a>
-<span class="sourceLineNo">050</span>  public static byte[] cloneValue(Tag tag) {<a name="line.50"></a>
-<span class="sourceLineNo">051</span>    int tagLength = tag.getValueLength();<a name="line.51"></a>
-<span class="sourceLineNo">052</span>    byte[] tagArr = new byte[tagLength];<a name="line.52"></a>
-<span class="sourceLineNo">053</span>    if (tag.hasArray()) {<a name="line.53"></a>
-<span class="sourceLineNo">054</span>      Bytes.putBytes(tagArr, 0, tag.getValueArray(), tag.getValueOffset(), tagLength);<a name="line.54"></a>
-<span class="sourceLineNo">055</span>    } else {<a name="line.55"></a>
-<span class="sourceLineNo">056</span>      ByteBufferUtils.copyFromBufferToArray(tagArr, tag.getValueByteBuffer(), tag.getValueOffset(),<a name="line.56"></a>
-<span class="sourceLineNo">057</span>          0, tagLength);<a name="line.57"></a>
-<span class="sourceLineNo">058</span>    }<a name="line.58"></a>
-<span class="sourceLineNo">059</span>    return tagArr;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>  }<a name="line.60"></a>
-<span class="sourceLineNo">061</span><a name="line.61"></a>
-<span class="sourceLineNo">062</span>  /**<a name="line.62"></a>
-<span class="sourceLineNo">063</span>   * Creates list of tags from given byte array, expected that it is in the expected tag format.<a name="line.63"></a>
-<span class="sourceLineNo">064</span>   *<a name="line.64"></a>
-<span class="sourceLineNo">065</span>   * @param b The byte array<a name="line.65"></a>
-<span class="sourceLineNo">066</span>   * @param offset The offset in array where tag bytes begin<a name="line.66"></a>
-<span class="sourceLineNo">067</span>   * @param length Total length of all tags bytes<a name="line.67"></a>
-<span class="sourceLineNo">068</span>   * @return List of tags<a name="line.68"></a>
-<span class="sourceLineNo">069</span>   */<a name="line.69"></a>
-<span class="sourceLineNo">070</span>  public static List&lt;Tag&gt; asList(byte[] b, int offset, int length) {<a name="line.70"></a>
-<span class="sourceLineNo">071</span>    List&lt;Tag&gt; tags = new ArrayList&lt;Tag&gt;();<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    int pos = offset;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    while (pos &lt; offset + length) {<a name="line.73"></a>
-<span class="sourceLineNo">074</span>      int tagLen = Bytes.readAsInt(b, pos, TAG_LENGTH_SIZE);<a name="line.74"></a>
-<span class="sourceLineNo">075</span>      tags.add(new ArrayBackedTag(b, pos, tagLen + TAG_LENGTH_SIZE));<a name="line.75"></a>
-<span class="sourceLineNo">076</span>      pos += TAG_LENGTH_SIZE + tagLen;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>    }<a name="line.77"></a>
-<span class="sourceLineNo">078</span>    return tags;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>  }<a name="line.79"></a>
-<span class="sourceLineNo">080</span><a name="line.80"></a>
-<span class="sourceLineNo">081</span>  /**<a name="line.81"></a>
-<span class="sourceLineNo">082</span>   * Creates list of tags from given ByteBuffer, expected that it is in the expected tag format.<a name="line.82"></a>
-<span class="sourceLineNo">083</span>   *<a name="line.83"></a>
-<span class="sourceLineNo">084</span>   * @param b The ByteBuffer<a name="line.84"></a>
-<span class="sourceLineNo">085</span>   * @param offset The offset in ByteBuffer where tag bytes begin<a name="line.85"></a>
-<span class="sourceLineNo">086</span>   * @param length Total length of all tags bytes<a name="line.86"></a>
-<span class="sourceLineNo">087</span>   * @return List of tags<a name="line.87"></a>
-<span class="sourceLineNo">088</span>   */<a name="line.88"></a>
-<span class="sourceLineNo">089</span>  public static List&lt;Tag&gt; asList(ByteBuffer b, int offset, int length) {<a name="line.89"></a>
-<span class="sourceLineNo">090</span>    List&lt;Tag&gt; tags = new ArrayList&lt;Tag&gt;();<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    int pos = offset;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>    while (pos &lt; offset + length) {<a name="line.92"></a>
-<span class="sourceLineNo">093</span>      int tagLen = ByteBufferUtils.readAsInt(b, pos, TAG_LENGTH_SIZE);<a name="line.93"></a>
-<span class="sourceLineNo">094</span>      tags.add(new OffheapTag(b, pos, tagLen + TAG_LENGTH_SIZE));<a name="line.94"></a>
-<span class="sourceLineNo">095</span>      pos += TAG_LENGTH_SIZE + tagLen;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    }<a name="line.96"></a>
-<span class="sourceLineNo">097</span>    return tags;<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>  /**<a name="line.100"></a>
-<span class="sourceLineNo">101</span>   * Write a list of tags into a byte array<a name="line.101"></a>
-<span class="sourceLineNo">102</span>   *<a name="line.102"></a>
-<span class="sourceLineNo">103</span>   * @param tags The list of tags<a name="line.103"></a>
-<span class="sourceLineNo">104</span>   * @return the serialized tag data as bytes<a name="line.104"></a>
-<span class="sourceLineNo">105</span>   */<a name="line.105"></a>
-<span class="sourceLineNo">106</span>  public static byte[] fromList(List&lt;Tag&gt; tags) {<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    if (tags.isEmpty()) {<a name="line.107"></a>
-<span class="sourceLineNo">108</span>      return HConstants.EMPTY_BYTE_ARRAY;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    }<a name="line.109"></a>
-<span class="sourceLineNo">110</span>    int length = 0;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    for (Tag tag : tags) {<a name="line.111"></a>
-<span class="sourceLineNo">112</span>      length += tag.getValueLength() + Tag.INFRASTRUCTURE_SIZE;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    }<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    byte[] b = new byte[length];<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    int pos = 0;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    int tlen;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    for (Tag tag : tags) {<a name="line.117"></a>
-<span class="sourceLineNo">118</span>      tlen = tag.getValueLength();<a name="line.118"></a>
-<span class="sourceLineNo">119</span>      pos = Bytes.putAsShort(b, pos, tlen + Tag.TYPE_LENGTH_SIZE);<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      pos = Bytes.putByte(b, pos, tag.getType());<a name="line.120"></a>
-<span class="sourceLineNo">121</span>      if (tag.hasArray()) {<a name="line.121"></a>
-<span class="sourceLineNo">122</span>        pos = Bytes.putBytes(b, pos, tag.getValueArray(), tag.getValueOffset(), tlen);<a name="line.122"></a>
-<span class="sourceLineNo">123</span>      } else {<a name="line.123"></a>
-<span class="sourceLineNo">124</span>        ByteBufferUtils.copyFromBufferToArray(b, tag.getValueByteBuffer(), tag.getValueOffset(),<a name="line.124"></a>
-<span class="sourceLineNo">125</span>            pos, tlen);<a name="line.125"></a>
-<span class="sourceLineNo">126</span>        pos += tlen;<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>    return b;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>  }<a name="line.130"></a>
-<span class="sourceLineNo">131</span><a name="line.131"></a>
-<span class="sourceLineNo">132</span>  /**<a name="line.132"></a>
-<span class="sourceLineNo">133</span>   * Converts the value bytes of the given tag into a long value<a name="line.133"></a>
-<span class="sourceLineNo">134</span>   * @param tag The Tag<a name="line.134"></a>
-<span class="sourceLineNo">135</span>   * @return value as long<a name="line.135"></a>
-<span class="sourceLineNo">136</span>   */<a name="line.136"></a>
-<span class="sourceLineNo">137</span>  public static long getValueAsLong(Tag tag) {<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    if (tag.hasArray()) {<a name="line.138"></a>
-<span class="sourceLineNo">139</span>      return Bytes.toLong(tag.getValueArray(), tag.getValueOffset(), tag.getValueLength());<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    }<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    return ByteBufferUtils.toLong(tag.getValueByteBuffer(), tag.getValueOffset());<a name="line.141"></a>
-<span class="sourceLineNo">142</span>  }<a name="line.142"></a>
-<span class="sourceLineNo">143</span><a name="line.143"></a>
-<span class="sourceLineNo">144</span>  /**<a name="line.144"></a>
-<span class="sourceLineNo">145</span>   * Converts the value bytes of the given tag into a byte value<a name="line.145"></a>
-<span class="sourceLineNo">146</span>   * @param tag The Tag<a name="line.146"></a>
-<span class="sourceLineNo">147</span>   * @return value as byte<a name="line.147"></a>
-<span class="sourceLineNo">148</span>   */<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  public static byte getValueAsByte(Tag tag) {<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    if (tag.hasArray()) {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>      return tag.getValueArray()[tag.getValueOffset()];<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    }<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    return ByteBufferUtils.toByte(tag.getValueByteBuffer(), tag.getValueOffset());<a name="line.153"></a>
-<span class="sourceLineNo">154</span>  }<a name="line.154"></a>
-<span class="sourceLineNo">155</span><a name="line.155"></a>
-<span class="sourceLineNo">156</span>  /**<a name="line.156"></a>
-<span class="sourceLineNo">157</span>   * Converts the value bytes of the given tag into a String value<a name="line.157"></a>
-<span class="sourceLineNo">158</span>   * @param tag The Tag<a name="line.158"></a>
-<span class="sourceLineNo">159</span>   * @return value as String<a name="line.159"></a>
-<span class="sourceLineNo">160</span>   */<a name="line.160"></a>
-<span class="sourceLineNo">161</span>  public static String getValueAsString(Tag tag){<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    if(tag.hasArray()){<a name="line.162"></a>
-<span class="sourceLineNo">163</span>      return Bytes.toString(tag.getValueArray(), tag.getValueOffset(), tag.getValueLength());<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    }<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    return Bytes.toString(cloneValue(tag));<a name="line.165"></a>
-<span class="sourceLineNo">166</span>  }<a name="line.166"></a>
-<span class="sourceLineNo">167</span><a name="line.167"></a>
-<span class="sourceLineNo">168</span>  /**<a name="line.168"></a>
-<span class="sourceLineNo">169</span>   * Matches the value part of given tags<a name="line.169"></a>
-<span class="sourceLineNo">170</span>   * @param t1 Tag to match the value<a name="line.170"></a>
-<span class="sourceLineNo">171</span>   * @param t2 Tag to match the value<a name="line.171"></a>
-<span class="sourceLineNo">172</span>   * @return True if values of both tags are same.<a name="line.172"></a>
-<span class="sourceLineNo">173</span>   */<a name="line.173"></a>
-<span class="sourceLineNo">174</span>  public static boolean matchingValue(Tag t1, Tag t2) {<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    if (t1.hasArray() &amp;&amp; t2.hasArray()) {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>      return Bytes.equals(t1.getValueArray(), t1.getValueOffset(), t1.getValueLength(),<a name="line.176"></a>
-<span class="sourceLineNo">177</span>          t2.getValueArray(), t2.getValueOffset(), t2.getValueLength());<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    }<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    if (t1.hasArray()) {<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      return ByteBufferUtils.equals(t2.getValueByteBuffer(), t2.getValueOffset(),<a name="line.180"></a>
-<span class="sourceLineNo">181</span>          t2.getValueLength(), t1.getValueArray(), t1.getValueOffset(), t1.getValueLength());<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    }<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    if (t2.hasArray()) {<a name="line.183"></a>
-<span class="sourceLineNo">184</span>      return ByteBufferUtils.equals(t1.getValueByteBuffer(), t1.getValueOffset(),<a name="line.184"></a>
-<span class="sourceLineNo">185</span>          t1.getValueLength(), t2.getValueArray(), t2.getValueOffset(), t2.getValueLength());<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    }<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    return ByteBufferUtils.equals(t1.getValueByteBuffer(), t1.getValueOffset(), t1.getValueLength(),<a name="line.187"></a>
-<span class="sourceLineNo">188</span>        t2.getValueByteBuffer(), t2.getValueOffset(), t2.getValueLength());<a name="line.188"></a>
-<span class="sourceLineNo">189</span>  }<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span>  /**<a name="line.191"></a>
-<span class="sourceLineNo">192</span>   * Copies the tag's value bytes to the given byte array<a name="line.192"></a>
-<span class="sourceLineNo">193</span>   * @param tag The Tag<a name="line.193"></a>
-<span class="sourceLineNo">194</span>   * @param out The byte array where to copy the Tag value.<a name="line.194"></a>
-<span class="sourceLineNo">195</span>   * @param offset The offset within 'out' array where to copy the Tag value.<a name="line.195"></a>
-<span class="sourceLineNo">196</span>   */<a name="line.196"></a>
-<span class="sourceLineNo">197</span>  public static void copyValueTo(Tag tag, byte[] out, int offset) {<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    if (tag.hasArray()) {<a name="line.198"></a>
-<span class="sourceLineNo">199</span>      Bytes.putBytes(out, offset, tag.getValueArray(), tag.getValueOffset(), tag.getValueLength());<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    } else {<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      ByteBufferUtils.copyFromBufferToArray(out, tag.getValueByteBuffer(), tag.getValueOffset(),<a name="line.201"></a>
-<span class="sourceLineNo">202</span>          offset, tag.getValueLength());<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    }<a name="line.203"></a>
-<span class="sourceLineNo">204</span>  }<a name="line.204"></a>
-<span class="sourceLineNo">205</span><a name="line.205"></a>
-<span class="sourceLineNo">206</span>  /**<a name="line.206"></a>
-<span class="sourceLineNo">207</span>   * Reads an int value stored as a VInt at tag's given offset.<a name="line.207"></a>
-<span class="sourceLineNo">208</span>   * @param tag The Tag<a name="line.208"></a>
-<span class="sourceLineNo">209</span>   * @param offset The offset where VInt bytes begin<a name="line.209"></a>
-<span class="sourceLineNo">210</span>   * @return A pair of the int value and number of bytes taken to store VInt<a name="line.210"></a>
-<span class="sourceLineNo">211</span>   * @throws IOException When varint is malformed and not able to be read correctly<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   */<a name="line.212"></a>
-<span class="sourceLineNo">213</span>  public static Pair&lt;Integer, Integer&gt; readVIntValuePart(Tag tag, int offset) throws IOException {<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    if (tag.hasArray()) {<a name="line.214"></a>
-<span class="sourceLineNo">215</span>      return StreamUtils.readRawVarint32(tag.getValueArray(), offset);<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    }<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    return StreamUtils.readRawVarint32(tag.getValueByteBuffer(), offset);<a name="line.217"></a>
-<span class="sourceLineNo">218</span>  }<a name="line.218"></a>
-<span class="sourceLineNo">219</span>}<a name="line.219"></a>
+<span class="sourceLineNo">025</span>import java.util.Iterator;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.util.List;<a name="line.26"></a>
+<span class="sourceLineNo">027</span><a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.io.util.StreamUtils;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.util.ByteBufferUtils;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.32"></a>
+<span class="sourceLineNo">033</span><a name="line.33"></a>
+<span class="sourceLineNo">034</span>@InterfaceAudience.Private<a name="line.34"></a>
+<span class="sourceLineNo">035</span>public final class TagUtil {<a name="line.35"></a>
+<span class="sourceLineNo">036</span><a name="line.36"></a>
+<span class="sourceLineNo">037</span>  /**<a name="line.37"></a>
+<span class="sourceLineNo">038</span>   * Private constructor to keep this class from being instantiated.<a name="line.38"></a>
+<span class="sourceLineNo">039</span>   */<a name="line.39"></a>
+<span class="sourceLineNo">040</span>  private TagUtil(){}<a name="line.40"></a>
+<span class="sourceLineNo">041</span><a name="line.41"></a>
+<span class="sourceLineNo">042</span>  /**<a name="line.42"></a>
+<span class="sourceLineNo">043</span>   * Returns tag value in a new byte array.<a name="line.43"></a>
+<span class="sourceLineNo">044</span>   * Primarily for use client-side. If server-side, use<a name="line.44"></a>
+<span class="sourceLineNo">045</span>   * {@link Tag#getValueArray()} with appropriate {@link Tag#getValueOffset()}<a name="line.45"></a>
+<span class="sourceLineNo">046</span>   * and {@link Tag#getValueLength()} instead to save on allocations.<a name="line.46"></a>
+<span class="sourceLineNo">047</span>   *<a name="line.47"></a>
+<span class="sourceLineNo">048</span>   * @param tag The Tag whose value to be returned<a name="line.48"></a>
+<span class="sourceLineNo">049</span>   * @return tag value in a new byte array.<a name="line.49"></a>
+<span class="sourceLineNo">050</span>   */<a name="line.50"></a>
+<span class="sourceLineNo">051</span>  public static byte[] cloneValue(Tag tag) {<a name="line.51"></a>
+<span class="sourceLineNo">052</span>    int tagLength = tag.getValueLength();<a name="line.52"></a>
+<span class="sourceLineNo">053</span>    byte[] tagArr = new byte[tagLength];<a name="line.53"></a>
+<span class="sourceLineNo">054</span>    if (tag.hasArray()) {<a name="line.54"></a>
+<span class="sourceLineNo">055</span>      Bytes.putBytes(tagArr, 0, tag.getValueArray(), tag.getValueOffset(), tagLength);<a name="line.55"></a>
+<span class="sourceLineNo">056</span>    } else {<a name="line.56"></a>
+<span class="sourceLineNo">057</span>      ByteBufferUtils.copyFromBufferToArray(tagArr, tag.getValueByteBuffer(), tag.getValueOffset(),<a name="line.57"></a>
+<span class="sourceLineNo">058</span>          0, tagLength);<a name="line.58"></a>
+<span class="sourceLineNo">059</span>    }<a name="line.59"></a>
+<span class="sourceLineNo">060</span>    return tagArr;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>  }<a name="line.61"></a>
+<span class="sourceLineNo">062</span><a name="line.62"></a>
+<span class="sourceLineNo">063</span>  /**<a name="line.63"></a>
+<span class="sourceLineNo">064</span>   * Creates list of tags from given byte array, expected that it is in the expected tag format.<a name="line.64"></a>
+<span class="sourceLineNo">065</span>   *<a name="line.65"></a>
+<span class="sourceLineNo">066</span>   * @param b The byte array<a name="line.66"></a>
+<span class="sourceLineNo">067</span>   * @param offset The offset in array where tag bytes begin<a name="line.67"></a>
+<span class="sourceLineNo">068</span>   * @param length Total length of all tags bytes<a name="line.68"></a>
+<span class="sourceLineNo">069</span>   * @return List of tags<a name="line.69"></a>
+<span class="sourceLineNo">070</span>   */<a name="line.70"></a>
+<span class="sourceLineNo">071</span>  public static List&lt;Tag&gt; asList(byte[] b, int offset, int length) {<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    List&lt;Tag&gt; tags = new ArrayList&lt;Tag&gt;();<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    int pos = offset;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>    while (pos &lt; offset + length) {<a name="line.74"></a>
+<span class="sourceLineNo">075</span>      int tagLen = Bytes.readAsInt(b, pos, TAG_LENGTH_SIZE);<a name="line.75"></a>
+<span class="sourceLineNo">076</span>      tags.add(new ArrayBackedTag(b, pos, tagLen + TAG_LENGTH_SIZE));<a name="line.76"></a>
+<span class="sourceLineNo">077</span>      pos += TAG_LENGTH_SIZE + tagLen;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>    }<a name="line.78"></a>
+<span class="sourceLineNo">079</span>    return tags;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>  }<a name="line.80"></a>
+<span class="sourceLineNo">081</span><a name="line.81"></a>
+<span class="sourceLineNo">082</span>  /**<a name="line.82"></a>
+<span class="sourceLineNo">083</span>   * Creates list of tags from given ByteBuffer, expected that it is in the expected tag format.<a name="line.83"></a>
+<span class="sourceLineNo">084</span>   *<a name="line.84"></a>
+<span class="sourceLineNo">085</span>   * @param b The ByteBuffer<a name="line.85"></a>
+<span class="sourceLineNo">086</span>   * @param offset The offset in ByteBuffer where tag bytes begin<a name="line.86"></a>
+<span class="sourceLineNo">087</span>   * @param length Total length of all tags bytes<a name="line.87"></a>
+<span class="sourceLineNo">088</span>   * @return List of tags<a name="line.88"></a>
+<span class="sourceLineNo">089</span>   */<a name="line.89"></a>
+<span class="sourceLineNo">090</span>  public static List&lt;Tag&gt; asList(ByteBuffer b, int offset, int length) {<a name="line.90"></a>
+<span class="sourceLineNo">091</span>    List&lt;Tag&gt; tags = new ArrayList&lt;Tag&gt;();<a name="line.91"></a>
+<span class="sourceLineNo">092</span>    int pos = offset;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>    while (pos &lt; offset + length) {<a name="line.93"></a>
+<span class="sourceLineNo">094</span>      int tagLen = ByteBufferUtils.readAsInt(b, pos, TAG_LENGTH_SIZE);<a name="line.94"></a>
+<span class="sourceLineNo">095</span>      tags.add(new OffheapTag(b, pos, tagLen + TAG_LENGTH_SIZE));<a name="line.95"></a>
+<span class="sourceLineNo">096</span>      pos += TAG_LENGTH_SIZE + tagLen;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>    }<a name="line.97"></a>
+<span class="sourceLineNo">098</span>    return tags;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>  }<a name="line.99"></a>
+<span class="sourceLineNo">100</span><a name="line.100"></a>
+<span class="sourceLineNo">101</span>  /**<a name="line.101"></a>
+<span class="sourceLineNo">102</span>   * Write a list of tags into a byte array<a name="line.102"></a>
+<span class="sourceLineNo">103</span>   *<a name="line.103"></a>
+<span class="sourceLineNo">104</span>   * @param tags The list of tags<a name="line.104"></a>
+<span class="sourceLineNo">105</span>   * @return the serialized tag data as bytes<a name="line.105"></a>
+<span class="sourceLineNo">106</span>   */<a name="line.106"></a>
+<span class="sourceLineNo">107</span>  public static byte[] fromList(List&lt;Tag&gt; tags) {<a name="line.107"></a>
+<span class="sourceLineNo">108</span>    if (tags == null || tags.isEmpty()) {<a name="line.108"></a>
+<span class="sourceLineNo">109</span>      return HConstants.EMPTY_BYTE_ARRAY;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>    }<a name="line.110"></a>
+<span class="sourceLineNo">111</span>    int length = 0;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    for (Tag tag : tags) {<a name="line.112"></a>
+<span class="sourceLineNo">113</span>      length += tag.getValueLength() + Tag.INFRASTRUCTURE_SIZE;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    }<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    byte[] b = new byte[length];<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    int pos = 0;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    int tlen;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    for (Tag tag : tags) {<a name="line.118"></a>
+<span class="sourceLineNo">119</span>      tlen = tag.getValueLength();<a name="line.119"></a>
+<span class="sourceLineNo">120</span>      pos = Bytes.putAsShort(b, pos, tlen + Tag.TYPE_LENGTH_SIZE);<a name="line.120"></a>
+<span class="sourceLineNo">121</span>      pos = Bytes.putByte(b, pos, tag.getType());<a name="line.121"></a>
+<span class="sourceLineNo">122</span>      if (tag.hasArray()) {<a name="line.122"></a>
+<span class="sourceLineNo">123</span>        pos = Bytes.putBytes(b, pos, tag.getValueArray(), tag.getValueOffset(), tlen);<a name="line.123"></a>
+<span class="sourceLineNo">124</span>      } else {<a name="line.124"></a>
+<span class="sourceLineNo">125</span>        ByteBufferUtils.copyFromBufferToArray(b, tag.getValueByteBuffer(), tag.getValueOffset(),<a name="line.125"></a>
+<span class="sourceLineNo">126</span>            pos, tlen);<a name="line.126"></a>
+<span class="sourceLineNo">127</span>        pos += tlen;<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>    return b;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>  }<a name="line.131"></a>
+<span class="sourceLineNo">132</span><a name="line.132"></a>
+<span class="sourceLineNo">133</span>  /**<a name="line.133"></a>
+<span class="sourceLineNo">134</span>   * Converts the value bytes of the given tag into a long value<a name="line.134"></a>
+<span class="sourceLineNo">135</span>   * @param tag The Tag<a name="line.135"></a>
+<span class="sourceLineNo">136</span>   * @return value as long<a name="line.136"></a>
+<span class="sourceLineNo">137</span>   */<a name="line.137"></a>
+<span class="sourceLineNo">138</span>  public static long getValueAsLong(Tag tag) {<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    if (tag.hasArray()) {<a name="line.139"></a>
+<span class="sourceLineNo">140</span>      return Bytes.toLong(tag.getValueArray(), tag.getValueOffset(), tag.getValueLength());<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    }<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    return ByteBufferUtils.toLong(tag.getValueByteBuffer(), tag.getValueOffset());<a name="line.142"></a>
+<span class="sourceLineNo">143</span>  }<a name="line.143"></a>
+<span class="sourceLineNo">144</span><a name="line.144"></a>
+<span class="sourceLineNo">145</span>  /**<a name="line.145"></a>
+<span class="sourceLineNo">146</span>   * Converts the value bytes of the given tag into a byte value<a name="line.146"></a>
+<span class="sourceLineNo">147</span>   * @param tag The Tag<a name="line.147"></a>
+<span class="sourceLineNo">148</span>   * @return value as byte<a name="line.148"></a>
+<span class="sourceLineNo">149</span>   */<a name="line.149"></a>
+<span class="sourceLineNo">150</span>  public static byte getValueAsByte(Tag tag) {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    if (tag.hasArray()) {<a name="line.151"></a>
+<span class="sourceLineNo">152</span>      return tag.getValueArray()[tag.getValueOffset()];<a name="line.152"></a>
+<span class="sourceLineNo">153</span>    }<a name="line.153"></a>
+<span class="sourceLineNo">154</span>    return ByteBufferUtils.toByte(tag.getValueByteBuffer(), tag.getValueOffset());<a name="line.154"></a>
+<span class="sourceLineNo">155</span>  }<a name="line.155"></a>
+<span class="sourceLineNo">156</span><a name="line.156"></a>
+<span class="sourceLineNo">157</span>  /**<a name="line.157"></a>
+<span class="sourceLineNo">158</span>   * Converts the value bytes of the given tag into a String value<a name="line.158"></a>
+<span class="sourceLineNo">159</span>   * @param tag The Tag<a name="line.159"></a>
+<span class="sourceLineNo">160</span>   * @return value as String<a name="line.160"></a>
+<span class="sourceLineNo">161</span>   */<a name="line.161"></a>
+<span class="sourceLineNo">162</span>  public static String getValueAsString(Tag tag){<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    if(tag.hasArray()){<a name="line.163"></a>
+<span class="sourceLineNo">164</span>      return Bytes.toString(tag.getValueArray(), tag.getValueOffset(), tag.getValueLength());<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    }<a name="line.165"></a>
+<span class="sourceLineNo">166</span>    return Bytes.toString(cloneValue(tag));<a name="line.166"></a>
+<span class="sourceLineNo">167</span>  }<a name="line.167"></a>
+<span class="sourceLineNo">168</span><a name="line.168"></a>
+<span class="sourceLineNo">169</span>  /**<a name="line.169"></a>
+<span class="sourceLineNo">170</span>   * Matches the value part of given tags<a name="line.170"></a>
+<span class="sourceLineNo">171</span>   * @param t1 Tag to match the value<a name="line.171"></a>
+<span class="sourceLineNo">172</span>   * @param t2 Tag to match the value<a name="line.172"></a>
+<span class="sourceLineNo">173</span>   * @return True if values of both tags are same.<a name="line.173"></a>
+<span class="sourceLineNo">174</span>   */<a name="line.174"></a>
+<span class="sourceLineNo">175</span>  public static boolean matchingValue(Tag t1, Tag t2) {<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    if (t1.hasArray() &amp;&amp; t2.hasArray()) {<a name="line.176"></a>
+<span class="sourceLineNo">177</span>      return Bytes.equals(t1.getValueArray(), t1.getValueOffset(), t1.getValueLength(),<a name="line.177"></a>
+<span class="sourceLineNo">178</span>          t2.getValueArray(), t2.getValueOffset(), t2.getValueLength());<a name="line.178"></a>
+<span class="sourceLineNo">179</span>    }<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    if (t1.hasArray()) {<a name="line.180"></a>
+<span class="sourceLineNo">181</span>      return ByteBufferUtils.equals(t2.getValueByteBuffer(), t2.getValueOffset(),<a name="line.181"></a>
+<span class="sourceLineNo">182</span>          t2.getValueLength(), t1.getValueArray(), t1.getValueOffset(), t1.getValueLength());<a name="line.182"></a>
+<span class="sourceLineNo">183</span>    }<a name="line.183"></a>
+<span class="sourceLineNo">184</span>    if (t2.hasArray()) {<a name="line.184"></a>
+<span class="sourceLineNo">185</span>      return ByteBufferUtils.equals(t1.getValueByteBuffer(), t1.getValueOffset(),<a name="line.185"></a>
+<span class="sourceLineNo">186</span>          t1.getValueLength(), t2.getValueArray(), t2.getValueOffset(), t2.getValueLength());<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    }<a name="line.187"></a>
+<span class="sourceLineNo">188</span>    return ByteBufferUtils.equals(t1.getValueByteBuffer(), t1.getValueOffset(), t1.getValueLength(),<a name="line.188"></a>
+<span class="sourceLineNo">189</span>        t2.getValueByteBuffer(), t2.getValueOffset(), t2.getValueLength());<a name="line.189"></a>
+<span class="sourceLineNo">190</span>  }<a name="line.190"></a>
+<span class="sourceLineNo">191</span><a name="line.191"></a>
+<span class="sourceLineNo">192</span>  /**<a name="line.192"></a>
+<span class="sourceLineNo">193</span>   * Copies the tag's value bytes to the given byte array<a name="line.193"></a>
+<span class="sourceLineNo">194</span>   * @param tag The Tag<a name="line.194"></a>
+<span class="sourceLineNo">195</span>   * @param out The byte array where to copy the Tag value.<a name="line.195"></a>
+<span class="sourceLineNo">196</span>   * @param offset The offset within 'out' array where to copy the Tag value.<a name="line.196"></a>
+<span class="sourceLineNo">197</span>   */<a name="line.197"></a>
+<span class="sourceLineNo">198</span>  public static void copyValueTo(Tag tag, byte[] out, int offset) {<a name="line.198"></a>
+<span class="sourceLineNo">199</span>    if (tag.hasArray()) {<a name="line.199"></a>
+<span class="sourceLineNo">200</span>      Bytes.putBytes(out, offset, tag.getValueArray(), tag.getValueOffset(), tag.getValueLength());<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    } else {<a name="line.201"></a>
+<span class="sourceLineNo">202</span>      ByteBufferUtils.copyFromBufferToArray(out, tag.getValueByteBuffer(), tag.getValueOffset(),<a name="line.202"></a>
+<span class="sourceLineNo">203</span>          offset, tag.getValueLength());<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>  /**<a name="line.207"></a>
+<span class="sourceLineNo">208</span>   * Reads an int value stored as a VInt at tag's given offset.<a name="line.208"></a>
+<span class="sourceLineNo">209</span>   * @param tag The Tag<a name="line.209"></a>
+<span class="sourceLineNo">210</span>   * @param offset The offset where VInt bytes begin<a name="line.210"></a>
+<span class="sourceLineNo">211</span>   * @return A pair of the int value and number of bytes taken to store VInt<a name="line.211"></a>
+<span class="sourceLineNo">212</span>   * @throws IOException When varint is malformed and not able to be read correctly<a name="line.212"></a>
+<span class="sourceLineNo">213</span>   */<a name="line.213"></a>
+<span class="sourceLineNo">214</span>  public static Pair&lt;Integer, Integer&gt; readVIntValuePart(Tag tag, int offset) throws IOException {<a name="line.214"></a>
+<span class="sourceLineNo">215</span>    if (tag.hasArray()) {<a name="line.215"></a>
+<span class="sourceLineNo">216</span>      return StreamUtils.readRawVarint32(tag.getValueArray(), offset);<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    }<a name="line.217"></a>
+<span class="sourceLineNo">218</span>    return StreamUtils.readRawVarint32(tag.getValueByteBuffer(), offset);<a name="line.218"></a>
+<span class="sourceLineNo">219</span>  }<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>  /**<a name="line.221"></a>
+<span class="sourceLineNo">222</span>   * @return A List&amp;lt;Tag&amp;gt; of any Tags found in &lt;code&gt;cell&lt;/code&gt; else null.<a name="line.222"></a>
+<span class="sourceLineNo">223</span>   */<a name="line.223"></a>
+<span class="sourceLineNo">224</span>  public static List&lt;Tag&gt; carryForwardTags(final Cell cell) {<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    return carryForwardTags(null, cell);<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>  /**<a name="line.228"></a>
+<span class="sourceLineNo">229</span>   * Add to &lt;code&gt;tagsOrNull&lt;/code&gt; any Tags &lt;code&gt;cell&lt;/code&gt; is carrying or null if none.<a name="line.229"></a>
+<span class="sourceLineNo">230</span>   */<a name="line.230"></a>
+<span class="sourceLineNo">231</span>  public static List&lt;Tag&gt; carryForwardTags(final List&lt;Tag&gt; tagsOrNull, final Cell cell) {<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    Iterator&lt;Tag&gt; itr = CellUtil.tagsIterator(cell);<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    if (itr == EMPTY_TAGS_ITR) {<a name="line.233"></a>
+<span class="sourceLineNo">234</span>      // If no Tags, return early.<a name="line.234"></a>
+<span class="sourceLineNo">235</span>      return tagsOrNull;<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    }<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    List&lt;Tag&gt; tags = tagsOrNull;<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    if (tags == null) {<a name="line.238"></a>
+<span class="sourceLineNo">239</span>      tags = new ArrayList&lt;Tag&gt;();<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    }<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    while (itr.hasNext()) {<a name="line.241"></a>
+<span class="sourceLineNo">242</span>      tags.add(itr.next());<a name="line.242"></a>
+<span class="sourceLineNo">243</span>    }<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    return tags;<a name="line.244"></a>
+<span class="sourceLineNo">245</span>  }<a name="line.245"></a>
+<span class="sourceLineNo">246</span><a name="line.246"></a>
+<span class="sourceLineNo">247</span>  /**<a name="line.247"></a>
+<span class="sourceLineNo">248</span>   * @return Carry forward the TTL tag.<a name="line.248"></a>
+<span class="sourceLineNo">249</span>   */<a name="line.249"></a>
+<span class="sourceLineNo">250</span>  public static List&lt;Tag&gt; carryForwardTTLTag(final List&lt;Tag&gt; tagsOrNull, final long ttl) {<a name="line.250"></a>
+<span class="sourceLineNo">251</span>    if (ttl == Long.MAX_VALUE) {<a name="line.251"></a>
+<span class="sourceLineNo">252</span>      return tagsOrNull;<a name="line.252"></a>
+<span class="sourceLineNo">253</span>    }<a name="line.253"></a>
+<span class="sourceLineNo">254</span>    List&lt;Tag&gt; tags = tagsOrNull;<a name="line.254"></a>
+<span class="sourceLineNo">255</span>    // If we are making the array in here, given we are the last thing checked, we'll be only thing<a name="line.255"></a>
+<span class="sourceLineNo">256</span>    // in the array so set its size to '1' (I saw this being done in earlier version of<a name="line.256"></a>
+<span class="sourceLineNo">257</span>    // tag-handling).<a name="line.257"></a>
+<span class="sourceLineNo">258</span>    if (tags == null) {<a name="line.258"></a>
+<span class="sourceLineNo">259</span>      tags = new ArrayList&lt;Tag&gt;(1);<a name="line.259"></a>
+<span class="sourceLineNo">260</span>    }<a name="line.260"></a>
+<span class="sourceLineNo">261</span>    tags.add(new ArrayBackedTag(TagType.TTL_TAG_TYPE, Bytes.toBytes(ttl)));<a name="line.261"></a>
+<span class="sourceLineNo">262</span>    return tags;<a name="line.262"></a>
+<span class="sourceLineNo">263</span>  }<a name="line.263"></a>
+<span class="sourceLineNo">264</span><a name="line.264"></a>
+<span class="sourceLineNo">265</span>  /**<a name="line.265"></a>
+<span class="sourceLineNo">266</span>   * Iterator returned when no Tags. Used by CellUtil too.<a name="line.266"></a>
+<span class="sourceLineNo">267</span>   */<a name="line.267"></a>
+<span class="sourceLineNo">268</span>  static final Iterator&lt;Tag&gt; EMPTY_TAGS_ITR = new Iterator&lt;Tag&gt;() {<a name="line.268"></a>
+<span class="sourceLineNo">269</span>    @Override<a name="line.269"></a>
+<span class="sourceLineNo">270</span>    public boolean hasNext() {<a name="line.270"></a>
+<span class="sourceLineNo">271</span>      return false;<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>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="IT_NO_SUCH_ELEMENT",<a name="line.275"></a>
+<span class="sourceLineNo">276</span>      justification="Intentional")<a name="line.276"></a>
+<span class="sourceLineNo">277</span>    public Tag next() {<a name="line.277"></a>
+<span class="sourceLineNo">278</span>      return null;<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    }<a name="line.279"></a>
+<span class="sourceLineNo">280</span><a name="line.280"></a>
+<span class="sourceLineNo">281</span>    @Override<a name="line.281"></a>
+<span class="sourceLineNo">282</span>    public void remove() {<a name="line.282"></a>
+<span class="sourceLineNo">283</span>      throw new UnsupportedOperationException();<a name="line.283"></a>
+<span class="sourceLineNo">284</span>    }<a name="line.284"></a>
+<span class="sourceLineNo">285</span>  };<a name="line.285"></a>
+<span class="sourceLineNo">286</span>}<a name="line.286"></a>
 
 
 


[35/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html
index bb14715..5395012 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html
@@ -107,7 +107,7 @@
 </dl>
 <hr>
 <br>
-<pre>protected static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.467">HFileReaderImpl.HFileScannerImpl</a>
+<pre>protected static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.468">HFileReaderImpl.HFileScannerImpl</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/io/hfile/HFileScanner.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFileScanner</a></pre>
 </li>
@@ -512,7 +512,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>blockBuffer</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.468">blockBuffer</a></pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.469">blockBuffer</a></pre>
 </li>
 </ul>
 <a name="cacheBlocks">
@@ -521,7 +521,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>cacheBlocks</h4>
-<pre>protected final&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.469">cacheBlocks</a></pre>
+<pre>protected final&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.470">cacheBlocks</a></pre>
 </li>
 </ul>
 <a name="pread">
@@ -530,7 +530,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>pread</h4>
-<pre>protected final&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.470">pread</a></pre>
+<pre>protected final&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.471">pread</a></pre>
 </li>
 </ul>
 <a name="isCompaction">
@@ -539,7 +539,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>isCompaction</h4>
-<pre>protected final&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.471">isCompaction</a></pre>
+<pre>protected final&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.472">isCompaction</a></pre>
 </li>
 </ul>
 <a name="currKeyLen">
@@ -548,7 +548,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>currKeyLen</h4>
-<pre>private&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.472">currKeyLen</a></pre>
+<pre>private&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.473">currKeyLen</a></pre>
 </li>
 </ul>
 <a name="currValueLen">
@@ -557,7 +557,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>currValueLen</h4>
-<pre>private&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.473">currValueLen</a></pre>
+<pre>private&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.474">currValueLen</a></pre>
 </li>
 </ul>
 <a name="currMemstoreTSLen">
@@ -566,7 +566,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>currMemstoreTSLen</h4>
-<pre>private&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.474">currMemstoreTSLen</a></pre>
+<pre>private&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.475">currMemstoreTSLen</a></pre>
 </li>
 </ul>
 <a name="currMemstoreTS">
@@ -575,7 +575,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>currMemstoreTS</h4>
-<pre>private&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.475">currMemstoreTS</a></pre>
+<pre>private&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.476">currMemstoreTS</a></pre>
 </li>
 </ul>
 <a name="blockFetches">
@@ -584,7 +584,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>blockFetches</h4>
-<pre>protected&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/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.477">blockFetches</a></pre>
+<pre>protected&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/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.478">blockFetches</a></pre>
 </li>
 </ul>
 <a name="reader">
@@ -593,7 +593,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>reader</h4>
-<pre>protected final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.478">reader</a></pre>
+<pre>protected final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.479">reader</a></pre>
 </li>
 </ul>
 <a name="currTagsLen">
@@ -602,7 +602,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>currTagsLen</h4>
-<pre>private&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.479">currTagsLen</a></pre>
+<pre>private&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.480">currTagsLen</a></pre>
 </li>
 </ul>
 <a name="bufBackedKeyOnlyKv">
@@ -611,7 +611,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>bufBackedKeyOnlyKv</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/ByteBufferedKeyOnlyKeyValue.html" title="class in org.apache.hadoop.hbase">ByteBufferedKeyOnlyKeyValue</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.481">bufBackedKeyOnlyKv</a></pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/ByteBufferedKeyOnlyKeyValue.html" title="class in org.apache.hadoop.hbase">ByteBufferedKeyOnlyKeyValue</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.482">bufBackedKeyOnlyKv</a></pre>
 </li>
 </ul>
 <a name="pair">
@@ -620,7 +620,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>pair</h4>
-<pre>final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/util/ObjectIntPair.html" title="class in org.apache.hadoop.hbase.util">ObjectIntPair</a>&lt;<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>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.483">pair</a></pre>
+<pre>final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/util/ObjectIntPair.html" title="class in org.apache.hadoop.hbase.util">ObjectIntPair</a>&lt;<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>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.484">pair</a></pre>
 </li>
 </ul>
 <a name="nextIndexedKey">
@@ -629,7 +629,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>nextIndexedKey</h4>
-<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.492">nextIndexedKey</a></pre>
+<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.493">nextIndexedKey</a></pre>
 <div class="block">The next indexed key is to keep track of the indexed key of the next data block.
  If the nextIndexedKey is HConstants.NO_NEXT_INDEXED_KEY, it means that the
  current data block is the last data block.
@@ -643,7 +643,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>curBlock</h4>
-<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.494">curBlock</a></pre>
+<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.495">curBlock</a></pre>
 </li>
 </ul>
 <a name="prevBlocks">
@@ -652,7 +652,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockListLast">
 <li class="blockList">
 <h4>prevBlocks</h4>
-<pre>protected final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.496">prevBlocks</a></pre>
+<pre>protected final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.497">prevBlocks</a></pre>
 </li>
 </ul>
 </li>
@@ -669,7 +669,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HFileReaderImpl.HFileScannerImpl</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.498">HFileReaderImpl.HFileScannerImpl</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a>&nbsp;reader,
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.499">HFileReaderImpl.HFileScannerImpl</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a>&nbsp;reader,
                                 boolean&nbsp;cacheBlocks,
                                 boolean&nbsp;pread,
                                 boolean&nbsp;isCompaction)</pre>
@@ -689,7 +689,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>updateCurrBlockRef</h4>
-<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.506">updateCurrBlockRef</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a>&nbsp;block)</pre>
+<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.507">updateCurrBlockRef</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a>&nbsp;block)</pre>
 </li>
 </ul>
 <a name="reset()">
@@ -698,7 +698,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>reset</h4>
-<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.518">reset</a>()</pre>
+<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.519">reset</a>()</pre>
 </li>
 </ul>
 <a name="returnBlockToCache(org.apache.hadoop.hbase.io.hfile.HFileBlock)">
@@ -707,7 +707,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>returnBlockToCache</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.526">returnBlockToCache</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a>&nbsp;block)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.527">returnBlockToCache</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a>&nbsp;block)</pre>
 </li>
 </ul>
 <a name="returnBlocks(boolean)">
@@ -716,7 +716,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>returnBlocks</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.533">returnBlocks</a>(boolean&nbsp;returnAll)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.534">returnBlocks</a>(boolean&nbsp;returnAll)</pre>
 </li>
 </ul>
 <a name="isSeeked()">
@@ -725,7 +725,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>isSeeked</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.544">isSeeked</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.545">isSeeked</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#isSeeked()">isSeeked</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFileScanner</a></code></dd>
@@ -740,7 +740,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <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/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.549">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/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.550">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>
@@ -753,7 +753,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>assertSeeked</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.553">assertSeeked</a>()</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.554">assertSeeked</a>()</pre>
 </li>
 </ul>
 <a name="getReader()">
@@ -762,7 +762,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>getReader</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.559">getReader</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.560">getReader</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#getReader()">getReader</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFileScanner</a></code></dd>
@@ -775,7 +775,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>getCellBufSize</h4>
-<pre>protected&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.563">getCellBufSize</a>()</pre>
+<pre>protected&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.564">getCellBufSize</a>()</pre>
 </li>
 </ul>
 <a name="close()">
@@ -784,7 +784,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>close</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.572">close</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.573">close</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#close()">HFileScanner</a></code></strong></div>
 <div class="block">Close this HFile scanner and do necessary cleanup.</div>
 <dl>
@@ -799,7 +799,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>getCurCellSize</h4>
-<pre>protected&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.576">getCurCellSize</a>()</pre>
+<pre>protected&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.577">getCurCellSize</a>()</pre>
 </li>
 </ul>
 <a name="readKeyValueLen()">
@@ -808,7 +808,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>readKeyValueLen</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.585">readKeyValueLen</a>()</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.586">readKeyValueLen</a>()</pre>
 </li>
 </ul>
 <a name="checkTagsLen()">
@@ -817,7 +817,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>checkTagsLen</h4>
-<pre>private final&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.611">checkTagsLen</a>()</pre>
+<pre>private final&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.612">checkTagsLen</a>()</pre>
 </li>
 </ul>
 <a name="readMvccVersion(int)">
@@ -826,7 +826,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>readMvccVersion</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.624">readMvccVersion</a>(int&nbsp;offsetFromPos)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.625">readMvccVersion</a>(int&nbsp;offsetFromPos)</pre>
 <div class="block">Read mvcc. Does checks to see if we even need to read the mvcc at all.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>offsetFromPos</code> - </dd></dl>
 </li>
@@ -837,7 +837,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>_readMvccVersion</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.639">_readMvccVersion</a>(int&nbsp;offsetFromPos)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.640">_readMvccVersion</a>(int&nbsp;offsetFromPos)</pre>
 <div class="block">Actually do the mvcc read. Does no checks.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>offsetFromPos</code> - </dd></dl>
 </li>
@@ -848,7 +848,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>blockSeek</h4>
-<pre>protected&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.688">blockSeek</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;key,
+<pre>protected&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.689">blockSeek</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;key,
             boolean&nbsp;seekBefore)</pre>
 <div class="block">Within a loaded block, seek looking for the last key that is smaller than
  (or equal to?) the key we are interested in.
@@ -868,7 +868,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>getNextIndexedKey</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.770">getNextIndexedKey</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.771">getNextIndexedKey</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#getNextIndexedKey()">getNextIndexedKey</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFileScanner</a></code></dd>
@@ -881,7 +881,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>seekTo</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.775">seekTo</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;key)
+<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.776">seekTo</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</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>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#seekTo(org.apache.hadoop.hbase.Cell)">HFileScanner</a></code></strong></div>
 <div class="block">SeekTo or just before the passed <code>cell</code>.  Examine the return
@@ -909,7 +909,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>reseekTo</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.780">reseekTo</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;key)
+<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.781">reseekTo</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</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>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#reseekTo(org.apache.hadoop.hbase.Cell)">HFileScanner</a></code></strong></div>
 <div class="block">Reseek to or just before the passed <code>cell</code>. Similar to seekTo
@@ -942,7 +942,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>seekTo</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.824">seekTo</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;key,
+<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.825">seekTo</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;key,
          boolean&nbsp;rewind)
            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">An internal API function. Seek to the given key, optionally rewinding to
@@ -964,7 +964,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>seekBefore</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.838">seekBefore</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;key)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.839">seekBefore</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</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>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#seekBefore(org.apache.hadoop.hbase.Cell)">HFileScanner</a></code></strong></div>
 <div class="block">Consider the cell stream of all the cells in the file,
@@ -987,7 +987,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>readNextDataBlock</h4>
-<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.883">readNextDataBlock</a>()
+<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.884">readNextDataBlock</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">Scans blocks in the "scanned" section of the <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.html" title="class in org.apache.hadoop.hbase.io.hfile"><code>HFile</code></a> until the next
  data block is found.</div>
@@ -1002,7 +1002,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>getEffectiveDataBlockEncoding</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoding.html" title="enum in org.apache.hadoop.hbase.io.encoding">DataBlockEncoding</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.915">getEffectiveDataBlockEncoding</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoding.html" title="enum in org.apache.hadoop.hbase.io.encoding">DataBlockEncoding</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.916">getEffectiveDataBlockEncoding</a>()</pre>
 </li>
 </ul>
 <a name="getCell()">
@@ -1011,7 +1011,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>getCell</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.920">getCell</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.921">getCell</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#getCell()">getCell</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFileScanner</a></code></dd>
@@ -1024,7 +1024,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>getKey</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.983">getKey</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.984">getKey</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#getKey()">HFileScanner</a></code></strong></div>
 <div class="block">Gets the current key in the form of a cell. You must call
  <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#seekTo(org.apache.hadoop.hbase.Cell)"><code>HFileScanner.seekTo(Cell)</code></a> before this method.</div>
@@ -1040,7 +1040,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>getValue</h4>
-<pre>public&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>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1045">getValue</a>()</pre>
+<pre>public&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>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1046">getValue</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#getValue()">HFileScanner</a></code></strong></div>
 <div class="block">Gets a buffer view to the current value.  You must call
  <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#seekTo(org.apache.hadoop.hbase.Cell)"><code>HFileScanner.seekTo(Cell)</code></a> before this method.</div>
@@ -1057,7 +1057,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>setNonSeekedState</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1057">setNonSeekedState</a>()</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1058">setNonSeekedState</a>()</pre>
 </li>
 </ul>
 <a name="positionThisBlockBuffer()">
@@ -1066,7 +1066,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>positionThisBlockBuffer</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1070">positionThisBlockBuffer</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1071">positionThisBlockBuffer</a>()</pre>
 <div class="block">Set the position on current backing blockBuffer.</div>
 </li>
 </ul>
@@ -1076,7 +1076,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>positionForNextBlock</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1088">positionForNextBlock</a>()
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1089">positionForNextBlock</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">Set our selves up for the next 'next' invocation, set up next block.</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>True is more to read else false if at the end.</dd>
@@ -1090,7 +1090,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>isNextBlock</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1099">isNextBlock</a>()
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1100">isNextBlock</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>
@@ -1102,7 +1102,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>_next</h4>
-<pre>private final&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1110">_next</a>()
+<pre>private final&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1111">_next</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>
@@ -1114,7 +1114,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>next</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1129">next</a>()
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1130">next</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">Go to the next key/value in the block section. Loads the next block if
  necessary. If successful, <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#getKey()"><code>getKey()</code></a> and <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#getValue()"><code>getValue()</code></a> can
@@ -1133,7 +1133,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>seekTo</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1145">seekTo</a>()
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1146">seekTo</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">Positions this scanner at the start of the file.</div>
 <dl>
@@ -1151,7 +1151,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>processFirstDataBlock</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1165">processFirstDataBlock</a>()
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1166">processFirstDataBlock</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>
@@ -1163,7 +1163,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>readAndUpdateNewBlock</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1171">readAndUpdateNewBlock</a>(long&nbsp;firstDataBlockOffset)
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1172">readAndUpdateNewBlock</a>(long&nbsp;firstDataBlockOffset)
                               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="../../../../../../org/apache/hadoop/hbase/io/hfile/CorruptHFileException.html" title="class in org.apache.hadoop.hbase.io.hfile">CorruptHFileException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -1177,7 +1177,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>loadBlockAndSeekToKey</h4>
-<pre>protected&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1181">loadBlockAndSeekToKey</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a>&nbsp;seekToBlock,
+<pre>protected&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1182">loadBlockAndSeekToKey</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a>&nbsp;seekToBlock,
                         <a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;nextIndexedKey,
                         boolean&nbsp;rewind,
                         <a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;key,
@@ -1193,7 +1193,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>checkLen</h4>
-<pre>protected final&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1199">checkLen</a>(int&nbsp;v)</pre>
+<pre>protected final&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1200">checkLen</a>(int&nbsp;v)</pre>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>v</code> - </dd>
 <dt><span class="strong">Returns:</span></dt><dd>True if v &lt; 0 or v &gt; current block buffer limit.</dd></dl>
 </li>
@@ -1204,7 +1204,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>checkKeyValueLen</h4>
-<pre>protected final&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1206">checkKeyValueLen</a>()</pre>
+<pre>protected final&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1207">checkKeyValueLen</a>()</pre>
 <div class="block">Check key and value lengths are wholesome.</div>
 </li>
 </ul>
@@ -1214,7 +1214,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>updateCurrentBlock</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1222">updateCurrentBlock</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a>&nbsp;newBlock)
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1223">updateCurrentBlock</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a>&nbsp;newBlock)
                            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">Updates the current block to be the given <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile"><code>HFileBlock</code></a>. Seeks to
  the the first key/value pair.</div>
@@ -1229,7 +1229,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>getFirstKeyCellInBlock</h4>
-<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1241">getFirstKeyCellInBlock</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a>&nbsp;curBlock)</pre>
+<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1242">getFirstKeyCellInBlock</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a>&nbsp;curBlock)</pre>
 </li>
 </ul>
 <a name="getKeyString()">
@@ -1238,7 +1238,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>getKeyString</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/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1257">getKeyString</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/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1258">getKeyString</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#getKeyString()">HFileScanner</a></code></strong></div>
 <div class="block">Convenience method to get a copy of the key as a string - interpreting the
  bytes as UTF8. You must call <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#seekTo(org.apache.hadoop.hbase.Cell)"><code>HFileScanner.seekTo(Cell)</code></a> before this method.</div>
@@ -1254,7 +1254,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>getValueString</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/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1262">getValueString</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/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1263">getValueString</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#getValueString()">HFileScanner</a></code></strong></div>
 <div class="block">Convenience method to get a copy of the value as a string - interpreting
  the bytes as UTF8. You must call <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#seekTo(org.apache.hadoop.hbase.Cell)"><code>HFileScanner.seekTo(Cell)</code></a> before this method.</div>
@@ -1270,7 +1270,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockList">
 <li class="blockList">
 <h4>compareKey</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1266">compareKey</a>(<a href="../../../../../../org/apache/hadoop/hbase/CellComparator.html" title="class in org.apache.hadoop.hbase">CellComparator</a>&nbsp;comparator,
+<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1267">compareKey</a>(<a href="../../../../../../org/apache/hadoop/hbase/CellComparator.html" title="class in org.apache.hadoop.hbase">CellComparator</a>&nbsp;comparator,
              <a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;key)</pre>
 </li>
 </ul>
@@ -1280,7 +1280,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
 <ul class="blockListLast">
 <li class="blockList">
 <h4>shipped</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1273">shipped</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1274">shipped</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/regionserver/Shipper.html#shipped()">Shipper</a></code></strong></div>
 <div class="block">Called after a batch of rows scanned and set to be returned to client. Any in between cleanup

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.NotSeekedException.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.NotSeekedException.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.NotSeekedException.html
index 7674f3b..9c0a527 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.NotSeekedException.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.NotSeekedException.html
@@ -123,7 +123,7 @@
 </dl>
 <hr>
 <br>
-<pre>public static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.461">HFileReaderImpl.NotSeekedException</a>
+<pre>public static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.462">HFileReaderImpl.NotSeekedException</a>
 extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></pre>
 <div class="block">An exception thrown when an operation requiring a scanner to be seeked
  is invoked on a scanner that is not seeked.</div>
@@ -191,7 +191,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/IllegalState
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HFileReaderImpl.NotSeekedException</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.NotSeekedException.html#line.462">HFileReaderImpl.NotSeekedException</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.NotSeekedException.html#line.463">HFileReaderImpl.NotSeekedException</a>()</pre>
 </li>
 </ul>
 </li>


[09/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.ShareableMemoryNoTagsKeyValue.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.ShareableMemoryNoTagsKeyValue.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.ShareableMemoryNoTagsKeyValue.html
index e8248d4..c36648a 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.ShareableMemoryNoTagsKeyValue.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.ShareableMemoryNoTagsKeyValue.html
@@ -59,1847 +59,1848 @@
 <span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.io.encoding.HFileBlockDecodingContext;<a name="line.51"></a>
 <span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.io.hfile.HFile.FileInfo;<a name="line.52"></a>
 <span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.nio.ByteBuff;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.security.EncryptionUtil;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.util.ByteBufferUtils;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.util.IdLock;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.util.ObjectIntPair;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.io.WritableUtils;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.htrace.Trace;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.htrace.TraceScope;<a name="line.61"></a>
-<span class="sourceLineNo">062</span><a name="line.62"></a>
-<span class="sourceLineNo">063</span>import com.google.common.annotations.VisibleForTesting;<a name="line.63"></a>
-<span class="sourceLineNo">064</span><a name="line.64"></a>
-<span class="sourceLineNo">065</span>/**<a name="line.65"></a>
-<span class="sourceLineNo">066</span> * Implementation that can handle all hfile versions of {@link HFile.Reader}.<a name="line.66"></a>
-<span class="sourceLineNo">067</span> */<a name="line.67"></a>
-<span class="sourceLineNo">068</span>@InterfaceAudience.Private<a name="line.68"></a>
-<span class="sourceLineNo">069</span>@edu.umd.cs.findbugs.annotations.SuppressWarnings(value="URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")<a name="line.69"></a>
-<span class="sourceLineNo">070</span>public class HFileReaderImpl implements HFile.Reader, Configurable {<a name="line.70"></a>
-<span class="sourceLineNo">071</span>  // This class is HFileReaderV3 + HFileReaderV2 + AbstractHFileReader all squashed together into<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  // one file.  Ditto for all the HFileReader.ScannerV? implementations. I was running up against<a name="line.72"></a>
-<span class="sourceLineNo">073</span>  // the MaxInlineLevel limit because too many tiers involved reading from an hfile. Was also hard<a name="line.73"></a>
-<span class="sourceLineNo">074</span>  // to navigate the source code when so many classes participating in read.<a name="line.74"></a>
-<span class="sourceLineNo">075</span>  private static final Log LOG = LogFactory.getLog(HFileReaderImpl.class);<a name="line.75"></a>
-<span class="sourceLineNo">076</span><a name="line.76"></a>
-<span class="sourceLineNo">077</span>  /** Data block index reader keeping the root data index in memory */<a name="line.77"></a>
-<span class="sourceLineNo">078</span>  private HFileBlockIndex.CellBasedKeyBlockIndexReader dataBlockIndexReader;<a name="line.78"></a>
-<span class="sourceLineNo">079</span><a name="line.79"></a>
-<span class="sourceLineNo">080</span>  /** Meta block index reader -- always single level */<a name="line.80"></a>
-<span class="sourceLineNo">081</span>  private HFileBlockIndex.ByteArrayKeyBlockIndexReader metaBlockIndexReader;<a name="line.81"></a>
-<span class="sourceLineNo">082</span><a name="line.82"></a>
-<span class="sourceLineNo">083</span>  private final FixedFileTrailer trailer;<a name="line.83"></a>
-<span class="sourceLineNo">084</span><a name="line.84"></a>
-<span class="sourceLineNo">085</span>  /** Filled when we read in the trailer. */<a name="line.85"></a>
-<span class="sourceLineNo">086</span>  private final Compression.Algorithm compressAlgo;<a name="line.86"></a>
-<span class="sourceLineNo">087</span><a name="line.87"></a>
-<span class="sourceLineNo">088</span>  private boolean isPrimaryReplicaReader;<a name="line.88"></a>
-<span class="sourceLineNo">089</span><a name="line.89"></a>
-<span class="sourceLineNo">090</span>  /**<a name="line.90"></a>
-<span class="sourceLineNo">091</span>   * What kind of data block encoding should be used while reading, writing,<a name="line.91"></a>
-<span class="sourceLineNo">092</span>   * and handling cache.<a name="line.92"></a>
-<span class="sourceLineNo">093</span>   */<a name="line.93"></a>
-<span class="sourceLineNo">094</span>  private HFileDataBlockEncoder dataBlockEncoder = NoOpDataBlockEncoder.INSTANCE;<a name="line.94"></a>
-<span class="sourceLineNo">095</span><a name="line.95"></a>
-<span class="sourceLineNo">096</span>  /** Last key in the file. Filled in when we read in the file info */<a name="line.96"></a>
-<span class="sourceLineNo">097</span>  private Cell lastKeyCell = null;<a name="line.97"></a>
-<span class="sourceLineNo">098</span><a name="line.98"></a>
-<span class="sourceLineNo">099</span>  /** Average key length read from file info */<a name="line.99"></a>
-<span class="sourceLineNo">100</span>  private int avgKeyLen = -1;<a name="line.100"></a>
-<span class="sourceLineNo">101</span><a name="line.101"></a>
-<span class="sourceLineNo">102</span>  /** Average value length read from file info */<a name="line.102"></a>
-<span class="sourceLineNo">103</span>  private int avgValueLen = -1;<a name="line.103"></a>
-<span class="sourceLineNo">104</span><a name="line.104"></a>
-<span class="sourceLineNo">105</span>  /** Key comparator */<a name="line.105"></a>
-<span class="sourceLineNo">106</span>  private CellComparator comparator = CellComparator.COMPARATOR;<a name="line.106"></a>
-<span class="sourceLineNo">107</span><a name="line.107"></a>
-<span class="sourceLineNo">108</span>  /** Size of this file. */<a name="line.108"></a>
-<span class="sourceLineNo">109</span>  private final long fileSize;<a name="line.109"></a>
-<span class="sourceLineNo">110</span><a name="line.110"></a>
-<span class="sourceLineNo">111</span>  /** Block cache configuration. */<a name="line.111"></a>
-<span class="sourceLineNo">112</span>  private final CacheConfig cacheConf;<a name="line.112"></a>
-<span class="sourceLineNo">113</span><a name="line.113"></a>
-<span class="sourceLineNo">114</span>  /** Path of file */<a name="line.114"></a>
-<span class="sourceLineNo">115</span>  private final Path path;<a name="line.115"></a>
-<span class="sourceLineNo">116</span><a name="line.116"></a>
-<span class="sourceLineNo">117</span>  /** File name to be used for block names */<a name="line.117"></a>
-<span class="sourceLineNo">118</span>  private final String name;<a name="line.118"></a>
-<span class="sourceLineNo">119</span><a name="line.119"></a>
-<span class="sourceLineNo">120</span>  private FileInfo fileInfo;<a name="line.120"></a>
-<span class="sourceLineNo">121</span><a name="line.121"></a>
-<span class="sourceLineNo">122</span>  private Configuration conf;<a name="line.122"></a>
-<span class="sourceLineNo">123</span><a name="line.123"></a>
-<span class="sourceLineNo">124</span>  private HFileContext hfileContext;<a name="line.124"></a>
-<span class="sourceLineNo">125</span><a name="line.125"></a>
-<span class="sourceLineNo">126</span>  /** Filesystem-level block reader. */<a name="line.126"></a>
-<span class="sourceLineNo">127</span>  private HFileBlock.FSReader fsBlockReader;<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>   * A "sparse lock" implementation allowing to lock on a particular block<a name="line.130"></a>
-<span class="sourceLineNo">131</span>   * identified by offset. The purpose of this is to avoid two clients loading<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   * the same block, and have all but one client wait to get the block from the<a name="line.132"></a>
-<span class="sourceLineNo">133</span>   * cache.<a name="line.133"></a>
-<span class="sourceLineNo">134</span>   */<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  private IdLock offsetLock = new IdLock();<a name="line.135"></a>
-<span class="sourceLineNo">136</span><a name="line.136"></a>
-<span class="sourceLineNo">137</span>  /**<a name="line.137"></a>
-<span class="sourceLineNo">138</span>   * Blocks read from the load-on-open section, excluding data root index, meta<a name="line.138"></a>
-<span class="sourceLineNo">139</span>   * index, and file info.<a name="line.139"></a>
-<span class="sourceLineNo">140</span>   */<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  private List&lt;HFileBlock&gt; loadOnOpenBlocks = new ArrayList&lt;HFileBlock&gt;();<a name="line.141"></a>
-<span class="sourceLineNo">142</span><a name="line.142"></a>
-<span class="sourceLineNo">143</span>  /** Minimum minor version supported by this HFile format */<a name="line.143"></a>
-<span class="sourceLineNo">144</span>  static final int MIN_MINOR_VERSION = 0;<a name="line.144"></a>
-<span class="sourceLineNo">145</span><a name="line.145"></a>
-<span class="sourceLineNo">146</span>  /** Maximum minor version supported by this HFile format */<a name="line.146"></a>
-<span class="sourceLineNo">147</span>  // We went to version 2 when we moved to pb'ing fileinfo and the trailer on<a name="line.147"></a>
-<span class="sourceLineNo">148</span>  // the file. This version can read Writables version 1.<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  static final int MAX_MINOR_VERSION = 3;<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>   * We can read files whose major version is v2 IFF their minor version is at least 3.<a name="line.152"></a>
-<span class="sourceLineNo">153</span>   */<a name="line.153"></a>
-<span class="sourceLineNo">154</span>  private static final int MIN_V2_MINOR_VERSION_WITH_PB = 3;<a name="line.154"></a>
-<span class="sourceLineNo">155</span><a name="line.155"></a>
-<span class="sourceLineNo">156</span>  /** Minor versions starting with this number have faked index key */<a name="line.156"></a>
-<span class="sourceLineNo">157</span>  static final int MINOR_VERSION_WITH_FAKED_KEY = 3;<a name="line.157"></a>
-<span class="sourceLineNo">158</span><a name="line.158"></a>
-<span class="sourceLineNo">159</span>  /**<a name="line.159"></a>
-<span class="sourceLineNo">160</span>   * Opens a HFile. You must load the index before you can use it by calling<a name="line.160"></a>
-<span class="sourceLineNo">161</span>   * {@link #loadFileInfo()}.<a name="line.161"></a>
-<span class="sourceLineNo">162</span>   * @param path<a name="line.162"></a>
-<span class="sourceLineNo">163</span>   *          Path to HFile.<a name="line.163"></a>
-<span class="sourceLineNo">164</span>   * @param trailer<a name="line.164"></a>
-<span class="sourceLineNo">165</span>   *          File trailer.<a name="line.165"></a>
-<span class="sourceLineNo">166</span>   * @param fsdis<a name="line.166"></a>
-<span class="sourceLineNo">167</span>   *          input stream.<a name="line.167"></a>
-<span class="sourceLineNo">168</span>   * @param fileSize<a name="line.168"></a>
-<span class="sourceLineNo">169</span>   *          Length of the stream.<a name="line.169"></a>
-<span class="sourceLineNo">170</span>   * @param cacheConf<a name="line.170"></a>
-<span class="sourceLineNo">171</span>   *          Cache configuration.<a name="line.171"></a>
-<span class="sourceLineNo">172</span>   * @param hfs<a name="line.172"></a>
-<span class="sourceLineNo">173</span>   *          The file system.<a name="line.173"></a>
-<span class="sourceLineNo">174</span>   * @param conf<a name="line.174"></a>
-<span class="sourceLineNo">175</span>   *          Configuration<a name="line.175"></a>
-<span class="sourceLineNo">176</span>   */<a name="line.176"></a>
-<span class="sourceLineNo">177</span>  @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")<a name="line.177"></a>
-<span class="sourceLineNo">178</span>  public HFileReaderImpl(final Path path, FixedFileTrailer trailer,<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      final FSDataInputStreamWrapper fsdis,<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      final long fileSize, final CacheConfig cacheConf, final HFileSystem hfs,<a name="line.180"></a>
-<span class="sourceLineNo">181</span>      final Configuration conf)<a name="line.181"></a>
-<span class="sourceLineNo">182</span>  throws IOException {<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    this.trailer = trailer;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    this.compressAlgo = trailer.getCompressionCodec();<a name="line.184"></a>
-<span class="sourceLineNo">185</span>    this.cacheConf = cacheConf;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    this.fileSize = fileSize;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    this.path = path;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    this.name = path.getName();<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    this.conf = conf;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    checkFileVersion();<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    this.hfileContext = createHFileContext(fsdis, fileSize, hfs, path, trailer);<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    this.fsBlockReader = new HFileBlock.FSReaderImpl(fsdis, fileSize, hfs, path, hfileContext);<a name="line.192"></a>
-<span class="sourceLineNo">193</span><a name="line.193"></a>
-<span class="sourceLineNo">194</span>    // Comparator class name is stored in the trailer in version 2.<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    comparator = trailer.createComparator();<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    dataBlockIndexReader = new HFileBlockIndex.CellBasedKeyBlockIndexReader(comparator,<a name="line.196"></a>
-<span class="sourceLineNo">197</span>        trailer.getNumDataIndexLevels(), this);<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    metaBlockIndexReader = new HFileBlockIndex.ByteArrayKeyBlockIndexReader(1);<a name="line.198"></a>
-<span class="sourceLineNo">199</span><a name="line.199"></a>
-<span class="sourceLineNo">200</span>    // Parse load-on-open data.<a name="line.200"></a>
-<span class="sourceLineNo">201</span><a name="line.201"></a>
-<span class="sourceLineNo">202</span>    HFileBlock.BlockIterator blockIter = fsBlockReader.blockRange(<a name="line.202"></a>
-<span class="sourceLineNo">203</span>        trailer.getLoadOnOpenDataOffset(),<a name="line.203"></a>
-<span class="sourceLineNo">204</span>        fileSize - trailer.getTrailerSize());<a name="line.204"></a>
-<span class="sourceLineNo">205</span><a name="line.205"></a>
-<span class="sourceLineNo">206</span>    // Data index. We also read statistics about the block index written after<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    // the root level.<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    dataBlockIndexReader.readMultiLevelIndexRoot(<a name="line.208"></a>
-<span class="sourceLineNo">209</span>        blockIter.nextBlockWithBlockType(BlockType.ROOT_INDEX),<a name="line.209"></a>
-<span class="sourceLineNo">210</span>        trailer.getDataIndexCount());<a name="line.210"></a>
-<span class="sourceLineNo">211</span><a name="line.211"></a>
-<span class="sourceLineNo">212</span>    // Meta index.<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    metaBlockIndexReader.readRootIndex(<a name="line.213"></a>
-<span class="sourceLineNo">214</span>        blockIter.nextBlockWithBlockType(BlockType.ROOT_INDEX),<a name="line.214"></a>
-<span class="sourceLineNo">215</span>        trailer.getMetaIndexCount());<a name="line.215"></a>
-<span class="sourceLineNo">216</span><a name="line.216"></a>
-<span class="sourceLineNo">217</span>    // File info<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    fileInfo = new FileInfo();<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    fileInfo.read(blockIter.nextBlockWithBlockType(BlockType.FILE_INFO).getByteStream());<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    byte[] creationTimeBytes = fileInfo.get(FileInfo.CREATE_TIME_TS);<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    this.hfileContext.setFileCreateTime(creationTimeBytes == null?  0:<a name="line.221"></a>
-<span class="sourceLineNo">222</span>        Bytes.toLong(creationTimeBytes));<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    if (fileInfo.get(FileInfo.LASTKEY) != null) {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>      lastKeyCell = new KeyValue.KeyOnlyKeyValue(fileInfo.get(FileInfo.LASTKEY));<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    }<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    avgKeyLen = Bytes.toInt(fileInfo.get(FileInfo.AVG_KEY_LEN));<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    avgValueLen = Bytes.toInt(fileInfo.get(FileInfo.AVG_VALUE_LEN));<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    byte [] keyValueFormatVersion = fileInfo.get(HFileWriterImpl.KEY_VALUE_VERSION);<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    includesMemstoreTS = keyValueFormatVersion != null &amp;&amp;<a name="line.229"></a>
-<span class="sourceLineNo">230</span>        Bytes.toInt(keyValueFormatVersion) == HFileWriterImpl.KEY_VALUE_VER_WITH_MEMSTORE;<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    fsBlockReader.setIncludesMemstoreTS(includesMemstoreTS);<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    if (includesMemstoreTS) {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      decodeMemstoreTS = Bytes.toLong(fileInfo.get(HFileWriterImpl.MAX_MEMSTORE_TS_KEY)) &gt; 0;<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    }<a name="line.234"></a>
-<span class="sourceLineNo">235</span><a name="line.235"></a>
-<span class="sourceLineNo">236</span>    // Read data block encoding algorithm name from file info.<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    dataBlockEncoder = HFileDataBlockEncoderImpl.createFromFileInfo(fileInfo);<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    fsBlockReader.setDataBlockEncoder(dataBlockEncoder);<a name="line.238"></a>
-<span class="sourceLineNo">239</span><a name="line.239"></a>
-<span class="sourceLineNo">240</span>    // Store all other load-on-open blocks for further consumption.<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    HFileBlock b;<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    while ((b = blockIter.nextBlock()) != null) {<a name="line.242"></a>
-<span class="sourceLineNo">243</span>      loadOnOpenBlocks.add(b);<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>    // Prefetch file blocks upon open if requested<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    if (cacheConf.shouldPrefetchOnOpen()) {<a name="line.247"></a>
-<span class="sourceLineNo">248</span>      PrefetchExecutor.request(path, new Runnable() {<a name="line.248"></a>
-<span class="sourceLineNo">249</span>        public void run() {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>          try {<a name="line.250"></a>
-<span class="sourceLineNo">251</span>            long offset = 0;<a name="line.251"></a>
-<span class="sourceLineNo">252</span>            long end = fileSize - getTrailer().getTrailerSize();<a name="line.252"></a>
-<span class="sourceLineNo">253</span>            HFileBlock prevBlock = null;<a name="line.253"></a>
-<span class="sourceLineNo">254</span>            while (offset &lt; end) {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>              if (Thread.interrupted()) {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>                break;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>              }<a name="line.257"></a>
-<span class="sourceLineNo">258</span>              long onDiskSize = -1;<a name="line.258"></a>
-<span class="sourceLineNo">259</span>              if (prevBlock != null) {<a name="line.259"></a>
-<span class="sourceLineNo">260</span>                onDiskSize = prevBlock.getNextBlockOnDiskSizeWithHeader();<a name="line.260"></a>
-<span class="sourceLineNo">261</span>              }<a name="line.261"></a>
-<span class="sourceLineNo">262</span>              HFileBlock block = readBlock(offset, onDiskSize, true, false, false, false,<a name="line.262"></a>
-<span class="sourceLineNo">263</span>                null, null);<a name="line.263"></a>
-<span class="sourceLineNo">264</span>              // Need not update the current block. Ideally here the readBlock won't find the<a name="line.264"></a>
-<span class="sourceLineNo">265</span>              // block in cache. We call this readBlock so that block data is read from FS and<a name="line.265"></a>
-<span class="sourceLineNo">266</span>              // cached in BC. So there is no reference count increment that happens here.<a name="line.266"></a>
-<span class="sourceLineNo">267</span>              // The return will ideally be a noop because the block is not of MemoryType SHARED.<a name="line.267"></a>
-<span class="sourceLineNo">268</span>              returnBlock(block);<a name="line.268"></a>
-<span class="sourceLineNo">269</span>              prevBlock = block;<a name="line.269"></a>
-<span class="sourceLineNo">270</span>              offset += block.getOnDiskSizeWithHeader();<a name="line.270"></a>
-<span class="sourceLineNo">271</span>            }<a name="line.271"></a>
-<span class="sourceLineNo">272</span>          } catch (IOException e) {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>            // IOExceptions are probably due to region closes (relocation, etc.)<a name="line.273"></a>
-<span class="sourceLineNo">274</span>            if (LOG.isTraceEnabled()) {<a name="line.274"></a>
-<span class="sourceLineNo">275</span>              LOG.trace("Exception encountered while prefetching " + path + ":", e);<a name="line.275"></a>
-<span class="sourceLineNo">276</span>            }<a name="line.276"></a>
-<span class="sourceLineNo">277</span>          } catch (Exception e) {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>            // Other exceptions are interesting<a name="line.278"></a>
-<span class="sourceLineNo">279</span>            LOG.warn("Exception encountered while prefetching " + path + ":", e);<a name="line.279"></a>
-<span class="sourceLineNo">280</span>          } finally {<a name="line.280"></a>
-<span class="sourceLineNo">281</span>            PrefetchExecutor.complete(path);<a name="line.281"></a>
-<span class="sourceLineNo">282</span>          }<a name="line.282"></a>
-<span class="sourceLineNo">283</span>        }<a name="line.283"></a>
-<span class="sourceLineNo">284</span>      });<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    }<a name="line.285"></a>
-<span class="sourceLineNo">286</span><a name="line.286"></a>
-<span class="sourceLineNo">287</span>    byte[] tmp = fileInfo.get(FileInfo.MAX_TAGS_LEN);<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    // max tag length is not present in the HFile means tags were not at all written to file.<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    if (tmp != null) {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>      hfileContext.setIncludesTags(true);<a name="line.290"></a>
-<span class="sourceLineNo">291</span>      tmp = fileInfo.get(FileInfo.TAGS_COMPRESSED);<a name="line.291"></a>
-<span class="sourceLineNo">292</span>      if (tmp != null &amp;&amp; Bytes.toBoolean(tmp)) {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>        hfileContext.setCompressTags(true);<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      }<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    }<a name="line.295"></a>
-<span class="sourceLineNo">296</span>  }<a name="line.296"></a>
-<span class="sourceLineNo">297</span><a name="line.297"></a>
-<span class="sourceLineNo">298</span>  /**<a name="line.298"></a>
-<span class="sourceLineNo">299</span>   * File version check is a little sloppy. We read v3 files but can also read v2 files if their<a name="line.299"></a>
-<span class="sourceLineNo">300</span>   * content has been pb'd; files written with 0.98.<a name="line.300"></a>
-<span class="sourceLineNo">301</span>   */<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  private void checkFileVersion() {<a name="line.302"></a>
-<span class="sourceLineNo">303</span>    int majorVersion = trailer.getMajorVersion();<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    if (majorVersion == getMajorVersion()) return;<a name="line.304"></a>
-<span class="sourceLineNo">305</span>    int minorVersion = trailer.getMinorVersion();<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    if (majorVersion == 2 &amp;&amp; minorVersion &gt;= MIN_V2_MINOR_VERSION_WITH_PB) return;<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    // We can read v3 or v2 versions of hfile.<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    throw new IllegalArgumentException("Invalid HFile version: major=" +<a name="line.308"></a>
-<span class="sourceLineNo">309</span>      trailer.getMajorVersion() + ", minor=" + trailer.getMinorVersion() + ": expected at least " +<a name="line.309"></a>
-<span class="sourceLineNo">310</span>      "major=2 and minor=" + MAX_MINOR_VERSION);<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  }<a name="line.311"></a>
-<span class="sourceLineNo">312</span><a name="line.312"></a>
-<span class="sourceLineNo">313</span>  @SuppressWarnings("serial")<a name="line.313"></a>
-<span class="sourceLineNo">314</span>  public static class BlockIndexNotLoadedException extends IllegalStateException {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    public BlockIndexNotLoadedException() {<a name="line.315"></a>
-<span class="sourceLineNo">316</span>      // Add a message in case anyone relies on it as opposed to class name.<a name="line.316"></a>
-<span class="sourceLineNo">317</span>      super("Block index not loaded");<a name="line.317"></a>
-<span class="sourceLineNo">318</span>    }<a name="line.318"></a>
-<span class="sourceLineNo">319</span>  }<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>  private String toStringFirstKey() {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    if(getFirstKey() == null)<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      return null;<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    return CellUtil.getCellKeyAsString(getFirstKey());<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  }<a name="line.325"></a>
-<span class="sourceLineNo">326</span><a name="line.326"></a>
-<span class="sourceLineNo">327</span>  private String toStringLastKey() {<a name="line.327"></a>
-<span class="sourceLineNo">328</span>    return CellUtil.toString(getLastKey(), false);<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>  @Override<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  public String toString() {<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    return "reader=" + path.toString() +<a name="line.333"></a>
-<span class="sourceLineNo">334</span>        (!isFileInfoLoaded()? "":<a name="line.334"></a>
-<span class="sourceLineNo">335</span>          ", compression=" + compressAlgo.getName() +<a name="line.335"></a>
-<span class="sourceLineNo">336</span>          ", cacheConf=" + cacheConf +<a name="line.336"></a>
-<span class="sourceLineNo">337</span>          ", firstKey=" + toStringFirstKey() +<a name="line.337"></a>
-<span class="sourceLineNo">338</span>          ", lastKey=" + toStringLastKey()) +<a name="line.338"></a>
-<span class="sourceLineNo">339</span>          ", avgKeyLen=" + avgKeyLen +<a name="line.339"></a>
-<span class="sourceLineNo">340</span>          ", avgValueLen=" + avgValueLen +<a name="line.340"></a>
-<span class="sourceLineNo">341</span>          ", entries=" + trailer.getEntryCount() +<a name="line.341"></a>
-<span class="sourceLineNo">342</span>          ", length=" + fileSize;<a name="line.342"></a>
-<span class="sourceLineNo">343</span>  }<a name="line.343"></a>
-<span class="sourceLineNo">344</span><a name="line.344"></a>
-<span class="sourceLineNo">345</span>  @Override<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  public long length() {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    return fileSize;<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 void returnBlock(HFileBlock block) {<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    BlockCache blockCache = this.cacheConf.getBlockCache();<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    if (blockCache != null &amp;&amp; block != null) {<a name="line.353"></a>
-<span class="sourceLineNo">354</span>      BlockCacheKey cacheKey = new BlockCacheKey(this.getFileContext().getHFileName(),<a name="line.354"></a>
-<span class="sourceLineNo">355</span>          block.getOffset(), this.isPrimaryReplicaReader());<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      blockCache.returnBlock(cacheKey, block);<a name="line.356"></a>
-<span class="sourceLineNo">357</span>    }<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  }<a name="line.358"></a>
-<span class="sourceLineNo">359</span>  /**<a name="line.359"></a>
-<span class="sourceLineNo">360</span>   * @return the first key in the file. May be null if file has no entries. Note<a name="line.360"></a>
-<span class="sourceLineNo">361</span>   *         that this is not the first row key, but rather the byte form of the<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   *         first KeyValue.<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   */<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  @Override<a name="line.364"></a>
-<span class="sourceLineNo">365</span>  public Cell getFirstKey() {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    if (dataBlockIndexReader == null) {<a name="line.366"></a>
-<span class="sourceLineNo">367</span>      throw new BlockIndexNotLoadedException();<a name="line.367"></a>
-<span class="sourceLineNo">368</span>    }<a name="line.368"></a>
-<span class="sourceLineNo">369</span>    return dataBlockIndexReader.isEmpty() ? null<a name="line.369"></a>
-<span class="sourceLineNo">370</span>        : dataBlockIndexReader.getRootBlockKey(0);<a name="line.370"></a>
-<span class="sourceLineNo">371</span>  }<a name="line.371"></a>
-<span class="sourceLineNo">372</span><a name="line.372"></a>
-<span class="sourceLineNo">373</span>  /**<a name="line.373"></a>
-<span class="sourceLineNo">374</span>   * TODO left from {@link HFile} version 1: move this to StoreFile after Ryan's<a name="line.374"></a>
-<span class="sourceLineNo">375</span>   * patch goes in to eliminate {@link KeyValue} here.<a name="line.375"></a>
-<span class="sourceLineNo">376</span>   *<a name="line.376"></a>
-<span class="sourceLineNo">377</span>   * @return the first row key, or null if the file is empty.<a name="line.377"></a>
-<span class="sourceLineNo">378</span>   */<a name="line.378"></a>
-<span class="sourceLineNo">379</span>  @Override<a name="line.379"></a>
-<span class="sourceLineNo">380</span>  public byte[] getFirstRowKey() {<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    Cell firstKey = getFirstKey();<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    // We have to copy the row part to form the row key alone<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    return firstKey == null? null: CellUtil.cloneRow(firstKey);<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>  /**<a name="line.386"></a>
-<span class="sourceLineNo">387</span>   * TODO left from {@link HFile} version 1: move this to StoreFile after<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * Ryan's patch goes in to eliminate {@link KeyValue} here.<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   *<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   * @return the last row key, or null if the file is empty.<a name="line.390"></a>
-<span class="sourceLineNo">391</span>   */<a name="line.391"></a>
-<span class="sourceLineNo">392</span>  @Override<a name="line.392"></a>
-<span class="sourceLineNo">393</span>  public byte[] getLastRowKey() {<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    Cell lastKey = getLastKey();<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    return lastKey == null? null: CellUtil.cloneRow(lastKey);<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  }<a name="line.396"></a>
-<span class="sourceLineNo">397</span><a name="line.397"></a>
-<span class="sourceLineNo">398</span>  /** @return number of KV entries in this HFile */<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  @Override<a name="line.399"></a>
-<span class="sourceLineNo">400</span>  public long getEntries() {<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    return trailer.getEntryCount();<a name="line.401"></a>
-<span class="sourceLineNo">402</span>  }<a name="line.402"></a>
-<span class="sourceLineNo">403</span><a name="line.403"></a>
-<span class="sourceLineNo">404</span>  /** @return comparator */<a name="line.404"></a>
-<span class="sourceLineNo">405</span>  @Override<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  public CellComparator getComparator() {<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    return comparator;<a name="line.407"></a>
-<span class="sourceLineNo">408</span>  }<a name="line.408"></a>
-<span class="sourceLineNo">409</span><a name="line.409"></a>
-<span class="sourceLineNo">410</span>  /** @return compression algorithm */<a name="line.410"></a>
-<span class="sourceLineNo">411</span>  @Override<a name="line.411"></a>
-<span class="sourceLineNo">412</span>  public Compression.Algorithm getCompressionAlgorithm() {<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    return compressAlgo;<a name="line.413"></a>
-<span class="sourceLineNo">414</span>  }<a name="line.414"></a>
-<span class="sourceLineNo">415</span><a name="line.415"></a>
-<span class="sourceLineNo">416</span>  /**<a name="line.416"></a>
-<span class="sourceLineNo">417</span>   * @return the total heap size of data and meta block indexes in bytes. Does<a name="line.417"></a>
-<span class="sourceLineNo">418</span>   *         not take into account non-root blocks of a multilevel data index.<a name="line.418"></a>
-<span class="sourceLineNo">419</span>   */<a name="line.419"></a>
-<span class="sourceLineNo">420</span>  public long indexSize() {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    return (dataBlockIndexReader != null ? dataBlockIndexReader.heapSize() : 0)<a name="line.421"></a>
-<span class="sourceLineNo">422</span>        + ((metaBlockIndexReader != null) ? metaBlockIndexReader.heapSize()<a name="line.422"></a>
-<span class="sourceLineNo">423</span>            : 0);<a name="line.423"></a>
-<span class="sourceLineNo">424</span>  }<a name="line.424"></a>
-<span class="sourceLineNo">425</span><a name="line.425"></a>
-<span class="sourceLineNo">426</span>  @Override<a name="line.426"></a>
-<span class="sourceLineNo">427</span>  public String getName() {<a name="line.427"></a>
-<span class="sourceLineNo">428</span>    return name;<a name="line.428"></a>
-<span class="sourceLineNo">429</span>  }<a name="line.429"></a>
-<span class="sourceLineNo">430</span><a name="line.430"></a>
-<span class="sourceLineNo">431</span>  @Override<a name="line.431"></a>
-<span class="sourceLineNo">432</span>  public HFileBlockIndex.BlockIndexReader getDataBlockIndexReader() {<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    return dataBlockIndexReader;<a name="line.433"></a>
-<span class="sourceLineNo">434</span>  }<a name="line.434"></a>
-<span class="sourceLineNo">435</span><a name="line.435"></a>
-<span class="sourceLineNo">436</span>  @Override<a name="line.436"></a>
-<span class="sourceLineNo">437</span>  public FixedFileTrailer getTrailer() {<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    return trailer;<a name="line.438"></a>
-<span class="sourceLineNo">439</span>  }<a name="line.439"></a>
-<span class="sourceLineNo">440</span><a name="line.440"></a>
-<span class="sourceLineNo">441</span>  @Override<a name="line.441"></a>
-<span class="sourceLineNo">442</span>  public boolean isPrimaryReplicaReader() {<a name="line.442"></a>
-<span class="sourceLineNo">443</span>    return isPrimaryReplicaReader;<a name="line.443"></a>
-<span class="sourceLineNo">444</span>  }<a name="line.444"></a>
-<span class="sourceLineNo">445</span><a name="line.445"></a>
-<span class="sourceLineNo">446</span>  @Override<a name="line.446"></a>
-<span class="sourceLineNo">447</span>  public void setPrimaryReplicaReader(boolean isPrimaryReplicaReader) {<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    this.isPrimaryReplicaReader = isPrimaryReplicaReader;<a name="line.448"></a>
-<span class="sourceLineNo">449</span>  }<a name="line.449"></a>
-<span class="sourceLineNo">450</span><a name="line.450"></a>
-<span class="sourceLineNo">451</span>  @Override<a name="line.451"></a>
-<span class="sourceLineNo">452</span>  public FileInfo loadFileInfo() throws IOException {<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    return fileInfo;<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>   * An exception thrown when an operation requiring a scanner to be seeked<a name="line.457"></a>
-<span class="sourceLineNo">458</span>   * is invoked on a scanner that is not seeked.<a name="line.458"></a>
-<span class="sourceLineNo">459</span>   */<a name="line.459"></a>
-<span class="sourceLineNo">460</span>  @SuppressWarnings("serial")<a name="line.460"></a>
-<span class="sourceLineNo">461</span>  public static class NotSeekedException extends IllegalStateException {<a name="line.461"></a>
-<span class="sourceLineNo">462</span>    public NotSeekedException() {<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      super("Not seeked to a key/value");<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>  protected static class HFileScannerImpl implements HFileScanner {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    private ByteBuff blockBuffer;<a name="line.468"></a>
-<span class="sourceLineNo">469</span>    protected final boolean cacheBlocks;<a name="line.469"></a>
-<span class="sourceLineNo">470</span>    protected final boolean pread;<a name="line.470"></a>
-<span class="sourceLineNo">471</span>    protected final boolean isCompaction;<a name="line.471"></a>
-<span class="sourceLineNo">472</span>    private int currKeyLen;<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    private int currValueLen;<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    private int currMemstoreTSLen;<a name="line.474"></a>
-<span class="sourceLineNo">475</span>    private long currMemstoreTS;<a name="line.475"></a>
-<span class="sourceLineNo">476</span>    // Updated but never read?<a name="line.476"></a>
-<span class="sourceLineNo">477</span>    protected AtomicInteger blockFetches = new AtomicInteger(0);<a name="line.477"></a>
-<span class="sourceLineNo">478</span>    protected final HFile.Reader reader;<a name="line.478"></a>
-<span class="sourceLineNo">479</span>    private int currTagsLen;<a name="line.479"></a>
-<span class="sourceLineNo">480</span>    // buffer backed keyonlyKV<a name="line.480"></a>
-<span class="sourceLineNo">481</span>    private ByteBufferedKeyOnlyKeyValue bufBackedKeyOnlyKv = new ByteBufferedKeyOnlyKeyValue();<a name="line.481"></a>
-<span class="sourceLineNo">482</span>    // A pair for reusing in blockSeek() so that we don't garbage lot of objects<a name="line.482"></a>
-<span class="sourceLineNo">483</span>    final ObjectIntPair&lt;ByteBuffer&gt; pair = new ObjectIntPair&lt;ByteBuffer&gt;();<a name="line.483"></a>
-<span class="sourceLineNo">484</span><a name="line.484"></a>
-<span class="sourceLineNo">485</span>    /**<a name="line.485"></a>
-<span class="sourceLineNo">486</span>     * The next indexed key is to keep track of the indexed key of the next data block.<a name="line.486"></a>
-<span class="sourceLineNo">487</span>     * If the nextIndexedKey is HConstants.NO_NEXT_INDEXED_KEY, it means that the<a name="line.487"></a>
-<span class="sourceLineNo">488</span>     * current data block is the last data block.<a name="line.488"></a>
-<span class="sourceLineNo">489</span>     *<a name="line.489"></a>
-<span class="sourceLineNo">490</span>     * If the nextIndexedKey is null, it means the nextIndexedKey has not been loaded yet.<a name="line.490"></a>
-<span class="sourceLineNo">491</span>     */<a name="line.491"></a>
-<span class="sourceLineNo">492</span>    protected Cell nextIndexedKey;<a name="line.492"></a>
-<span class="sourceLineNo">493</span>    // Current block being used<a name="line.493"></a>
-<span class="sourceLineNo">494</span>    protected HFileBlock curBlock;<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    // Previous blocks that were used in the course of the read<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    protected final ArrayList&lt;HFileBlock&gt; prevBlocks = new ArrayList&lt;HFileBlock&gt;();<a name="line.496"></a>
-<span class="sourceLineNo">497</span><a name="line.497"></a>
-<span class="sourceLineNo">498</span>    public HFileScannerImpl(final HFile.Reader reader, final boolean cacheBlocks,<a name="line.498"></a>
-<span class="sourceLineNo">499</span>        final boolean pread, final boolean isCompaction) {<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      this.reader = reader;<a name="line.500"></a>
-<span class="sourceLineNo">501</span>      this.cacheBlocks = cacheBlocks;<a name="line.501"></a>
-<span class="sourceLineNo">502</span>      this.pread = pread;<a name="line.502"></a>
-<span class="sourceLineNo">503</span>      this.isCompaction = isCompaction;<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>    void updateCurrBlockRef(HFileBlock block) {<a name="line.506"></a>
-<span class="sourceLineNo">507</span>      if (block != null &amp;&amp; this.curBlock != null &amp;&amp;<a name="line.507"></a>
-<span class="sourceLineNo">508</span>          block.getOffset() == this.curBlock.getOffset()) {<a name="line.508"></a>
-<span class="sourceLineNo">509</span>        return;<a name="line.509"></a>
-<span class="sourceLineNo">510</span>      }<a name="line.510"></a>
-<span class="sourceLineNo">511</span>      // We don't have to keep ref to EXCLUSIVE type of block<a name="line.511"></a>
-<span class="sourceLineNo">512</span>      if (this.curBlock != null &amp;&amp; this.curBlock.usesSharedMemory()) {<a name="line.512"></a>
-<span class="sourceLineNo">513</span>        prevBlocks.add(this.curBlock);<a name="line.513"></a>
-<span class="sourceLineNo">514</span>      }<a name="line.514"></a>
-<span class="sourceLineNo">515</span>      this.curBlock = block;<a name="line.515"></a>
-<span class="sourceLineNo">516</span>    }<a name="line.516"></a>
-<span class="sourceLineNo">517</span><a name="line.517"></a>
-<span class="sourceLineNo">518</span>    void reset() {<a name="line.518"></a>
-<span class="sourceLineNo">519</span>      // We don't have to keep ref to EXCLUSIVE type of block<a name="line.519"></a>
-<span class="sourceLineNo">520</span>      if (this.curBlock != null &amp;&amp; this.curBlock.usesSharedMemory()) {<a name="line.520"></a>
-<span class="sourceLineNo">521</span>        this.prevBlocks.add(this.curBlock);<a name="line.521"></a>
-<span class="sourceLineNo">522</span>      }<a name="line.522"></a>
-<span class="sourceLineNo">523</span>      this.curBlock = null;<a name="line.523"></a>
-<span class="sourceLineNo">524</span>    }<a name="line.524"></a>
-<span class="sourceLineNo">525</span><a name="line.525"></a>
-<span class="sourceLineNo">526</span>    private void returnBlockToCache(HFileBlock block) {<a name="line.526"></a>
-<span class="sourceLineNo">527</span>      if (LOG.isTraceEnabled()) {<a name="line.527"></a>
-<span class="sourceLineNo">528</span>        LOG.trace("Returning the block : " + block);<a name="line.528"></a>
-<span class="sourceLineNo">529</span>      }<a name="line.529"></a>
-<span class="sourceLineNo">530</span>      this.reader.returnBlock(block);<a name="line.530"></a>
-<span class="sourceLineNo">531</span>    }<a name="line.531"></a>
-<span class="sourceLineNo">532</span><a name="line.532"></a>
-<span class="sourceLineNo">533</span>    private void returnBlocks(boolean returnAll) {<a name="line.533"></a>
-<span class="sourceLineNo">534</span>      for (int i = 0; i &lt; this.prevBlocks.size(); i++) {<a name="line.534"></a>
-<span class="sourceLineNo">535</span>        returnBlockToCache(this.prevBlocks.get(i));<a name="line.535"></a>
-<span class="sourceLineNo">536</span>      }<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      this.prevBlocks.clear();<a name="line.537"></a>
-<span class="sourceLineNo">538</span>      if (returnAll &amp;&amp; this.curBlock != null) {<a name="line.538"></a>
-<span class="sourceLineNo">539</span>        returnBlockToCache(this.curBlock);<a name="line.539"></a>
-<span class="sourceLineNo">540</span>        this.curBlock = null;<a name="line.540"></a>
-<span class="sourceLineNo">541</span>      }<a name="line.541"></a>
-<span class="sourceLineNo">542</span>    }<a name="line.542"></a>
-<span class="sourceLineNo">543</span>    @Override<a name="line.543"></a>
-<span class="sourceLineNo">544</span>    public boolean isSeeked(){<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      return blockBuffer != null;<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>    @Override<a name="line.548"></a>
-<span class="sourceLineNo">549</span>    public String toString() {<a name="line.549"></a>
-<span class="sourceLineNo">550</span>      return "HFileScanner for reader " + String.valueOf(getReader());<a name="line.550"></a>
-<span class="sourceLineNo">551</span>    }<a name="line.551"></a>
-<span class="sourceLineNo">552</span><a name="line.552"></a>
-<span class="sourceLineNo">553</span>    protected void assertSeeked() {<a name="line.553"></a>
-<span class="sourceLineNo">554</span>      if (!isSeeked())<a name="line.554"></a>
-<span class="sourceLineNo">555</span>        throw new NotSeekedException();<a name="line.555"></a>
-<span class="sourceLineNo">556</span>    }<a name="line.556"></a>
-<span class="sourceLineNo">557</span><a name="line.557"></a>
-<span class="sourceLineNo">558</span>    @Override<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    public HFile.Reader getReader() {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>      return reader;<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    }<a name="line.561"></a>
-<span class="sourceLineNo">562</span><a name="line.562"></a>
-<span class="sourceLineNo">563</span>    protected int getCellBufSize() {<a name="line.563"></a>
-<span class="sourceLineNo">564</span>      int kvBufSize = KEY_VALUE_LEN_SIZE + currKeyLen + currValueLen;<a name="line.564"></a>
-<span class="sourceLineNo">565</span>      if (this.reader.getFileContext().isIncludesTags()) {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>        kvBufSize += Bytes.SIZEOF_SHORT + currTagsLen;<a name="line.566"></a>
-<span class="sourceLineNo">567</span>      }<a name="line.567"></a>
-<span class="sourceLineNo">568</span>      return kvBufSize;<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>    @Override<a name="line.571"></a>
-<span class="sourceLineNo">572</span>    public void close() {<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      this.returnBlocks(true);<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    }<a name="line.574"></a>
-<span class="sourceLineNo">575</span><a name="line.575"></a>
-<span class="sourceLineNo">576</span>    protected int getCurCellSize() {<a name="line.576"></a>
-<span class="sourceLineNo">577</span>      int curCellSize =  KEY_VALUE_LEN_SIZE + currKeyLen + currValueLen<a name="line.577"></a>
-<span class="sourceLineNo">578</span>          + currMemstoreTSLen;<a name="line.578"></a>
-<span class="sourceLineNo">579</span>      if (this.reader.getFileContext().isIncludesTags()) {<a name="line.579"></a>
-<span class="sourceLineNo">580</span>        curCellSize += Bytes.SIZEOF_SHORT + currTagsLen;<a name="line.580"></a>
-<span class="sourceLineNo">581</span>      }<a name="line.581"></a>
-<span class="sourceLineNo">582</span>      return curCellSize;<a name="line.582"></a>
-<span class="sourceLineNo">583</span>    }<a name="line.583"></a>
-<span class="sourceLineNo">584</span><a name="line.584"></a>
-<span class="sourceLineNo">585</span>    protected void readKeyValueLen() {<a name="line.585"></a>
-<span class="sourceLineNo">586</span>      // This is a hot method. We go out of our way to make this method short so it can be<a name="line.586"></a>
-<span class="sourceLineNo">587</span>      // inlined and is not too big to compile. We also manage position in ByteBuffer ourselves<a name="line.587"></a>
-<span class="sourceLineNo">588</span>      // because it is faster than going via range-checked ByteBuffer methods or going through a<a name="line.588"></a>
-<span class="sourceLineNo">589</span>      // byte buffer array a byte at a time.<a name="line.589"></a>
-<span class="sourceLineNo">590</span>      // Get a long at a time rather than read two individual ints. In micro-benchmarking, even<a name="line.590"></a>
-<span class="sourceLineNo">591</span>      // with the extra bit-fiddling, this is order-of-magnitude faster than getting two ints.<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      // Trying to imitate what was done - need to profile if this is better or<a name="line.592"></a>
-<span class="sourceLineNo">593</span>      // earlier way is better by doing mark and reset?<a name="line.593"></a>
-<span class="sourceLineNo">594</span>      // But ensure that you read long instead of two ints<a name="line.594"></a>
-<span class="sourceLineNo">595</span>      long ll = blockBuffer.getLongAfterPosition(0);<a name="line.595"></a>
-<span class="sourceLineNo">596</span>      // Read top half as an int of key length and bottom int as value length<a name="line.596"></a>
-<span class="sourceLineNo">597</span>      this.currKeyLen = (int)(ll &gt;&gt; Integer.SIZE);<a name="line.597"></a>
-<span class="sourceLineNo">598</span>      this.currValueLen = (int)(Bytes.MASK_FOR_LOWER_INT_IN_LONG ^ ll);<a name="line.598"></a>
-<span class="sourceLineNo">599</span>      checkKeyValueLen();<a name="line.599"></a>
-<span class="sourceLineNo">600</span>      // Move position past the key and value lengths and then beyond the key and value<a name="line.600"></a>
-<span class="sourceLineNo">601</span>      int p = (Bytes.SIZEOF_LONG + currKeyLen + currValueLen);<a name="line.601"></a>
-<span class="sourceLineNo">602</span>      if (reader.getFileContext().isIncludesTags()) {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>        // Tags length is a short.<a name="line.603"></a>
-<span class="sourceLineNo">604</span>        this.currTagsLen = blockBuffer.getShortAfterPosition(p);<a name="line.604"></a>
-<span class="sourceLineNo">605</span>        checkTagsLen();<a name="line.605"></a>
-<span class="sourceLineNo">606</span>        p += (Bytes.SIZEOF_SHORT + currTagsLen);<a name="line.606"></a>
-<span class="sourceLineNo">607</span>      }<a name="line.607"></a>
-<span class="sourceLineNo">608</span>      readMvccVersion(p);<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>    private final void checkTagsLen() {<a name="line.611"></a>
-<span class="sourceLineNo">612</span>      if (checkLen(this.currTagsLen)) {<a name="line.612"></a>
-<span class="sourceLineNo">613</span>        throw new IllegalStateException("Invalid currTagsLen " + this.currTagsLen +<a name="line.613"></a>
-<span class="sourceLineNo">614</span>          ". Block offset: " + curBlock.getOffset() + ", block length: " +<a name="line.614"></a>
-<span class="sourceLineNo">615</span>            this.blockBuffer.limit() +<a name="line.615"></a>
-<span class="sourceLineNo">616</span>          ", position: " + this.blockBuffer.position() + " (without header).");<a name="line.616"></a>
-<span class="sourceLineNo">617</span>      }<a name="line.617"></a>
-<span class="sourceLineNo">618</span>    }<a name="line.618"></a>
-<span class="sourceLineNo">619</span><a name="line.619"></a>
-<span class="sourceLineNo">620</span>    /**<a name="line.620"></a>
-<span class="sourceLineNo">621</span>     * Read mvcc. Does checks to see if we even need to read the mvcc at all.<a name="line.621"></a>
-<span class="sourceLineNo">622</span>     * @param offsetFromPos<a name="line.622"></a>
-<span class="sourceLineNo">623</span>     */<a name="line.623"></a>
-<span class="sourceLineNo">624</span>    protected void readMvccVersion(final int offsetFromPos) {<a name="line.624"></a>
-<span class="sourceLineNo">625</span>      // See if we even need to decode mvcc.<a name="line.625"></a>
-<span class="sourceLineNo">626</span>      if (!this.reader.shouldIncludeMemstoreTS()) return;<a name="line.626"></a>
-<span class="sourceLineNo">627</span>      if (!this.reader.isDecodeMemstoreTS()) {<a name="line.627"></a>
-<span class="sourceLineNo">628</span>        currMemstoreTS = 0;<a name="line.628"></a>
-<span class="sourceLineNo">629</span>        currMemstoreTSLen = 1;<a name="line.629"></a>
-<span class="sourceLineNo">630</span>        return;<a name="line.630"></a>
-<span class="sourceLineNo">631</span>      }<a name="line.631"></a>
-<span class="sourceLineNo">632</span>      _readMvccVersion(offsetFromPos);<a name="line.632"></a>
-<span class="sourceLineNo">633</span>    }<a name="line.633"></a>
-<span class="sourceLineNo">634</span><a name="line.634"></a>
-<span class="sourceLineNo">635</span>    /**<a name="line.635"></a>
-<span class="sourceLineNo">636</span>     * Actually do the mvcc read. Does no checks.<a name="line.636"></a>
-<span class="sourceLineNo">637</span>     * @param offsetFromPos<a name="line.637"></a>
-<span class="sourceLineNo">638</span>     */<a name="line.638"></a>
-<span class="sourceLineNo">639</span>    private void _readMvccVersion(int offsetFromPos) {<a name="line.639"></a>
-<span class="sourceLineNo">640</span>      // This is Bytes#bytesToVint inlined so can save a few instructions in this hot method; i.e.<a name="line.640"></a>
-<span class="sourceLineNo">641</span>      // previous if one-byte vint, we'd redo the vint call to find int size.<a name="line.641"></a>
-<span class="sourceLineNo">642</span>      // Also the method is kept small so can be inlined.<a name="line.642"></a>
-<span class="sourceLineNo">643</span>      byte firstByte = blockBuffer.getByteAfterPosition(offsetFromPos);<a name="line.643"></a>
-<span class="sourceLineNo">644</span>      int len = WritableUtils.decodeVIntSize(firstByte);<a name="line.644"></a>
-<span class="sourceLineNo">645</span>      if (len == 1) {<a name="line.645"></a>
-<span class="sourceLineNo">646</span>        this.currMemstoreTS = firstByte;<a name="line.646"></a>
-<span class="sourceLineNo">647</span>      } else {<a name="line.647"></a>
-<span class="sourceLineNo">648</span>        int remaining = len -1;<a name="line.648"></a>
-<span class="sourceLineNo">649</span>        long i = 0;<a name="line.649"></a>
-<span class="sourceLineNo">650</span>        offsetFromPos++;<a name="line.650"></a>
-<span class="sourceLineNo">651</span>        if (remaining &gt;= Bytes.SIZEOF_INT) {<a name="line.651"></a>
-<span class="sourceLineNo">652</span>          i = blockBuffer.getIntAfterPosition(offsetFromPos);<a name="line.652"></a>
-<span class="sourceLineNo">653</span>          remaining -= Bytes.SIZEOF_INT;<a name="line.653"></a>
-<span class="sourceLineNo">654</span>          offsetFromPos += Bytes.SIZEOF_INT;<a name="line.654"></a>
-<span class="sourceLineNo">655</span>        }<a name="line.655"></a>
-<span class="sourceLineNo">656</span>        if (remaining &gt;= Bytes.SIZEOF_SHORT) {<a name="line.656"></a>
-<span class="sourceLineNo">657</span>          short s = blockBuffer.getShortAfterPosition(offsetFromPos);<a name="line.657"></a>
-<span class="sourceLineNo">658</span>          i = i &lt;&lt; 16;<a name="line.658"></a>
-<span class="sourceLineNo">659</span>          i = i | (s &amp; 0xFFFF);<a name="line.659"></a>
-<span class="sourceLineNo">660</span>          remaining -= Bytes.SIZEOF_SHORT;<a name="line.660"></a>
-<span class="sourceLineNo">661</span>          offsetFromPos += Bytes.SIZEOF_SHORT;<a name="line.661"></a>
-<span class="sourceLineNo">662</span>        }<a name="line.662"></a>
-<span class="sourceLineNo">663</span>        for (int idx = 0; idx &lt; remaining; idx++) {<a name="line.663"></a>
-<span class="sourceLineNo">664</span>          byte b = blockBuffer.getByteAfterPosition(offsetFromPos + idx);<a name="line.664"></a>
-<span class="sourceLineNo">665</span>          i = i &lt;&lt; 8;<a name="line.665"></a>
-<span class="sourceLineNo">666</span>          i = i | (b &amp; 0xFF);<a name="line.666"></a>
-<span class="sourceLineNo">667</span>        }<a name="line.667"></a>
-<span class="sourceLineNo">668</span>        currMemstoreTS = (WritableUtils.isNegativeVInt(firstByte) ? ~i : i);<a name="line.668"></a>
-<span class="sourceLineNo">669</span>      }<a name="line.669"></a>
-<span class="sourceLineNo">670</span>      this.currMemstoreTSLen = len;<a name="line.670"></a>
-<span class="sourceLineNo">671</span>    }<a name="line.671"></a>
-<span class="sourceLineNo">672</span><a name="line.672"></a>
-<span class="sourceLineNo">673</span>    /**<a name="line.673"></a>
-<span class="sourceLineNo">674</span>     * Within a loaded block, seek looking for the last key that is smaller than<a name="line.674"></a>
-<span class="sourceLineNo">675</span>     * (or equal to?) the key we are interested in.<a name="line.675"></a>
-<span class="sourceLineNo">676</span>     * A note on the seekBefore: if you have seekBefore = true, AND the first<a name="line.676"></a>
-<span class="sourceLineNo">677</span>     * key in the block = key, then you'll get thrown exceptions. The caller has<a name="line.677"></a>
-<span class="sourceLineNo">678</span>     * to check for that case and load the previous block as appropriate.<a name="line.678"></a>
-<span class="sourceLineNo">679</span>     * @param key<a name="line.679"></a>
-<span class="sourceLineNo">680</span>     *          the key to find<a name="line.680"></a>
-<span class="sourceLineNo">681</span>     * @param seekBefore<a name="line.681"></a>
-<span class="sourceLineNo">682</span>     *          find the key before the given key in case of exact match.<a name="line.682"></a>
-<span class="sourceLineNo">683</span>     * @return 0 in case of an exact key match, 1 in case of an inexact match,<a name="line.683"></a>
-<span class="sourceLineNo">684</span>     *         -2 in case of an inexact match and furthermore, the input key<a name="line.684"></a>
-<span class="sourceLineNo">685</span>     *         less than the first key of current block(e.g. using a faked index<a name="line.685"></a>
-<span class="sourceLineNo">686</span>     *         key)<a name="line.686"></a>
-<span class="sourceLineNo">687</span>     */<a name="line.687"></a>
-<span class="sourceLineNo">688</span>    protected int blockSeek(Cell key, boolean seekBefore) {<a name="line.688"></a>
-<span class="sourceLineNo">689</span>      int klen, vlen, tlen = 0;<a name="line.689"></a>
-<span class="sourceLineNo">690</span>      int lastKeyValueSize = -1;<a name="line.690"></a>
-<span class="sourceLineNo">691</span>      int offsetFromPos;<a name="line.691"></a>
-<span class="sourceLineNo">692</span>      do {<a name="line.692"></a>
-<span class="sourceLineNo">693</span>        offsetFromPos = 0;<a name="line.693"></a>
-<span class="sourceLineNo">694</span>        // Better to ensure that we use the BB Utils here<a name="line.694"></a>
-<span class="sourceLineNo">695</span>        long ll = blockBuffer.getLongAfterPosition(offsetFromPos);<a name="line.695"></a>
-<span class="sourceLineNo">696</span>        klen = (int)(ll &gt;&gt; Integer.SIZE);<a name="line.696"></a>
-<span class="sourceLineNo">697</span>        vlen = (int)(Bytes.MASK_FOR_LOWER_INT_IN_LONG ^ ll);<a name="line.697"></a>
-<span class="sourceLineNo">698</span>        if (klen &lt; 0 || vlen &lt; 0 || klen &gt; blockBuffer.limit()<a name="line.698"></a>
-<span class="sourceLineNo">699</span>            || vlen &gt; blockBuffer.limit()) {<a name="line.699"></a>
-<span class="sourceLineNo">700</span>          throw new IllegalStateException("Invalid klen " + klen + " or vlen "<a name="line.700"></a>
-<span class="sourceLineNo">701</span>              + vlen + ". Block offset: "<a name="line.701"></a>
-<span class="sourceLineNo">702</span>              + curBlock.getOffset() + ", block length: " + blockBuffer.limit() + ", position: "<a name="line.702"></a>
-<span class="sourceLineNo">703</span>              + blockBuffer.position() + " (without header).");<a name="line.703"></a>
-<span class="sourceLineNo">704</span>        }<a name="line.704"></a>
-<span class="sourceLineNo">705</span>        offsetFromPos += Bytes.SIZEOF_LONG;<a name="line.705"></a>
-<span class="sourceLineNo">706</span>        blockBuffer.asSubByteBuffer(blockBuffer.position() + offsetFromPos, klen, pair);<a name="line.706"></a>
-<span class="sourceLineNo">707</span>        bufBackedKeyOnlyKv.setKey(pair.getFirst(), pair.getSecond(), klen);<a name="line.707"></a>
-<span class="sourceLineNo">708</span>        int comp = reader.getComparator().compareKeyIgnoresMvcc(key, bufBackedKeyOnlyKv);<a name="line.708"></a>
-<span class="sourceLineNo">709</span>        offsetFromPos += klen + vlen;<a name="line.709"></a>
-<span class="sourceLineNo">710</span>        if (this.reader.getFileContext().isIncludesTags()) {<a name="line.710"></a>
-<span class="sourceLineNo">711</span>          // Read short as unsigned, high byte first<a name="line.711"></a>
-<span class="sourceLineNo">712</span>          tlen = ((blockBuffer.getByteAfterPosition(offsetFromPos) &amp; 0xff) &lt;&lt; 8)<a name="line.712"></a>
-<span class="sourceLineNo">713</span>              ^ (blockBuffer.getByteAfterPosition(offsetFromPos + 1) &amp; 0xff);<a name="line.713"></a>
-<span class="sourceLineNo">714</span>          if (tlen &lt; 0 || tlen &gt; blockBuffer.limit()) {<a name="line.714"></a>
-<span class="sourceLineNo">715</span>            throw new IllegalStateException("Invalid tlen " + tlen + ". Block offset: "<a name="line.715"></a>
-<span class="sourceLineNo">716</span>                + curBlock.getOffset() + ", block length: " + blockBuffer.limit() + ", position: "<a name="line.716"></a>
-<span class="sourceLineNo">717</span>                + blockBuffer.position() + " (without header).");<a name="line.717"></a>
-<span class="sourceLineNo">718</span>          }<a name="line.718"></a>
-<span class="sourceLineNo">719</span>          // add the two bytes read for the tags.<a name="line.719"></a>
-<span class="sourceLineNo">720</span>          offsetFromPos += tlen + (Bytes.SIZEOF_SHORT);<a name="line.720"></a>
-<span class="sourceLineNo">721</span>        }<a name="line.721"></a>
-<span class="sourceLineNo">722</span>        if (this.reader.shouldIncludeMemstoreTS()) {<a name="line.722"></a>
-<span class="sourceLineNo">723</span>          // Directly read the mvcc based on current position<a name="line.723"></a>
-<span class="sourceLineNo">724</span>          readMvccVersion(offsetFromPos);<a name="line.724"></a>
-<span class="sourceLineNo">725</span>        }<a name="line.725"></a>
-<span class="sourceLineNo">726</span>        if (comp == 0) {<a name="line.726"></a>
-<span class="sourceLineNo">727</span>          if (seekBefore) {<a name="line.727"></a>
-<span class="sourceLineNo">728</span>            if (lastKeyValueSize &lt; 0) {<a name="line.728"></a>
-<span class="sourceLineNo">729</span>              throw new IllegalStateException("blockSeek with seekBefore "<a name="line.729"></a>
-<span class="sourceLineNo">730</span>                  + "at the first key of the block: key=" + CellUtil.getCellKeyAsString(key)<a name="line.730"></a>
-<span class="sourceLineNo">731</span>                  + ", blockOffset=" + curBlock.getOffset() + ", onDiskSize="<a name="line.731"></a>
-<span class="sourceLineNo">732</span>                  + curBlock.getOnDiskSizeWithHeader());<a name="line.732"></a>
-<span class="sourceLineNo">733</span>            }<a name="line.733"></a>
-<span class="sourceLineNo">734</span>            blockBuffer.moveBack(lastKeyValueSize);<a name="line.734"></a>
-<span class="sourceLineNo">735</span>            readKeyValueLen();<a name="line.735"></a>
-<span class="sourceLineNo">736</span>            return 1; // non exact match.<a name="line.736"></a>
-<span class="sourceLineNo">737</span>          }<a name="line.737"></a>
-<span class="sourceLineNo">738</span>          currKeyLen = klen;<a name="line.738"></a>
-<span class="sourceLineNo">739</span>          currValueLen = vlen;<a name="line.739"></a>
-<span class="sourceLineNo">740</span>          currTagsLen = tlen;<a name="line.740"></a>
-<span class="sourceLineNo">741</span>          return 0; // indicate exact match<a name="line.741"></a>
-<span class="sourceLineNo">742</span>        } else if (comp &lt; 0) {<a name="line.742"></a>
-<span class="sourceLineNo">743</span>          if (lastKeyValueSize &gt; 0) {<a name="line.743"></a>
-<span class="sourceLineNo">744</span>            blockBuffer.moveBack(lastKeyValueSize);<a name="line.744"></a>
-<span class="sourceLineNo">745</span>          }<a name="line.745"></a>
-<span class="sourceLineNo">746</span>          readKeyValueLen();<a name="line.746"></a>
-<span class="sourceLineNo">747</span>          if (lastKeyValueSize == -1 &amp;&amp; blockBuffer.position() == 0) {<a name="line.747"></a>
-<span class="sourceLineNo">748</span>            return HConstants.INDEX_KEY_MAGIC;<a name="line.748"></a>
-<span class="sourceLineNo">749</span>          }<a name="line.749"></a>
-<span class="sourceLineNo">750</span>          return 1;<a name="line.750"></a>
-<span class="sourceLineNo">751</span>        }<a name="line.751"></a>
-<span class="sourceLineNo">752</span>        // The size of this key/value tuple, including key/value length fields.<a name="line.752"></a>
-<span class="sourceLineNo">753</span>        lastKeyValueSize = klen + vlen + currMemstoreTSLen + KEY_VALUE_LEN_SIZE;<a name="line.753"></a>
-<span class="sourceLineNo">754</span>        // include tag length also if tags included with KV<a name="line.754"></a>
-<span class="sourceLineNo">755</span>        if (reader.getFileContext().isIncludesTags()) {<a name="line.755"></a>
-<span class="sourceLineNo">756</span>          lastKeyValueSize += tlen + Bytes.SIZEOF_SHORT;<a name="line.756"></a>
-<span class="sourceLineNo">757</span>        }<a name="line.757"></a>
-<span class="sourceLineNo">758</span>        blockBuffer.skip(lastKeyValueSize);<a name="line.758"></a>
-<span class="sourceLineNo">759</span>      } while (blockBuffer.hasRemaining());<a name="line.759"></a>
-<span class="sourceLineNo">760</span><a name="line.760"></a>
-<span class="sourceLineNo">761</span>      // Seek to the last key we successfully read. This will happen if this is<a name="line.761"></a>
-<span class="sourceLineNo">762</span>      // the last key/value pair in the file, in which case the following call<a name="line.762"></a>
-<span class="sourceLineNo">763</span>      // to next() has to return false.<a name="line.763"></a>
-<span class="sourceLineNo">764</span>      blockBuffer.moveBack(lastKeyValueSize);<a name="line.764"></a>
-<span class="sourceLineNo">765</span>      readKeyValueLen();<a name="line.765"></a>
-<span class="sourceLineNo">766</span>      return 1; // didn't exactly find it.<a name="line.766"></a>
-<span class="sourceLineNo">767</span>    }<a name="line.767"></a>
-<span class="sourceLineNo">768</span><a name="line.768"></a>
-<span class="sourceLineNo">769</span>    @Override<a name="line.769"></a>
-<span class="sourceLineNo">770</span>    public Cell getNextIndexedKey() {<a name="line.770"></a>
-<span class="sourceLineNo">771</span>      return nextIndexedKey;<a name="line.771"></a>
-<span class="sourceLineNo">772</span>    }<a name="line.772"></a>
-<span class="sourceLineNo">773</span><a name="line.773"></a>
-<span class="sourceLineNo">774</span>    @Override<a name="line.774"></a>
-<span class="sourceLineNo">775</span>    public int seekTo(Cell key) throws IOException {<a name="line.775"></a>
-<span class="sourceLineNo">776</span>      return seekTo(key, true);<a name="line.776"></a>
-<span class="sourceLineNo">777</span>    }<a name="line.777"></a>
-<span class="sourceLineNo">778</span><a name="line.778"></a>
-<span class="sourceLineNo">779</span>    @Override<a name="line.779"></a>
-<span class="sourceLineNo">780</span>    public int reseekTo(Cell key) throws IOException {<a name="line.780"></a>
-<span class="sourceLineNo">781</span>      int compared;<a name="line.781"></a>
-<span class="sourceLineNo">782</span>      if (isSeeked()) {<a name="line.782"></a>
-<span class="sourceLineNo">783</span>        compared = compareKey(reader.getComparator(), key);<a name="line.783"></a>
-<span class="sourceLineNo">784</span>        if (compared &lt; 1) {<a name="line.784"></a>
-<span class="sourceLineNo">785</span>          // If the required key is less than or equal to current key, then<a name="line.785"></a>
-<span class="sourceLineNo">786</span>          // don't do anything.<a name="line.786"></a>
-<span class="sourceLineNo">787</span>          return compared;<a name="line.787"></a>
-<span class="sourceLineNo">788</span>        } else {<a name="line.788"></a>
-<span class="sourceLineNo">789</span>          // The comparison with no_next_index_key has to be checked<a name="line.789"></a>
-<span class="sourceLineNo">790</span>          if (this.nextIndexedKey != null &amp;&amp;<a name="line.790"></a>
-<span class="sourceLineNo">791</span>              (this.nextIndexedKey == HConstants.NO_NEXT_INDEXED_KEY || reader<a name="line.791"></a>
-<span class="sourceLineNo">792</span>              .getComparator().compareKeyIgnoresMvcc(key, nextIndexedKey) &lt; 0)) {<a name="line.792"></a>
-<span class="sourceLineNo">793</span>            // The reader shall continue to scan the current data block instead<a name="line.793"></a>
-<span class="sourceLineNo">794</span>            // of querying the<a name="line.794"></a>
-<span class="sourceLineNo">795</span>            // block index as long as it knows the target key is strictly<a name="line.795"></a>
-<span class="sourceLineNo">796</span>            // smaller than<a name="line.796"></a>
-<span class="sourceLineNo">797</span>            // the next indexed key or the current data block is the last data<a name="line.797"></a>
-<span class="sourceLineNo">798</span>            // block.<a name="line.798"></a>
-<span class="sourceLineNo">799</span>            return loadBlockAndSeekToKey(this.curBlock, nextIndexedKey, false, key,<a name="line.799"></a>
-<span class="sourceLineNo">800</span>                false);<a name="line.800"></a>
-<span class="sourceLineNo">801</span>          }<a name="line.801"></a>
-<span class="sourceLineNo">802</span><a name="line.802"></a>
-<span class="sourceLineNo">803</span>        }<a name="line.803"></a>
-<span class="sourceLineNo">804</span>      }<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      // Don't rewind on a reseek operation, because reseek implies that we are<a name="line.805"></a>
-<span class="sourceLineNo">806</span>      // always going forward in the file.<a name="line.806"></a>
-<span class="sourceLineNo">807</span>      return seekTo(key, false);<a name="line.807"></a>
-<span class="sourceLineNo">808</span>    }<a name="line.808"></a>
-<span class="sourceLineNo">809</span><a name="line.809"></a>
-<span class="sourceLineNo">810</span>    /**<a name="line.810"></a>
-<span class="sourceLineNo">811</span>     * An internal API function. Seek to the given key, optionally rewinding to<a name="line.811"></a>
-<span class="sourceLineNo">812</span>     * the first key of the block before doing the seek.<a name="line.812"></a>
-<span class="sourceLineNo">813</span>     *<a name="line.813"></a>
-<span class="sourceLineNo">814</span>     * @param key - a cell representing the key that we need to fetch<a name="line.814"></a>
-<span class="sourceLineNo">815</span>     * @param rewind whether to rewind to the first key of the block before<a name="line.815"></a>
-<span class="sourceLineNo">816</span>     *        doing the seek. If this is false, we are assuming we never go<a name="line.816"></a>
-<span class="sourceLineNo">817</span>     *        back, otherwise the result is undefined.<a name="line.817"></a>
-<span class="sourceLineNo">818</span>     * @return -1 if the key is earlier than the first key of the file,<a name="line.818"></a>
-<span class="sourceLineNo">819</span>     *         0 if we are at the given key, 1 if we are past the given key<a name="line.819"></a>
-<span class="sourceLineNo">820</span>     *         -2 if the key is earlier than the first key of the file while<a name="line.820"></a>
-<span class="sourceLineNo">821</span>     *         using a faked index key<a name="line.821"></a>
-<span class="sourceLineNo">822</span>     * @throws IOException<a name="line.822"></a>
-<span class="sourceLineNo">823</span>     */<a name="line.823"></a>
-<span class="sourceLineNo">824</span>    public int seekTo(Cell key, boolean rewind) throws IOException {<a name="line.824"></a>
-<span class="sourceLineNo">825</span>      HFileBlockIndex.BlockIndexReader indexReader = reader.getDataBlockIndexReader();<a name="line.825"></a>
-<span class="sourceLineNo">826</span>      BlockWithScanInfo blockWithScanInfo = indexReader.loadDataBlockWithScanInfo(key, curBlock,<a name="line.826"></a>
-<span class="sourceLineNo">827</span>          cacheBlocks, pread, isCompaction, getEffectiveDataBlockEncoding());<a name="line.827"></a>
-<span class="sourceLineNo">828</span>      if (blockWithScanInfo == null || blockWithScanInfo.getHFileBlock() == null) {<a name="line.828"></a>
-<span class="sourceLineNo">829</span>        // This happens if the key e.g. falls before the beginning of the<a name="line.829"></a>
-<span class="sourceLineNo">830</span>        // file.<a name="line.830"></a>
-<span class="sourceLineNo">831</span>        return -1;<a name="line.831"></a>
-<span class="sourceLineNo">832</span>      }<a name="line.832"></a>
-<span class="sourceLineNo">833</span>      return loadBlockAndSeekToKey(blockWithScanInfo.getHFileBlock(),<a name="line.833"></a>
-<span class="sourceLineNo">834</span>          blockWithScanInfo.getNextIndexedKey(), rewind, key, false);<a name="line.834"></a>
-<span class="sourceLineNo">835</span>    }<a name="line.835"></a>
-<span class="sourceLineNo">836</span><a name="line.836"></a>
-<span class="sourceLineNo">837</span>    @Override<a name="line.837"></a>
-<span class="sourceLineNo">838</span>    public boolean seekBefore(Cell key) throws IOException {<a name="line.838"></a>
-<span class="sourceLineNo">839</span>      HFileBlock seekToBlock = reader.getDataBlockIndexReader().seekToDataBlock(key, curBlock,<a name="line.839"></a>
-<span class="sourceLineNo">840</span>          cacheBlocks, pread, isCompaction, reader.getEffectiveEncodingInCache(isCompaction));<a name="line.840"></a>
-<span class="sourceLineNo">841</span>      if (seekToBlock == null) {<a name="line.841"></a>
-<span class="sourceLineNo">842</span>        return false;<a name="line.842"></a>
-<span class="sourceLineNo">843</span>      }<a name="line.843"></a>
-<span class="sourceLineNo">844</span>      Cell firstKey = getFirstKeyCellInBlock(seekToBlock);<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      if (reader.getComparator()<a name="line.845"></a>
-<span class="sourceLineNo">846</span>           .compareKeyIgnoresMvcc(firstKey, key) &gt;= 0) {<a name="line.846"></a>
-<span class="sourceLineNo">847</span>        long previousBlockOffset = seekToBlock.getPrevBlockOffset();<a name="line.847"></a>
-<span class="sourceLineNo">848</span>        // The key we are interested in<a name="line.848"></a>
-<span class="sourceLineNo">849</span>        if (previousBlockOffset == -1) {<a name="line.849"></a>
-<span class="sourceLineNo">850</span>          // we have a 'problem', the key we want is the first of the file.<a name="line.850"></a>
-<span class="sourceLineNo">851</span>          return false;<a name="line.851"></a>
-<span class="sourceLineNo">852</span>        }<a name="line.852"></a>
-<span class="sourceLineNo">853</span><a name="line.853"></a>
-<span class="sourceLineNo">854</span>        // The first key in the current block 'seekToBlock' is greater than the given <a name="line.854"></a>
-<span class="sourceLineNo">855</span>        // seekBefore key. We will go ahead by reading the next block that satisfies the<a name="line.855"></a>
-<span class="sourceLineNo">856</span>        // given key. Return the current block before reading the next one.<a name="line.856"></a>
-<span class="sourceLineNo">857</span>        reader.returnBlock(seekToBlock);<a name="line.857"></a>
-<span class="sourceLineNo">858</span>        // It is important that we compute and pass onDiskSize to the block<a name="line.858"></a>
-<span class="sourceLineNo">859</span>        // reader so that it does not have to read the header separately to<a name="line.859"></a>
-<span class="sourceLineNo">860</span>        // figure out the size.  Currently, we do not have a way to do this<a name="line.860"></a>
-<span class="sourceLineNo">861</span>        // correctly in the general case however.<a name="line.861"></a>
-<span class="sourceLineNo">862</span>        // TODO: See https://issues.apache.org/jira/browse/HBASE-14576<a name="line.862"></a>
-<span class="sourceLineNo">863</span>        int prevBlockSize = -1;<a name="line.863"></a>
-<span class="sourceLineNo">864</span>        seekToBlock = reader.readBlock(previousBlockOffset,<a name="line.864"></a>
-<span class="sourceLineNo">865</span>            prevBlockSize, cacheBlocks,<a name="line.865"></a>
-<span class="sourceLineNo">866</span>            pread, isCompaction, true, BlockType.DATA, getEffectiveDataBlockEncoding());<a name="line.866"></a>
-<span class="sourceLineNo">867</span>        // TODO shortcut: seek forward in this block to the last key of the<a name="line.867"></a>
-<span class="sourceLineNo">868</span>        // block.<a name="line.868"></a>
-<span class="sourceLineNo">869</span>      }<a name="line.869"></a>
-<span class="sourceLineNo">870</span>      loadBlockAndSeekToKey(seekToBlock, firstKey, true, key, true);<a name="line.870"></a>
-<span class="sourceLineNo">871</span>      return true;<a name="line.871"></a>
-<span class="sourceLineNo">872</span>    }<a name="line.872"></a>
-<span class="sourceLineNo">873</span><a name="line.873"></a>
-<span class="sourceLineNo">874</span>    /**<a name="line.874"></a>
-<span class="sourceLineNo">875</span>     * Scans blocks in the "scanned" section of the {@link HFile} until the next<a name="line.875"></a>
-<span class="sourceLineNo">876</span>     * data block is found.<a name="line.876"></a>
-<span class="sourceLineNo">877</span>     *<a name="line.877"></a>
-<span class="sourceLineNo">878</span>     * @return the next block, or null if there are no more data blocks<a name="line.878"></a>
-<span class="sourceLineNo">879</span>     * @throws IOException<a name="line.879"></a>
-<span class="sourceLineNo">880</span>     */<a name="line.880"></a>
-<span class="sourceLineNo">881</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="NP_NULL_ON_SOME_PATH",<a name="line.881"></a>
-<span class="sourceLineNo">882</span>        justification="Yeah, unnecessary null check; could do w/ clean up")<a name="line.882"></a>
-<span class="sourceLineNo">883</span>    protected HFileBlock readNextDataBlock() throws IOException {<a name="line.883"></a>
-<span class="sourceLineNo">884</span>      long lastDataBlockOffset = reader.getTrailer().getLastDataBlockOffset();<a name="line.884"></a>
-<span class="sourceLineNo">885</span>      if (curBlock == null)<a name="line.885"></a>
-<span class="sourceLineNo">886</span>        return null;<a name="line.886"></a>
-<span class="sourceLineNo">887</span><a name="line.887"></a>
-<span class="sourceLineNo">888</span>      HFileBlock block = this.curBlock;<a name="line.888"></a>
-<span class="sourceLineNo">889</span><a name="line.889"></a>
-<span class="sourceLineNo">890</span>      do {<a name="line.890"></a>
-<span class="sourceLineNo">891</span>        if (block.getOffset() &gt;= lastDataBlockOffset) {<a name="line.891"></a>
-<span class="sourceLineNo">892</span>          return null;<a name="line.892"></a>
-<span class="sourceLineNo">893</span>        }<a name="line.893"></a>
-<span class="sourceLineNo">894</span><a name="line.894"></a>
-<span class="sourceLineNo">895</span>        if (block.getOffset() &lt; 0) {<a name="line.895"></a>
-<span class="sourceLineNo">896</span>          throw new IOException("Invalid block file offset: " + block);<a name="line.896"></a>
-<span class="sourceLineNo">897</span>        }<a name="line.897"></a>
-<span class="sourceLineNo">898</span><a name="line.898"></a>
-<span class="sourceLineNo">899</span>        // We are reading the next block without block type validation, because<a name="line.899"></a>
-<span class="sourceLineNo">900</span>        // it might turn out to be a non-data block.<a name="line.900"></a>
-<span class="sourceLineNo">901</span>        block = reader.readBlock(block.getOffset()<a name="line.901"></a>
-<span class="sourceLineNo">902</span>            + block.getOnDiskSizeWithHeader(),<a name="line.902"></a>
-<span class="sourceLineNo">903</span>            block.getNextBlockOnDiskSizeWithHeader(), cacheBlocks, pread,<a name="line.903"></a>
-<span class="sourceLineNo">904</span>            isCompaction, true, null, getEffectiveDataBlockEncoding());<a name="line.904"></a>
-<span class="sourceLineNo">905</span>        if (block != null &amp;&amp; !block.getBlockType().isData()) { // Findbugs: NP_NULL_ON_SOME_PATH<a name="line.905"></a>
-<span class="sourceLineNo">906</span>          // Whatever block we read we will be returning it unless<a name="line.906"></a>
-<span class="sourceLineNo">907</span>          // it is a datablock. Just in case the blocks are non data blocks<a name="line.907"></a>
-<span class="sourceLineNo">908</span>          reader.returnBlock(block);<a name="line.908"></a>
-<span class="sourceLineNo">909</span>        }<a name="line.909"></a>
-<span class="sourceLineNo">910</span>      } while (!block.getBlockType().isData());<a name="line.910"></a>
-<span class="sourceLineNo">911</span><a name="line.911"></a>
-<span class="sourceLineNo">912</span>      return block;<a name="line.912"></a>
-<span class="sourceLineNo">913</span>    }<a name="line.913"></a>
-<span class="sourceLineNo">914</span><a name="line.914"></a>
-<span class="sourceLineNo">915</span>    public DataBlockEncoding getEffectiveDataBlockEncoding() {<a name="line.915"></a>
-<span class="sourceLineNo">916</span>      return this.reader.getEffectiveEncodingInCache(isCompaction);<a name="line.916"></a>
-<span class="sourceLineNo">917</span>    }<a name="line.917"></a>
-<span class="sourceLineNo">918</span><a name="line.918"></a>
-<span class="sourceLineNo">919</span>    @Override<a name="line.919"></a>
-<span class="sourceLineNo">920</span>    public Cell getCell() {<a name="line.920"></a>
-<span class="sourceLineNo">921</span>      if (!isSeeked())<a name="line.921"></a>
-<span class="sourceLineNo">922</span>        return null;<a name="line.922"></a>
-<span class="sourceLineNo">923</span><a name="line.923"></a>
-<span class="sourceLineNo">924</span>      Cell ret;<a name="line.924"></a>
-<span class="sourceLineNo">925</span>      int cellBufSize = getCellBufSize();<a name="line.925"></a>
-<span class="sourceLineNo">926</span>      long seqId = 0l;<a name="line.926"></a>
-<span class="sourceLineNo">927</span>      if (this.reader.shouldIncludeMemstoreTS()) {<a name="line.927"></a>
-<span class="sourceLineNo">928</span>        seqId = currMemstoreTS;<a name="line.928"></a>
-<span class="sourceLineNo">929</span>      }<a name="line.929"></a>
-<span class="sourceLineNo">930</span>      if (blockBuffer.hasArray()) {<a name="line.930"></a>
-<span class="sourceLineNo">931</span>        // TODO : reduce the varieties of KV here. Check if based on a boolean<a name="line.931"></a>
-<span class="sourceLineNo">932</span>        // we can handle the 'no tags' case.<a name="line.932"></a>
-<span class="sourceLineNo">933</span>        if (currTagsLen &gt; 0) {<a name="line.933"></a>
-<span class="sourceLineNo">934</span>          if (this.curBlock.usesSharedMemory()) {<a name="line.934"></a>
-<span class="sourceLineNo">935</span>            ret = new ShareableMemoryKeyValue(blockBuffer.array(), blockBuffer.arrayOffset()<a name="line.935"></a>
-<span class="sourceLineNo">936</span>              + blockBuffer.position(), getCellBufSize(), seqId);<a name="line.936"></a>
-<span class="sourceLineNo">937</span>          } else {<a name="line.937"></a>
-<span class="sourceLineNo">938</span>            ret = new SizeCachedKeyValue(blockBuffer.array(), blockBuffer.arrayOffset()<a name="line.938"></a>
-<span class="sourceLineNo">939</span>                    + blockBuffer.position(), cellBufSize, seqId);<a name="line.939"></a>
-<span class="sourceLineNo">940</span>          }<a name="line.940"></a>
-<span class="sourceLineNo">941</span>        } else {<a name="line.941"></a>
-<span class="sourceLineNo">9

<TRUNCATED>

[32/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/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 357130d..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.605">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.606">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.607">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.609">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.613">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.625">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.659">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.664">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.669">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/a7e5a8ce/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 207ec91..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.557">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.559">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.560">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.561">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.562">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.563">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.564">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.566">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.568">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.570">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.572">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.682">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.729">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.797">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.811">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.815">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.849">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.881">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.898">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/a7e5a8ce/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 f4573ad..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.905">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.906">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.907">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.910">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.917">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.935">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.962">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.968">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.1027">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.1056">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.1089">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.1122">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.1147">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>


[29/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html b/devapidocs/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html
index 7289c5c..755335c 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html
@@ -108,7 +108,7 @@
 </dl>
 <hr>
 <br>
-<pre>protected class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.html#line.578">DefaultMemStore.MemStoreScanner</a>
+<pre>protected class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.html#line.573">DefaultMemStore.MemStoreScanner</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/NonLazyKeyValueScanner.html" title="class in org.apache.hadoop.hbase.regionserver">NonLazyKeyValueScanner</a></pre>
 </li>
 </ul>
@@ -181,6 +181,13 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/NonLazyKeyV
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#theNext">theNext</a></strong></code>&nbsp;</td>
 </tr>
 </table>
+<ul class="blockList">
+<li class="blockList"><a name="fields_inherited_from_class_org.apache.hadoop.hbase.regionserver.KeyValueScanner">
+<!--   -->
+</a>
+<h3>Fields inherited from interface&nbsp;org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a></h3>
+<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#NO_NEXT_INDEXED_KEY">NO_NEXT_INDEXED_KEY</a></code></li>
+</ul>
 </li>
 </ul>
 <!-- ======== CONSTRUCTOR SUMMARY ======== -->
@@ -335,7 +342,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/NonLazyKeyV
 <ul class="blockList">
 <li class="blockList">
 <h4>cellSetNextRow</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.580">cellSetNextRow</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.575">cellSetNextRow</a></pre>
 </li>
 </ul>
 <a name="snapshotNextRow">
@@ -344,7 +351,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/NonLazyKeyV
 <ul class="blockList">
 <li class="blockList">
 <h4>snapshotNextRow</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.581">snapshotNextRow</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.576">snapshotNextRow</a></pre>
 </li>
 </ul>
 <a name="cellSetItRow">
@@ -353,7 +360,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/NonLazyKeyV
 <ul class="blockList">
 <li class="blockList">
 <h4>cellSetItRow</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.584">cellSetItRow</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.579">cellSetItRow</a></pre>
 </li>
 </ul>
 <a name="snapshotItRow">
@@ -362,7 +369,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/NonLazyKeyV
 <ul class="blockList">
 <li class="blockList">
 <h4>snapshotItRow</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.585">snapshotItRow</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.580">snapshotItRow</a></pre>
 </li>
 </ul>
 <a name="cellSetIt">
@@ -371,7 +378,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/NonLazyKeyV
 <ul class="blockList">
 <li class="blockList">
 <h4>cellSetIt</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.588">cellSetIt</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.583">cellSetIt</a></pre>
 </li>
 </ul>
 <a name="snapshotIt">
@@ -380,7 +387,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/NonLazyKeyV
 <ul class="blockList">
 <li class="blockList">
 <h4>snapshotIt</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.589">snapshotIt</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.584">snapshotIt</a></pre>
 </li>
 </ul>
 <a name="cellSetAtCreation">
@@ -389,7 +396,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/NonLazyKeyV
 <ul class="blockList">
 <li class="blockList">
 <h4>cellSetAtCreation</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/CellSkipListSet.html" title="class in org.apache.hadoop.hbase.regionserver">CellSkipListSet</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.592">cellSetAtCreation</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/CellSkipListSet.html" title="class in org.apache.hadoop.hbase.regionserver">CellSkipListSet</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.587">cellSetAtCreation</a></pre>
 </li>
 </ul>
 <a name="snapshotAtCreation">
@@ -398,7 +405,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/NonLazyKeyV
 <ul class="blockList">
 <li class="blockList">
 <h4>snapshotAtCreation</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/CellSkipListSet.html" title="class in org.apache.hadoop.hbase.regionserver">CellSkipListSet</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.593">snapshotAtCreation</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/CellSkipListSet.html" title="class in org.apache.hadoop.hbase.regionserver">CellSkipListSet</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.588">snapshotAtCreation</a></pre>
 </li>
 </ul>
 <a name="theNext">
@@ -407,7 +414,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/NonLazyKeyV
 <ul class="blockList">
 <li class="blockList">
 <h4>theNext</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.596">theNext</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.591">theNext</a></pre>
 </li>
 </ul>
 <a name="allocatorAtCreation">
@@ -416,7 +423,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/NonLazyKeyV
 <ul class="blockList">
 <li class="blockList">
 <h4>allocatorAtCreation</h4>
-<pre>volatile&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreLAB.html" title="interface in org.apache.hadoop.hbase.regionserver">MemStoreLAB</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.599">allocatorAtCreation</a></pre>
+<pre>volatile&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreLAB.html" title="interface in org.apache.hadoop.hbase.regionserver">MemStoreLAB</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.594">allocatorAtCreation</a></pre>
 </li>
 </ul>
 <a name="snapshotAllocatorAtCreation">
@@ -425,7 +432,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/NonLazyKeyV
 <ul class="blockList">
 <li class="blockList">
 <h4>snapshotAllocatorAtCreation</h4>
-<pre>volatile&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreLAB.html" title="interface in org.apache.hadoop.hbase.regionserver">MemStoreLAB</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.600">snapshotAllocatorAtCreation</a></pre>
+<pre>volatile&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreLAB.html" title="interface in org.apache.hadoop.hbase.regionserver">MemStoreLAB</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.595">snapshotAllocatorAtCreation</a></pre>
 </li>
 </ul>
 <a name="stopSkippingCellsIfNextRow">
@@ -434,7 +441,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/NonLazyKeyV
 <ul class="blockList">
 <li class="blockList">
 <h4>stopSkippingCellsIfNextRow</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.604">stopSkippingCellsIfNextRow</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.599">stopSkippingCellsIfNextRow</a></pre>
 </li>
 </ul>
 <a name="readPoint">
@@ -443,7 +450,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/NonLazyKeyV
 <ul class="blockListLast">
 <li class="blockList">
 <h4>readPoint</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.606">readPoint</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.601">readPoint</a></pre>
 </li>
 </ul>
 </li>
@@ -460,7 +467,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/NonLazyKeyV
 <ul class="blockListLast">
 <li class="blockList">
 <h4>DefaultMemStore.MemStoreScanner</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.629">DefaultMemStore.MemStoreScanner</a>(long&nbsp;readPoint)</pre>
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.624">DefaultMemStore.MemStoreScanner</a>(long&nbsp;readPoint)</pre>
 </li>
 </ul>
 </li>
@@ -477,7 +484,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/NonLazyKeyV
 <ul class="blockList">
 <li class="blockList">
 <h4>getNext</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.653">getNext</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;it)</pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.648">getNext</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;it)</pre>
 <div class="block">Lock on 'this' must be held by caller.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>it</code> - </dd>
 <dt><span class="strong">Returns:</span></dt><dd>Next Cell</dd></dl>
@@ -489,7 +496,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/NonLazyKeyV
 <ul class="blockList">
 <li class="blockList">
 <h4>seek</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.689">seek</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;key)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.684">seek</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;key)</pre>
 <div class="block">Set the scanner at the seek key.
   Must be called only once: there is no thread safety between the scanner
    and the memStore.</div>
@@ -503,7 +510,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/NonLazyKeyV
 <ul class="blockList">
 <li class="blockList">
 <h4>seekInSubLists</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.708">seekInSubLists</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;key)</pre>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.703">seekInSubLists</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;key)</pre>
 <div class="block">(Re)initialize the iterators after a seek or a reseek.</div>
 </li>
 </ul>
@@ -513,7 +520,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/NonLazyKeyV
 <ul class="blockList">
 <li class="blockList">
 <h4>reseek</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.726">reseek</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;key)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.721">reseek</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;key)</pre>
 <div class="block">Move forward on the sub-lists set previously by seek.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>key</code> - seek value (should be non-null)</dd>
 <dt><span class="strong">Returns:</span></dt><dd>true if there is at least one KV to read, false otherwise</dd></dl>
@@ -525,7 +532,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/NonLazyKeyV
 <ul class="blockList">
 <li class="blockList">
 <h4>peek</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.747">peek</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.742">peek</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#peek()">KeyValueScanner</a></code></strong></div>
 <div class="block">Look at the next Cell in this scanner, but do not iterate scanner.</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the next Cell</dd></dl>
@@ -537,7 +544,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/NonLazyKeyV
 <ul class="blockList">
 <li class="blockList">
 <h4>next</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.753">next</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.748">next</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#next()">KeyValueScanner</a></code></strong></div>
 <div class="block">Return the next Cell in this scanner, iterating the scanner</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the next Cell</dd></dl>
@@ -549,7 +556,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/NonLazyKeyV
 <ul class="blockList">
 <li class="blockList">
 <h4>getLowest</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.781">getLowest</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;first,
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.776">getLowest</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;first,
              <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;second)</pre>
 </li>
 </ul>
@@ -559,7 +566,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/NonLazyKeyV
 <ul class="blockList">
 <li class="blockList">
 <h4>getHighest</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.797">getHighest</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;first,
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.792">getHighest</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;first,
               <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;second)</pre>
 </li>
 </ul>
@@ -569,7 +576,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/NonLazyKeyV
 <ul class="blockList">
 <li class="blockList">
 <h4>close</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.808">close</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.803">close</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#close()">KeyValueScanner</a></code></strong></div>
 <div class="block">Close the KeyValue scanner.</div>
 </li>
@@ -580,7 +587,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/NonLazyKeyV
 <ul class="blockList">
 <li class="blockList">
 <h4>getSequenceID</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.833">getSequenceID</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.828">getSequenceID</a>()</pre>
 <div class="block">MemStoreScanner returns max value as sequence id because it will
  always have the latest data among all files.</div>
 </li>
@@ -591,7 +598,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/NonLazyKeyV
 <ul class="blockList">
 <li class="blockList">
 <h4>shouldUseScanner</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.838">shouldUseScanner</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.833">shouldUseScanner</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
                        <a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&nbsp;store,
                        long&nbsp;oldestUnexpiredTS)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#shouldUseScanner(org.apache.hadoop.hbase.client.Scan,%20org.apache.hadoop.hbase.regionserver.Store,%20long)">KeyValueScanner</a></code></strong></div>
@@ -613,7 +620,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/NonLazyKeyV
 <ul class="blockList">
 <li class="blockList">
 <h4>backwardSeek</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.848">backwardSeek</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;key)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.843">backwardSeek</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;key)</pre>
 <div class="block">Seek scanner to the given key first. If it returns false(means
  peek()==null) or scanner's peek row is bigger than row of given key, seek
  the scanner to the previous row of given key</div>
@@ -628,7 +635,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/NonLazyKeyV
 <ul class="blockList">
 <li class="blockList">
 <h4>seekToPreviousRow</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.862">seekToPreviousRow</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;originalKey)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.857">seekToPreviousRow</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;originalKey)</pre>
 <div class="block">Separately get the KeyValue before the specified key from kvset and
  snapshotset, and use the row of higher one as the previous row of
  specified key, then seek to the first KeyValue of previous row</div>
@@ -643,7 +650,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/NonLazyKeyV
 <ul class="blockListLast">
 <li class="blockList">
 <h4>seekToLastRow</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.895">seekToLastRow</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.890">seekToLastRow</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#seekToLastRow()">KeyValueScanner</a></code></strong></div>
 <div class="block">Seek the scanner at the first KeyValue of last row</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>true if scanner has values left, false if the underlying data is

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/regionserver/DefaultMemStore.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/DefaultMemStore.html b/devapidocs/org/apache/hadoop/hbase/regionserver/DefaultMemStore.html
index d7d3041..473b824 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/DefaultMemStore.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/DefaultMemStore.html
@@ -605,7 +605,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStore
 <ul class="blockList">
 <li class="blockList">
 <h4>FIXED_OVERHEAD</h4>
-<pre>public static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.html#line.914">FIXED_OVERHEAD</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.html#line.909">FIXED_OVERHEAD</a></pre>
 </li>
 </ul>
 <a name="DEEP_OVERHEAD">
@@ -614,7 +614,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStore
 <ul class="blockListLast">
 <li class="blockList">
 <h4>DEEP_OVERHEAD</h4>
-<pre>public static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.html#line.917">DEEP_OVERHEAD</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.html#line.912">DEEP_OVERHEAD</a></pre>
 </li>
 </ul>
 </li>
@@ -903,7 +903,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStore
 <ul class="blockList">
 <li class="blockList">
 <h4>upsert</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.html#line.469">upsert</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;cells,
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.html#line.465">upsert</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;cells,
           long&nbsp;readpoint)</pre>
 <div class="block">Update or insert the specified KeyValues.
  <p>
@@ -911,10 +911,6 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStore
  value for that row/family/qualifier.  If a KeyValue did already exist,
  it will then be removed.
  <p>
- Currently the memstoreTS is kept at 0 so as each insert happens, it will
- be immediately visible.  May want to change this so it is atomic across
- all KeyValues.
- <p>
  This is called under row lock, so Get operations will still see updates
  atomically.  Scans will only see each KeyValue update as atomic.</div>
 <dl>
@@ -930,7 +926,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStore
 <ul class="blockList">
 <li class="blockList">
 <h4>upsert</h4>
-<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.html#line.491">upsert</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
+<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.html#line.486">upsert</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
           long&nbsp;readpoint)</pre>
 <div class="block">Inserts the specified KeyValue into MemStore and deletes any existing
  versions of the same row/family/qualifier as the specified KeyValue.
@@ -941,7 +937,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStore
  family, and qualifier, they are removed.
  <p>
  Callers must hold the read lock.</div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>cell</code> - </dd>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>readpoint</code> - Smallest outstanding readpoint; below which we can remove duplicate Cells.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>change in size of MemStore</dd></dl>
 </li>
 </ul>
@@ -951,7 +947,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStore
 <ul class="blockList">
 <li class="blockList">
 <h4>getScanners</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="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.html#line.548">getScanners</a>(long&nbsp;readPt)</pre>
+<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="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.html#line.543">getScanners</a>(long&nbsp;readPt)</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStore.html#getScanners(long)">getScanners</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStore.html" title="interface in org.apache.hadoop.hbase.regionserver">MemStore</a></code></dd>
@@ -964,7 +960,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStore
 <ul class="blockList">
 <li class="blockList">
 <h4>shouldSeek</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.html#line.559">shouldSeek</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.html#line.554">shouldSeek</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
                  <a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&nbsp;store,
                  long&nbsp;oldestUnexpiredTS)</pre>
 <div class="block">Check if this memstore may contain the required keys</div>
@@ -978,7 +974,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStore
 <ul class="blockList">
 <li class="blockList">
 <h4>heapSizeChange</h4>
-<pre>static&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.html#line.928">heapSizeChange</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
+<pre>static&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.html#line.923">heapSizeChange</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
                   boolean&nbsp;notpresent)</pre>
 </li>
 </ul>
@@ -988,7 +984,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStore
 <ul class="blockList">
 <li class="blockList">
 <h4>keySize</h4>
-<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.html#line.933">keySize</a>()</pre>
+<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.html#line.928">keySize</a>()</pre>
 </li>
 </ul>
 <a name="heapSize()">
@@ -997,7 +993,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStore
 <ul class="blockList">
 <li class="blockList">
 <h4>heapSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.html#line.942">heapSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.html#line.937">heapSize</a>()</pre>
 <div class="block">Get the entire heap usage for this MemStore not including keys in the
  snapshot.</div>
 <dl>
@@ -1013,7 +1009,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStore
 <ul class="blockList">
 <li class="blockList">
 <h4>size</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.html#line.947">size</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.html#line.942">size</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStore.html#size()">size</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStore.html" title="interface in org.apache.hadoop.hbase.regionserver">MemStore</a></code></dd>
@@ -1026,7 +1022,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStore
 <ul class="blockListLast">
 <li class="blockList">
 <h4>main</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.html#line.958">main</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;args)</pre>
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.html#line.953">main</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;args)</pre>
 <div class="block">Code to help figure if our approximation of object heap sizes is close
  enough.  See hbase-900.  Fills memstores then waits so user can heap
  dump and bring up resultant hprof in something like jprofiler which

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html
index 63c4f4f..e9c49e1 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html
@@ -103,7 +103,7 @@
 </dl>
 <hr>
 <br>
-<pre>private abstract static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2745">HRegion.BatchOperationInProgress</a>&lt;T&gt;
+<pre>private abstract static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2751">HRegion.BatchOperationInProgress</a>&lt;T&gt;
 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">Struct-like class that tracks the progress of a batch operation,
  accumulating status codes and tracking the index at which processing
@@ -232,7 +232,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>operations</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="type parameter in HRegion.BatchOperationInProgress">T</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#line.2746">operations</a></pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="type parameter in HRegion.BatchOperationInProgress">T</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#line.2752">operations</a></pre>
 </li>
 </ul>
 <a name="nextIndexToProcess">
@@ -241,7 +241,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>nextIndexToProcess</h4>
-<pre>int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#line.2747">nextIndexToProcess</a></pre>
+<pre>int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#line.2753">nextIndexToProcess</a></pre>
 </li>
 </ul>
 <a name="retCodeDetails">
@@ -250,7 +250,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>retCodeDetails</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#line.2748">retCodeDetails</a></pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#line.2754">retCodeDetails</a></pre>
 </li>
 </ul>
 <a name="walEditsFromCoprocessors">
@@ -259,7 +259,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>walEditsFromCoprocessors</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#line.2749">walEditsFromCoprocessors</a></pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#line.2755">walEditsFromCoprocessors</a></pre>
 </li>
 </ul>
 </li>
@@ -278,7 +278,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HRegion.BatchOperationInProgress</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#line.2751">HRegion.BatchOperationInProgress</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="type parameter in HRegion.BatchOperationInProgress">T</a>[]&nbsp;operations)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#line.2757">HRegion.BatchOperationInProgress</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="type parameter in HRegion.BatchOperationInProgress">T</a>[]&nbsp;operations)</pre>
 </li>
 </ul>
 </li>
@@ -295,7 +295,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getMutation</h4>
-<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#line.2758">getMutation</a>(int&nbsp;index)</pre>
+<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#line.2764">getMutation</a>(int&nbsp;index)</pre>
 </li>
 </ul>
 <a name="getNonceGroup(int)">
@@ -304,7 +304,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getNonceGroup</h4>
-<pre>public abstract&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#line.2759">getNonceGroup</a>(int&nbsp;index)</pre>
+<pre>public abstract&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#line.2765">getNonceGroup</a>(int&nbsp;index)</pre>
 </li>
 </ul>
 <a name="getNonce(int)">
@@ -313,7 +313,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getNonce</h4>
-<pre>public abstract&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#line.2760">getNonce</a>(int&nbsp;index)</pre>
+<pre>public abstract&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#line.2766">getNonce</a>(int&nbsp;index)</pre>
 </li>
 </ul>
 <a name="getMutationsForCoprocs()">
@@ -322,7 +322,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getMutationsForCoprocs</h4>
-<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#line.2762">getMutationsForCoprocs</a>()</pre>
+<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#line.2768">getMutationsForCoprocs</a>()</pre>
 <div class="block">This method is potentially expensive and should only be used for non-replay CP path.</div>
 </li>
 </ul>
@@ -332,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>isInReplay</h4>
-<pre>public abstract&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#line.2763">isInReplay</a>()</pre>
+<pre>public abstract&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#line.2769">isInReplay</a>()</pre>
 </li>
 </ul>
 <a name="getReplaySequenceId()">
@@ -341,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>getReplaySequenceId</h4>
-<pre>public abstract&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#line.2764">getReplaySequenceId</a>()</pre>
+<pre>public abstract&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#line.2770">getReplaySequenceId</a>()</pre>
 </li>
 </ul>
 <a name="isDone()">
@@ -350,7 +350,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>isDone</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#line.2766">isDone</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#line.2772">isDone</a>()</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html
index 5f2e6de..71ea09b 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html
@@ -104,7 +104,7 @@
 </dl>
 <hr>
 <br>
-<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2771">HRegion.MutationBatch</a>
+<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2777">HRegion.MutationBatch</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;</pre>
 </li>
 </ul>
@@ -234,7 +234,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>nonceGroup</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html#line.2772">nonceGroup</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html#line.2778">nonceGroup</a></pre>
 </li>
 </ul>
 <a name="nonce">
@@ -243,7 +243,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockListLast">
 <li class="blockList">
 <h4>nonce</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html#line.2773">nonce</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html#line.2779">nonce</a></pre>
 </li>
 </ul>
 </li>
@@ -260,7 +260,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HRegion.MutationBatch</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html#line.2774">HRegion.MutationBatch</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>[]&nbsp;operations,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html#line.2780">HRegion.MutationBatch</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>[]&nbsp;operations,
                      long&nbsp;nonceGroup,
                      long&nbsp;nonce)</pre>
 </li>
@@ -279,7 +279,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>getMutation</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html#line.2781">getMutation</a>(int&nbsp;index)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html#line.2787">getMutation</a>(int&nbsp;index)</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#getMutation(int)">getMutation</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;</code></dd>
@@ -292,7 +292,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>getNonceGroup</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html#line.2786">getNonceGroup</a>(int&nbsp;index)</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html#line.2792">getNonceGroup</a>(int&nbsp;index)</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#getNonceGroup(int)">getNonceGroup</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;</code></dd>
@@ -305,7 +305,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>getNonce</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html#line.2791">getNonce</a>(int&nbsp;index)</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html#line.2797">getNonce</a>(int&nbsp;index)</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#getNonce(int)">getNonce</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;</code></dd>
@@ -318,7 +318,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>getMutationsForCoprocs</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html#line.2796">getMutationsForCoprocs</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html#line.2802">getMutationsForCoprocs</a>()</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#getMutationsForCoprocs()">HRegion.BatchOperationInProgress</a></code></strong></div>
 <div class="block">This method is potentially expensive and should only be used for non-replay CP path.</div>
 <dl>
@@ -333,7 +333,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>isInReplay</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html#line.2801">isInReplay</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html#line.2807">isInReplay</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#isInReplay()">isInReplay</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;</code></dd>
@@ -346,7 +346,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getReplaySequenceId</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html#line.2806">getReplaySequenceId</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html#line.2812">getReplaySequenceId</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#getReplaySequenceId()">getReplaySequenceId</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;</code></dd>


[42/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/checkstyle.rss
----------------------------------------------------------------------
diff --git a/checkstyle.rss b/checkstyle.rss
index c59a9ee..c9d3ac3 100644
--- a/checkstyle.rss
+++ b/checkstyle.rss
@@ -26,7 +26,7 @@ under the License.
     <copyright>&#169;2007 - 2016 The Apache Software Foundation</copyright>
     <item>
       <title>File: 1672,
-             Errors: 12884,
+             Errors: 12854,
              Warnings: 0,
              Infos: 0
       </title>
@@ -1413,7 +1413,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  294
+                  279
                 </td>
               </tr>
                           <tr>
@@ -3177,7 +3177,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  25
+                  22
                 </td>
               </tr>
                           <tr>
@@ -4591,7 +4591,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  42
+                  41
                 </td>
               </tr>
                           <tr>
@@ -10163,7 +10163,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  90
+                  84
                 </td>
               </tr>
                           <tr>
@@ -16505,7 +16505,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  20
+                  19
                 </td>
               </tr>
                           <tr>
@@ -19963,7 +19963,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  9
+                  5
                 </td>
               </tr>
                           <tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/coc.html
----------------------------------------------------------------------
diff --git a/coc.html b/coc.html
index bde6646..ebecb7f 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="20160129" />
+    <meta name="Date-Revision-yyyymmdd" content="20160201" />
     <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-29</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-01</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/cygwin.html
----------------------------------------------------------------------
diff --git a/cygwin.html b/cygwin.html
index 5142d7d..6936ac5 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="20160129" />
+    <meta name="Date-Revision-yyyymmdd" content="20160201" />
     <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-29</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-01</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/dependencies.html
----------------------------------------------------------------------
diff --git a/dependencies.html b/dependencies.html
index 2b6d05a..a7016db 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="20160129" />
+    <meta name="Date-Revision-yyyymmdd" content="20160201" />
     <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-29</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-01</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/dependency-convergence.html b/dependency-convergence.html
index 04b42a8..b4ea034 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="20160129" />
+    <meta name="Date-Revision-yyyymmdd" content="20160201" />
     <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-29</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-01</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/dependency-info.html
----------------------------------------------------------------------
diff --git a/dependency-info.html b/dependency-info.html
index 785b8ba..ce8fb7d 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="20160129" />
+    <meta name="Date-Revision-yyyymmdd" content="20160201" />
     <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-29</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-01</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/dependency-management.html
----------------------------------------------------------------------
diff --git a/dependency-management.html b/dependency-management.html
index a9ad0ba..06ad160 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="20160129" />
+    <meta name="Date-Revision-yyyymmdd" content="20160201" />
     <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-29</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-01</li>
             </p>
                 </div>
 


[13/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexReader.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexReader.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexReader.html
index 1be6fdf..35e3c5c 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexReader.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexReader.html
@@ -42,18 +42,18 @@
 <span class="sourceLineNo">034</span>import org.apache.commons.logging.LogFactory;<a name="line.34"></a>
 <span class="sourceLineNo">035</span>import org.apache.hadoop.conf.Configuration;<a name="line.35"></a>
 <span class="sourceLineNo">036</span>import org.apache.hadoop.fs.FSDataOutputStream;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.Cell;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.CellComparator;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.HConstants;<a name="line.40"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.ByteBufferedKeyOnlyKeyValue;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.Cell;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.CellComparator;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.40"></a>
 <span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.KeyValue;<a name="line.41"></a>
 <span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.KeyValue.KeyOnlyKeyValue;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.ByteBufferedKeyOnlyKeyValue;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.io.HeapSize;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.io.encoding.DataBlockEncoding;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.io.hfile.HFile.CachingBlockReader;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.nio.ByteBuff;<a name="line.48"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.io.HeapSize;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.io.encoding.DataBlockEncoding;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.io.hfile.HFile.CachingBlockReader;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.nio.ByteBuff;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.regionserver.KeyValueScanner;<a name="line.48"></a>
 <span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.49"></a>
 <span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.util.ClassSize;<a name="line.50"></a>
 <span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.util.ObjectIntPair;<a name="line.51"></a>
@@ -297,7 +297,7 @@
 <span class="sourceLineNo">289</span>      if (rootLevelIndex &lt; blockKeys.length - 1) {<a name="line.289"></a>
 <span class="sourceLineNo">290</span>        nextIndexedKey = blockKeys[rootLevelIndex + 1];<a name="line.290"></a>
 <span class="sourceLineNo">291</span>      } else {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>        nextIndexedKey = HConstants.NO_NEXT_INDEXED_KEY;<a name="line.292"></a>
+<span class="sourceLineNo">292</span>        nextIndexedKey = KeyValueScanner.NO_NEXT_INDEXED_KEY;<a name="line.292"></a>
 <span class="sourceLineNo">293</span>      }<a name="line.293"></a>
 <span class="sourceLineNo">294</span><a name="line.294"></a>
 <span class="sourceLineNo">295</span>      int lookupLevel = 1; // How many levels deep we are in our lookup.<a name="line.295"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexWriter.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexWriter.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexWriter.html
index 1be6fdf..35e3c5c 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexWriter.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexWriter.html
@@ -42,18 +42,18 @@
 <span class="sourceLineNo">034</span>import org.apache.commons.logging.LogFactory;<a name="line.34"></a>
 <span class="sourceLineNo">035</span>import org.apache.hadoop.conf.Configuration;<a name="line.35"></a>
 <span class="sourceLineNo">036</span>import org.apache.hadoop.fs.FSDataOutputStream;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.Cell;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.CellComparator;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.HConstants;<a name="line.40"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.ByteBufferedKeyOnlyKeyValue;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.Cell;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.CellComparator;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.40"></a>
 <span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.KeyValue;<a name="line.41"></a>
 <span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.KeyValue.KeyOnlyKeyValue;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.ByteBufferedKeyOnlyKeyValue;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.io.HeapSize;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.io.encoding.DataBlockEncoding;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.io.hfile.HFile.CachingBlockReader;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.nio.ByteBuff;<a name="line.48"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.io.HeapSize;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.io.encoding.DataBlockEncoding;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.io.hfile.HFile.CachingBlockReader;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.nio.ByteBuff;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.regionserver.KeyValueScanner;<a name="line.48"></a>
 <span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.49"></a>
 <span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.util.ClassSize;<a name="line.50"></a>
 <span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.util.ObjectIntPair;<a name="line.51"></a>
@@ -297,7 +297,7 @@
 <span class="sourceLineNo">289</span>      if (rootLevelIndex &lt; blockKeys.length - 1) {<a name="line.289"></a>
 <span class="sourceLineNo">290</span>        nextIndexedKey = blockKeys[rootLevelIndex + 1];<a name="line.290"></a>
 <span class="sourceLineNo">291</span>      } else {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>        nextIndexedKey = HConstants.NO_NEXT_INDEXED_KEY;<a name="line.292"></a>
+<span class="sourceLineNo">292</span>        nextIndexedKey = KeyValueScanner.NO_NEXT_INDEXED_KEY;<a name="line.292"></a>
 <span class="sourceLineNo">293</span>      }<a name="line.293"></a>
 <span class="sourceLineNo">294</span><a name="line.294"></a>
 <span class="sourceLineNo">295</span>      int lookupLevel = 1; // How many levels deep we are in our lookup.<a name="line.295"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.ByteArrayKeyBlockIndexReader.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.ByteArrayKeyBlockIndexReader.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.ByteArrayKeyBlockIndexReader.html
index 1be6fdf..35e3c5c 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.ByteArrayKeyBlockIndexReader.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.ByteArrayKeyBlockIndexReader.html
@@ -42,18 +42,18 @@
 <span class="sourceLineNo">034</span>import org.apache.commons.logging.LogFactory;<a name="line.34"></a>
 <span class="sourceLineNo">035</span>import org.apache.hadoop.conf.Configuration;<a name="line.35"></a>
 <span class="sourceLineNo">036</span>import org.apache.hadoop.fs.FSDataOutputStream;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.Cell;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.CellComparator;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.HConstants;<a name="line.40"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.ByteBufferedKeyOnlyKeyValue;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.Cell;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.CellComparator;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.40"></a>
 <span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.KeyValue;<a name="line.41"></a>
 <span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.KeyValue.KeyOnlyKeyValue;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.ByteBufferedKeyOnlyKeyValue;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.io.HeapSize;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.io.encoding.DataBlockEncoding;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.io.hfile.HFile.CachingBlockReader;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.nio.ByteBuff;<a name="line.48"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.io.HeapSize;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.io.encoding.DataBlockEncoding;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.io.hfile.HFile.CachingBlockReader;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.nio.ByteBuff;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.regionserver.KeyValueScanner;<a name="line.48"></a>
 <span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.49"></a>
 <span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.util.ClassSize;<a name="line.50"></a>
 <span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.util.ObjectIntPair;<a name="line.51"></a>
@@ -297,7 +297,7 @@
 <span class="sourceLineNo">289</span>      if (rootLevelIndex &lt; blockKeys.length - 1) {<a name="line.289"></a>
 <span class="sourceLineNo">290</span>        nextIndexedKey = blockKeys[rootLevelIndex + 1];<a name="line.290"></a>
 <span class="sourceLineNo">291</span>      } else {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>        nextIndexedKey = HConstants.NO_NEXT_INDEXED_KEY;<a name="line.292"></a>
+<span class="sourceLineNo">292</span>        nextIndexedKey = KeyValueScanner.NO_NEXT_INDEXED_KEY;<a name="line.292"></a>
 <span class="sourceLineNo">293</span>      }<a name="line.293"></a>
 <span class="sourceLineNo">294</span><a name="line.294"></a>
 <span class="sourceLineNo">295</span>      int lookupLevel = 1; // How many levels deep we are in our lookup.<a name="line.295"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.CellBasedKeyBlockIndexReader.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.CellBasedKeyBlockIndexReader.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.CellBasedKeyBlockIndexReader.html
index 1be6fdf..35e3c5c 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.CellBasedKeyBlockIndexReader.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.CellBasedKeyBlockIndexReader.html
@@ -42,18 +42,18 @@
 <span class="sourceLineNo">034</span>import org.apache.commons.logging.LogFactory;<a name="line.34"></a>
 <span class="sourceLineNo">035</span>import org.apache.hadoop.conf.Configuration;<a name="line.35"></a>
 <span class="sourceLineNo">036</span>import org.apache.hadoop.fs.FSDataOutputStream;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.Cell;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.CellComparator;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.HConstants;<a name="line.40"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.ByteBufferedKeyOnlyKeyValue;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.Cell;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.CellComparator;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.40"></a>
 <span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.KeyValue;<a name="line.41"></a>
 <span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.KeyValue.KeyOnlyKeyValue;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.ByteBufferedKeyOnlyKeyValue;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.io.HeapSize;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.io.encoding.DataBlockEncoding;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.io.hfile.HFile.CachingBlockReader;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.nio.ByteBuff;<a name="line.48"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.io.HeapSize;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.io.encoding.DataBlockEncoding;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.io.hfile.HFile.CachingBlockReader;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.nio.ByteBuff;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.regionserver.KeyValueScanner;<a name="line.48"></a>
 <span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.49"></a>
 <span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.util.ClassSize;<a name="line.50"></a>
 <span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.util.ObjectIntPair;<a name="line.51"></a>
@@ -297,7 +297,7 @@
 <span class="sourceLineNo">289</span>      if (rootLevelIndex &lt; blockKeys.length - 1) {<a name="line.289"></a>
 <span class="sourceLineNo">290</span>        nextIndexedKey = blockKeys[rootLevelIndex + 1];<a name="line.290"></a>
 <span class="sourceLineNo">291</span>      } else {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>        nextIndexedKey = HConstants.NO_NEXT_INDEXED_KEY;<a name="line.292"></a>
+<span class="sourceLineNo">292</span>        nextIndexedKey = KeyValueScanner.NO_NEXT_INDEXED_KEY;<a name="line.292"></a>
 <span class="sourceLineNo">293</span>      }<a name="line.293"></a>
 <span class="sourceLineNo">294</span><a name="line.294"></a>
 <span class="sourceLineNo">295</span>      int lookupLevel = 1; // How many levels deep we are in our lookup.<a name="line.295"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.html
index 1be6fdf..35e3c5c 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.html
@@ -42,18 +42,18 @@
 <span class="sourceLineNo">034</span>import org.apache.commons.logging.LogFactory;<a name="line.34"></a>
 <span class="sourceLineNo">035</span>import org.apache.hadoop.conf.Configuration;<a name="line.35"></a>
 <span class="sourceLineNo">036</span>import org.apache.hadoop.fs.FSDataOutputStream;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.Cell;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.CellComparator;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.HConstants;<a name="line.40"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.ByteBufferedKeyOnlyKeyValue;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.Cell;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.CellComparator;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.40"></a>
 <span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.KeyValue;<a name="line.41"></a>
 <span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.KeyValue.KeyOnlyKeyValue;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.ByteBufferedKeyOnlyKeyValue;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.io.HeapSize;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.io.encoding.DataBlockEncoding;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.io.hfile.HFile.CachingBlockReader;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.nio.ByteBuff;<a name="line.48"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.io.HeapSize;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.io.encoding.DataBlockEncoding;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.io.hfile.HFile.CachingBlockReader;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.nio.ByteBuff;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.regionserver.KeyValueScanner;<a name="line.48"></a>
 <span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.49"></a>
 <span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.util.ClassSize;<a name="line.50"></a>
 <span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.util.ObjectIntPair;<a name="line.51"></a>
@@ -297,7 +297,7 @@
 <span class="sourceLineNo">289</span>      if (rootLevelIndex &lt; blockKeys.length - 1) {<a name="line.289"></a>
 <span class="sourceLineNo">290</span>        nextIndexedKey = blockKeys[rootLevelIndex + 1];<a name="line.290"></a>
 <span class="sourceLineNo">291</span>      } else {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>        nextIndexedKey = HConstants.NO_NEXT_INDEXED_KEY;<a name="line.292"></a>
+<span class="sourceLineNo">292</span>        nextIndexedKey = KeyValueScanner.NO_NEXT_INDEXED_KEY;<a name="line.292"></a>
 <span class="sourceLineNo">293</span>      }<a name="line.293"></a>
 <span class="sourceLineNo">294</span><a name="line.294"></a>
 <span class="sourceLineNo">295</span>      int lookupLevel = 1; // How many levels deep we are in our lookup.<a name="line.295"></a>


[08/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.ShareableMemoryOffheapKeyValue.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.ShareableMemoryOffheapKeyValue.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.ShareableMemoryOffheapKeyValue.html
index e8248d4..c36648a 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.ShareableMemoryOffheapKeyValue.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.ShareableMemoryOffheapKeyValue.html
@@ -59,1847 +59,1848 @@
 <span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.io.encoding.HFileBlockDecodingContext;<a name="line.51"></a>
 <span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.io.hfile.HFile.FileInfo;<a name="line.52"></a>
 <span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.nio.ByteBuff;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.security.EncryptionUtil;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.util.ByteBufferUtils;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.util.IdLock;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.util.ObjectIntPair;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.io.WritableUtils;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.htrace.Trace;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.htrace.TraceScope;<a name="line.61"></a>
-<span class="sourceLineNo">062</span><a name="line.62"></a>
-<span class="sourceLineNo">063</span>import com.google.common.annotations.VisibleForTesting;<a name="line.63"></a>
-<span class="sourceLineNo">064</span><a name="line.64"></a>
-<span class="sourceLineNo">065</span>/**<a name="line.65"></a>
-<span class="sourceLineNo">066</span> * Implementation that can handle all hfile versions of {@link HFile.Reader}.<a name="line.66"></a>
-<span class="sourceLineNo">067</span> */<a name="line.67"></a>
-<span class="sourceLineNo">068</span>@InterfaceAudience.Private<a name="line.68"></a>
-<span class="sourceLineNo">069</span>@edu.umd.cs.findbugs.annotations.SuppressWarnings(value="URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")<a name="line.69"></a>
-<span class="sourceLineNo">070</span>public class HFileReaderImpl implements HFile.Reader, Configurable {<a name="line.70"></a>
-<span class="sourceLineNo">071</span>  // This class is HFileReaderV3 + HFileReaderV2 + AbstractHFileReader all squashed together into<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  // one file.  Ditto for all the HFileReader.ScannerV? implementations. I was running up against<a name="line.72"></a>
-<span class="sourceLineNo">073</span>  // the MaxInlineLevel limit because too many tiers involved reading from an hfile. Was also hard<a name="line.73"></a>
-<span class="sourceLineNo">074</span>  // to navigate the source code when so many classes participating in read.<a name="line.74"></a>
-<span class="sourceLineNo">075</span>  private static final Log LOG = LogFactory.getLog(HFileReaderImpl.class);<a name="line.75"></a>
-<span class="sourceLineNo">076</span><a name="line.76"></a>
-<span class="sourceLineNo">077</span>  /** Data block index reader keeping the root data index in memory */<a name="line.77"></a>
-<span class="sourceLineNo">078</span>  private HFileBlockIndex.CellBasedKeyBlockIndexReader dataBlockIndexReader;<a name="line.78"></a>
-<span class="sourceLineNo">079</span><a name="line.79"></a>
-<span class="sourceLineNo">080</span>  /** Meta block index reader -- always single level */<a name="line.80"></a>
-<span class="sourceLineNo">081</span>  private HFileBlockIndex.ByteArrayKeyBlockIndexReader metaBlockIndexReader;<a name="line.81"></a>
-<span class="sourceLineNo">082</span><a name="line.82"></a>
-<span class="sourceLineNo">083</span>  private final FixedFileTrailer trailer;<a name="line.83"></a>
-<span class="sourceLineNo">084</span><a name="line.84"></a>
-<span class="sourceLineNo">085</span>  /** Filled when we read in the trailer. */<a name="line.85"></a>
-<span class="sourceLineNo">086</span>  private final Compression.Algorithm compressAlgo;<a name="line.86"></a>
-<span class="sourceLineNo">087</span><a name="line.87"></a>
-<span class="sourceLineNo">088</span>  private boolean isPrimaryReplicaReader;<a name="line.88"></a>
-<span class="sourceLineNo">089</span><a name="line.89"></a>
-<span class="sourceLineNo">090</span>  /**<a name="line.90"></a>
-<span class="sourceLineNo">091</span>   * What kind of data block encoding should be used while reading, writing,<a name="line.91"></a>
-<span class="sourceLineNo">092</span>   * and handling cache.<a name="line.92"></a>
-<span class="sourceLineNo">093</span>   */<a name="line.93"></a>
-<span class="sourceLineNo">094</span>  private HFileDataBlockEncoder dataBlockEncoder = NoOpDataBlockEncoder.INSTANCE;<a name="line.94"></a>
-<span class="sourceLineNo">095</span><a name="line.95"></a>
-<span class="sourceLineNo">096</span>  /** Last key in the file. Filled in when we read in the file info */<a name="line.96"></a>
-<span class="sourceLineNo">097</span>  private Cell lastKeyCell = null;<a name="line.97"></a>
-<span class="sourceLineNo">098</span><a name="line.98"></a>
-<span class="sourceLineNo">099</span>  /** Average key length read from file info */<a name="line.99"></a>
-<span class="sourceLineNo">100</span>  private int avgKeyLen = -1;<a name="line.100"></a>
-<span class="sourceLineNo">101</span><a name="line.101"></a>
-<span class="sourceLineNo">102</span>  /** Average value length read from file info */<a name="line.102"></a>
-<span class="sourceLineNo">103</span>  private int avgValueLen = -1;<a name="line.103"></a>
-<span class="sourceLineNo">104</span><a name="line.104"></a>
-<span class="sourceLineNo">105</span>  /** Key comparator */<a name="line.105"></a>
-<span class="sourceLineNo">106</span>  private CellComparator comparator = CellComparator.COMPARATOR;<a name="line.106"></a>
-<span class="sourceLineNo">107</span><a name="line.107"></a>
-<span class="sourceLineNo">108</span>  /** Size of this file. */<a name="line.108"></a>
-<span class="sourceLineNo">109</span>  private final long fileSize;<a name="line.109"></a>
-<span class="sourceLineNo">110</span><a name="line.110"></a>
-<span class="sourceLineNo">111</span>  /** Block cache configuration. */<a name="line.111"></a>
-<span class="sourceLineNo">112</span>  private final CacheConfig cacheConf;<a name="line.112"></a>
-<span class="sourceLineNo">113</span><a name="line.113"></a>
-<span class="sourceLineNo">114</span>  /** Path of file */<a name="line.114"></a>
-<span class="sourceLineNo">115</span>  private final Path path;<a name="line.115"></a>
-<span class="sourceLineNo">116</span><a name="line.116"></a>
-<span class="sourceLineNo">117</span>  /** File name to be used for block names */<a name="line.117"></a>
-<span class="sourceLineNo">118</span>  private final String name;<a name="line.118"></a>
-<span class="sourceLineNo">119</span><a name="line.119"></a>
-<span class="sourceLineNo">120</span>  private FileInfo fileInfo;<a name="line.120"></a>
-<span class="sourceLineNo">121</span><a name="line.121"></a>
-<span class="sourceLineNo">122</span>  private Configuration conf;<a name="line.122"></a>
-<span class="sourceLineNo">123</span><a name="line.123"></a>
-<span class="sourceLineNo">124</span>  private HFileContext hfileContext;<a name="line.124"></a>
-<span class="sourceLineNo">125</span><a name="line.125"></a>
-<span class="sourceLineNo">126</span>  /** Filesystem-level block reader. */<a name="line.126"></a>
-<span class="sourceLineNo">127</span>  private HFileBlock.FSReader fsBlockReader;<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>   * A "sparse lock" implementation allowing to lock on a particular block<a name="line.130"></a>
-<span class="sourceLineNo">131</span>   * identified by offset. The purpose of this is to avoid two clients loading<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   * the same block, and have all but one client wait to get the block from the<a name="line.132"></a>
-<span class="sourceLineNo">133</span>   * cache.<a name="line.133"></a>
-<span class="sourceLineNo">134</span>   */<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  private IdLock offsetLock = new IdLock();<a name="line.135"></a>
-<span class="sourceLineNo">136</span><a name="line.136"></a>
-<span class="sourceLineNo">137</span>  /**<a name="line.137"></a>
-<span class="sourceLineNo">138</span>   * Blocks read from the load-on-open section, excluding data root index, meta<a name="line.138"></a>
-<span class="sourceLineNo">139</span>   * index, and file info.<a name="line.139"></a>
-<span class="sourceLineNo">140</span>   */<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  private List&lt;HFileBlock&gt; loadOnOpenBlocks = new ArrayList&lt;HFileBlock&gt;();<a name="line.141"></a>
-<span class="sourceLineNo">142</span><a name="line.142"></a>
-<span class="sourceLineNo">143</span>  /** Minimum minor version supported by this HFile format */<a name="line.143"></a>
-<span class="sourceLineNo">144</span>  static final int MIN_MINOR_VERSION = 0;<a name="line.144"></a>
-<span class="sourceLineNo">145</span><a name="line.145"></a>
-<span class="sourceLineNo">146</span>  /** Maximum minor version supported by this HFile format */<a name="line.146"></a>
-<span class="sourceLineNo">147</span>  // We went to version 2 when we moved to pb'ing fileinfo and the trailer on<a name="line.147"></a>
-<span class="sourceLineNo">148</span>  // the file. This version can read Writables version 1.<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  static final int MAX_MINOR_VERSION = 3;<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>   * We can read files whose major version is v2 IFF their minor version is at least 3.<a name="line.152"></a>
-<span class="sourceLineNo">153</span>   */<a name="line.153"></a>
-<span class="sourceLineNo">154</span>  private static final int MIN_V2_MINOR_VERSION_WITH_PB = 3;<a name="line.154"></a>
-<span class="sourceLineNo">155</span><a name="line.155"></a>
-<span class="sourceLineNo">156</span>  /** Minor versions starting with this number have faked index key */<a name="line.156"></a>
-<span class="sourceLineNo">157</span>  static final int MINOR_VERSION_WITH_FAKED_KEY = 3;<a name="line.157"></a>
-<span class="sourceLineNo">158</span><a name="line.158"></a>
-<span class="sourceLineNo">159</span>  /**<a name="line.159"></a>
-<span class="sourceLineNo">160</span>   * Opens a HFile. You must load the index before you can use it by calling<a name="line.160"></a>
-<span class="sourceLineNo">161</span>   * {@link #loadFileInfo()}.<a name="line.161"></a>
-<span class="sourceLineNo">162</span>   * @param path<a name="line.162"></a>
-<span class="sourceLineNo">163</span>   *          Path to HFile.<a name="line.163"></a>
-<span class="sourceLineNo">164</span>   * @param trailer<a name="line.164"></a>
-<span class="sourceLineNo">165</span>   *          File trailer.<a name="line.165"></a>
-<span class="sourceLineNo">166</span>   * @param fsdis<a name="line.166"></a>
-<span class="sourceLineNo">167</span>   *          input stream.<a name="line.167"></a>
-<span class="sourceLineNo">168</span>   * @param fileSize<a name="line.168"></a>
-<span class="sourceLineNo">169</span>   *          Length of the stream.<a name="line.169"></a>
-<span class="sourceLineNo">170</span>   * @param cacheConf<a name="line.170"></a>
-<span class="sourceLineNo">171</span>   *          Cache configuration.<a name="line.171"></a>
-<span class="sourceLineNo">172</span>   * @param hfs<a name="line.172"></a>
-<span class="sourceLineNo">173</span>   *          The file system.<a name="line.173"></a>
-<span class="sourceLineNo">174</span>   * @param conf<a name="line.174"></a>
-<span class="sourceLineNo">175</span>   *          Configuration<a name="line.175"></a>
-<span class="sourceLineNo">176</span>   */<a name="line.176"></a>
-<span class="sourceLineNo">177</span>  @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")<a name="line.177"></a>
-<span class="sourceLineNo">178</span>  public HFileReaderImpl(final Path path, FixedFileTrailer trailer,<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      final FSDataInputStreamWrapper fsdis,<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      final long fileSize, final CacheConfig cacheConf, final HFileSystem hfs,<a name="line.180"></a>
-<span class="sourceLineNo">181</span>      final Configuration conf)<a name="line.181"></a>
-<span class="sourceLineNo">182</span>  throws IOException {<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    this.trailer = trailer;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    this.compressAlgo = trailer.getCompressionCodec();<a name="line.184"></a>
-<span class="sourceLineNo">185</span>    this.cacheConf = cacheConf;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    this.fileSize = fileSize;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    this.path = path;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    this.name = path.getName();<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    this.conf = conf;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    checkFileVersion();<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    this.hfileContext = createHFileContext(fsdis, fileSize, hfs, path, trailer);<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    this.fsBlockReader = new HFileBlock.FSReaderImpl(fsdis, fileSize, hfs, path, hfileContext);<a name="line.192"></a>
-<span class="sourceLineNo">193</span><a name="line.193"></a>
-<span class="sourceLineNo">194</span>    // Comparator class name is stored in the trailer in version 2.<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    comparator = trailer.createComparator();<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    dataBlockIndexReader = new HFileBlockIndex.CellBasedKeyBlockIndexReader(comparator,<a name="line.196"></a>
-<span class="sourceLineNo">197</span>        trailer.getNumDataIndexLevels(), this);<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    metaBlockIndexReader = new HFileBlockIndex.ByteArrayKeyBlockIndexReader(1);<a name="line.198"></a>
-<span class="sourceLineNo">199</span><a name="line.199"></a>
-<span class="sourceLineNo">200</span>    // Parse load-on-open data.<a name="line.200"></a>
-<span class="sourceLineNo">201</span><a name="line.201"></a>
-<span class="sourceLineNo">202</span>    HFileBlock.BlockIterator blockIter = fsBlockReader.blockRange(<a name="line.202"></a>
-<span class="sourceLineNo">203</span>        trailer.getLoadOnOpenDataOffset(),<a name="line.203"></a>
-<span class="sourceLineNo">204</span>        fileSize - trailer.getTrailerSize());<a name="line.204"></a>
-<span class="sourceLineNo">205</span><a name="line.205"></a>
-<span class="sourceLineNo">206</span>    // Data index. We also read statistics about the block index written after<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    // the root level.<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    dataBlockIndexReader.readMultiLevelIndexRoot(<a name="line.208"></a>
-<span class="sourceLineNo">209</span>        blockIter.nextBlockWithBlockType(BlockType.ROOT_INDEX),<a name="line.209"></a>
-<span class="sourceLineNo">210</span>        trailer.getDataIndexCount());<a name="line.210"></a>
-<span class="sourceLineNo">211</span><a name="line.211"></a>
-<span class="sourceLineNo">212</span>    // Meta index.<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    metaBlockIndexReader.readRootIndex(<a name="line.213"></a>
-<span class="sourceLineNo">214</span>        blockIter.nextBlockWithBlockType(BlockType.ROOT_INDEX),<a name="line.214"></a>
-<span class="sourceLineNo">215</span>        trailer.getMetaIndexCount());<a name="line.215"></a>
-<span class="sourceLineNo">216</span><a name="line.216"></a>
-<span class="sourceLineNo">217</span>    // File info<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    fileInfo = new FileInfo();<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    fileInfo.read(blockIter.nextBlockWithBlockType(BlockType.FILE_INFO).getByteStream());<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    byte[] creationTimeBytes = fileInfo.get(FileInfo.CREATE_TIME_TS);<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    this.hfileContext.setFileCreateTime(creationTimeBytes == null?  0:<a name="line.221"></a>
-<span class="sourceLineNo">222</span>        Bytes.toLong(creationTimeBytes));<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    if (fileInfo.get(FileInfo.LASTKEY) != null) {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>      lastKeyCell = new KeyValue.KeyOnlyKeyValue(fileInfo.get(FileInfo.LASTKEY));<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    }<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    avgKeyLen = Bytes.toInt(fileInfo.get(FileInfo.AVG_KEY_LEN));<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    avgValueLen = Bytes.toInt(fileInfo.get(FileInfo.AVG_VALUE_LEN));<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    byte [] keyValueFormatVersion = fileInfo.get(HFileWriterImpl.KEY_VALUE_VERSION);<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    includesMemstoreTS = keyValueFormatVersion != null &amp;&amp;<a name="line.229"></a>
-<span class="sourceLineNo">230</span>        Bytes.toInt(keyValueFormatVersion) == HFileWriterImpl.KEY_VALUE_VER_WITH_MEMSTORE;<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    fsBlockReader.setIncludesMemstoreTS(includesMemstoreTS);<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    if (includesMemstoreTS) {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      decodeMemstoreTS = Bytes.toLong(fileInfo.get(HFileWriterImpl.MAX_MEMSTORE_TS_KEY)) &gt; 0;<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    }<a name="line.234"></a>
-<span class="sourceLineNo">235</span><a name="line.235"></a>
-<span class="sourceLineNo">236</span>    // Read data block encoding algorithm name from file info.<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    dataBlockEncoder = HFileDataBlockEncoderImpl.createFromFileInfo(fileInfo);<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    fsBlockReader.setDataBlockEncoder(dataBlockEncoder);<a name="line.238"></a>
-<span class="sourceLineNo">239</span><a name="line.239"></a>
-<span class="sourceLineNo">240</span>    // Store all other load-on-open blocks for further consumption.<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    HFileBlock b;<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    while ((b = blockIter.nextBlock()) != null) {<a name="line.242"></a>
-<span class="sourceLineNo">243</span>      loadOnOpenBlocks.add(b);<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>    // Prefetch file blocks upon open if requested<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    if (cacheConf.shouldPrefetchOnOpen()) {<a name="line.247"></a>
-<span class="sourceLineNo">248</span>      PrefetchExecutor.request(path, new Runnable() {<a name="line.248"></a>
-<span class="sourceLineNo">249</span>        public void run() {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>          try {<a name="line.250"></a>
-<span class="sourceLineNo">251</span>            long offset = 0;<a name="line.251"></a>
-<span class="sourceLineNo">252</span>            long end = fileSize - getTrailer().getTrailerSize();<a name="line.252"></a>
-<span class="sourceLineNo">253</span>            HFileBlock prevBlock = null;<a name="line.253"></a>
-<span class="sourceLineNo">254</span>            while (offset &lt; end) {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>              if (Thread.interrupted()) {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>                break;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>              }<a name="line.257"></a>
-<span class="sourceLineNo">258</span>              long onDiskSize = -1;<a name="line.258"></a>
-<span class="sourceLineNo">259</span>              if (prevBlock != null) {<a name="line.259"></a>
-<span class="sourceLineNo">260</span>                onDiskSize = prevBlock.getNextBlockOnDiskSizeWithHeader();<a name="line.260"></a>
-<span class="sourceLineNo">261</span>              }<a name="line.261"></a>
-<span class="sourceLineNo">262</span>              HFileBlock block = readBlock(offset, onDiskSize, true, false, false, false,<a name="line.262"></a>
-<span class="sourceLineNo">263</span>                null, null);<a name="line.263"></a>
-<span class="sourceLineNo">264</span>              // Need not update the current block. Ideally here the readBlock won't find the<a name="line.264"></a>
-<span class="sourceLineNo">265</span>              // block in cache. We call this readBlock so that block data is read from FS and<a name="line.265"></a>
-<span class="sourceLineNo">266</span>              // cached in BC. So there is no reference count increment that happens here.<a name="line.266"></a>
-<span class="sourceLineNo">267</span>              // The return will ideally be a noop because the block is not of MemoryType SHARED.<a name="line.267"></a>
-<span class="sourceLineNo">268</span>              returnBlock(block);<a name="line.268"></a>
-<span class="sourceLineNo">269</span>              prevBlock = block;<a name="line.269"></a>
-<span class="sourceLineNo">270</span>              offset += block.getOnDiskSizeWithHeader();<a name="line.270"></a>
-<span class="sourceLineNo">271</span>            }<a name="line.271"></a>
-<span class="sourceLineNo">272</span>          } catch (IOException e) {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>            // IOExceptions are probably due to region closes (relocation, etc.)<a name="line.273"></a>
-<span class="sourceLineNo">274</span>            if (LOG.isTraceEnabled()) {<a name="line.274"></a>
-<span class="sourceLineNo">275</span>              LOG.trace("Exception encountered while prefetching " + path + ":", e);<a name="line.275"></a>
-<span class="sourceLineNo">276</span>            }<a name="line.276"></a>
-<span class="sourceLineNo">277</span>          } catch (Exception e) {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>            // Other exceptions are interesting<a name="line.278"></a>
-<span class="sourceLineNo">279</span>            LOG.warn("Exception encountered while prefetching " + path + ":", e);<a name="line.279"></a>
-<span class="sourceLineNo">280</span>          } finally {<a name="line.280"></a>
-<span class="sourceLineNo">281</span>            PrefetchExecutor.complete(path);<a name="line.281"></a>
-<span class="sourceLineNo">282</span>          }<a name="line.282"></a>
-<span class="sourceLineNo">283</span>        }<a name="line.283"></a>
-<span class="sourceLineNo">284</span>      });<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    }<a name="line.285"></a>
-<span class="sourceLineNo">286</span><a name="line.286"></a>
-<span class="sourceLineNo">287</span>    byte[] tmp = fileInfo.get(FileInfo.MAX_TAGS_LEN);<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    // max tag length is not present in the HFile means tags were not at all written to file.<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    if (tmp != null) {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>      hfileContext.setIncludesTags(true);<a name="line.290"></a>
-<span class="sourceLineNo">291</span>      tmp = fileInfo.get(FileInfo.TAGS_COMPRESSED);<a name="line.291"></a>
-<span class="sourceLineNo">292</span>      if (tmp != null &amp;&amp; Bytes.toBoolean(tmp)) {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>        hfileContext.setCompressTags(true);<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      }<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    }<a name="line.295"></a>
-<span class="sourceLineNo">296</span>  }<a name="line.296"></a>
-<span class="sourceLineNo">297</span><a name="line.297"></a>
-<span class="sourceLineNo">298</span>  /**<a name="line.298"></a>
-<span class="sourceLineNo">299</span>   * File version check is a little sloppy. We read v3 files but can also read v2 files if their<a name="line.299"></a>
-<span class="sourceLineNo">300</span>   * content has been pb'd; files written with 0.98.<a name="line.300"></a>
-<span class="sourceLineNo">301</span>   */<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  private void checkFileVersion() {<a name="line.302"></a>
-<span class="sourceLineNo">303</span>    int majorVersion = trailer.getMajorVersion();<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    if (majorVersion == getMajorVersion()) return;<a name="line.304"></a>
-<span class="sourceLineNo">305</span>    int minorVersion = trailer.getMinorVersion();<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    if (majorVersion == 2 &amp;&amp; minorVersion &gt;= MIN_V2_MINOR_VERSION_WITH_PB) return;<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    // We can read v3 or v2 versions of hfile.<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    throw new IllegalArgumentException("Invalid HFile version: major=" +<a name="line.308"></a>
-<span class="sourceLineNo">309</span>      trailer.getMajorVersion() + ", minor=" + trailer.getMinorVersion() + ": expected at least " +<a name="line.309"></a>
-<span class="sourceLineNo">310</span>      "major=2 and minor=" + MAX_MINOR_VERSION);<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  }<a name="line.311"></a>
-<span class="sourceLineNo">312</span><a name="line.312"></a>
-<span class="sourceLineNo">313</span>  @SuppressWarnings("serial")<a name="line.313"></a>
-<span class="sourceLineNo">314</span>  public static class BlockIndexNotLoadedException extends IllegalStateException {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    public BlockIndexNotLoadedException() {<a name="line.315"></a>
-<span class="sourceLineNo">316</span>      // Add a message in case anyone relies on it as opposed to class name.<a name="line.316"></a>
-<span class="sourceLineNo">317</span>      super("Block index not loaded");<a name="line.317"></a>
-<span class="sourceLineNo">318</span>    }<a name="line.318"></a>
-<span class="sourceLineNo">319</span>  }<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>  private String toStringFirstKey() {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    if(getFirstKey() == null)<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      return null;<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    return CellUtil.getCellKeyAsString(getFirstKey());<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  }<a name="line.325"></a>
-<span class="sourceLineNo">326</span><a name="line.326"></a>
-<span class="sourceLineNo">327</span>  private String toStringLastKey() {<a name="line.327"></a>
-<span class="sourceLineNo">328</span>    return CellUtil.toString(getLastKey(), false);<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>  @Override<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  public String toString() {<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    return "reader=" + path.toString() +<a name="line.333"></a>
-<span class="sourceLineNo">334</span>        (!isFileInfoLoaded()? "":<a name="line.334"></a>
-<span class="sourceLineNo">335</span>          ", compression=" + compressAlgo.getName() +<a name="line.335"></a>
-<span class="sourceLineNo">336</span>          ", cacheConf=" + cacheConf +<a name="line.336"></a>
-<span class="sourceLineNo">337</span>          ", firstKey=" + toStringFirstKey() +<a name="line.337"></a>
-<span class="sourceLineNo">338</span>          ", lastKey=" + toStringLastKey()) +<a name="line.338"></a>
-<span class="sourceLineNo">339</span>          ", avgKeyLen=" + avgKeyLen +<a name="line.339"></a>
-<span class="sourceLineNo">340</span>          ", avgValueLen=" + avgValueLen +<a name="line.340"></a>
-<span class="sourceLineNo">341</span>          ", entries=" + trailer.getEntryCount() +<a name="line.341"></a>
-<span class="sourceLineNo">342</span>          ", length=" + fileSize;<a name="line.342"></a>
-<span class="sourceLineNo">343</span>  }<a name="line.343"></a>
-<span class="sourceLineNo">344</span><a name="line.344"></a>
-<span class="sourceLineNo">345</span>  @Override<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  public long length() {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    return fileSize;<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 void returnBlock(HFileBlock block) {<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    BlockCache blockCache = this.cacheConf.getBlockCache();<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    if (blockCache != null &amp;&amp; block != null) {<a name="line.353"></a>
-<span class="sourceLineNo">354</span>      BlockCacheKey cacheKey = new BlockCacheKey(this.getFileContext().getHFileName(),<a name="line.354"></a>
-<span class="sourceLineNo">355</span>          block.getOffset(), this.isPrimaryReplicaReader());<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      blockCache.returnBlock(cacheKey, block);<a name="line.356"></a>
-<span class="sourceLineNo">357</span>    }<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  }<a name="line.358"></a>
-<span class="sourceLineNo">359</span>  /**<a name="line.359"></a>
-<span class="sourceLineNo">360</span>   * @return the first key in the file. May be null if file has no entries. Note<a name="line.360"></a>
-<span class="sourceLineNo">361</span>   *         that this is not the first row key, but rather the byte form of the<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   *         first KeyValue.<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   */<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  @Override<a name="line.364"></a>
-<span class="sourceLineNo">365</span>  public Cell getFirstKey() {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    if (dataBlockIndexReader == null) {<a name="line.366"></a>
-<span class="sourceLineNo">367</span>      throw new BlockIndexNotLoadedException();<a name="line.367"></a>
-<span class="sourceLineNo">368</span>    }<a name="line.368"></a>
-<span class="sourceLineNo">369</span>    return dataBlockIndexReader.isEmpty() ? null<a name="line.369"></a>
-<span class="sourceLineNo">370</span>        : dataBlockIndexReader.getRootBlockKey(0);<a name="line.370"></a>
-<span class="sourceLineNo">371</span>  }<a name="line.371"></a>
-<span class="sourceLineNo">372</span><a name="line.372"></a>
-<span class="sourceLineNo">373</span>  /**<a name="line.373"></a>
-<span class="sourceLineNo">374</span>   * TODO left from {@link HFile} version 1: move this to StoreFile after Ryan's<a name="line.374"></a>
-<span class="sourceLineNo">375</span>   * patch goes in to eliminate {@link KeyValue} here.<a name="line.375"></a>
-<span class="sourceLineNo">376</span>   *<a name="line.376"></a>
-<span class="sourceLineNo">377</span>   * @return the first row key, or null if the file is empty.<a name="line.377"></a>
-<span class="sourceLineNo">378</span>   */<a name="line.378"></a>
-<span class="sourceLineNo">379</span>  @Override<a name="line.379"></a>
-<span class="sourceLineNo">380</span>  public byte[] getFirstRowKey() {<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    Cell firstKey = getFirstKey();<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    // We have to copy the row part to form the row key alone<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    return firstKey == null? null: CellUtil.cloneRow(firstKey);<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>  /**<a name="line.386"></a>
-<span class="sourceLineNo">387</span>   * TODO left from {@link HFile} version 1: move this to StoreFile after<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * Ryan's patch goes in to eliminate {@link KeyValue} here.<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   *<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   * @return the last row key, or null if the file is empty.<a name="line.390"></a>
-<span class="sourceLineNo">391</span>   */<a name="line.391"></a>
-<span class="sourceLineNo">392</span>  @Override<a name="line.392"></a>
-<span class="sourceLineNo">393</span>  public byte[] getLastRowKey() {<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    Cell lastKey = getLastKey();<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    return lastKey == null? null: CellUtil.cloneRow(lastKey);<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  }<a name="line.396"></a>
-<span class="sourceLineNo">397</span><a name="line.397"></a>
-<span class="sourceLineNo">398</span>  /** @return number of KV entries in this HFile */<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  @Override<a name="line.399"></a>
-<span class="sourceLineNo">400</span>  public long getEntries() {<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    return trailer.getEntryCount();<a name="line.401"></a>
-<span class="sourceLineNo">402</span>  }<a name="line.402"></a>
-<span class="sourceLineNo">403</span><a name="line.403"></a>
-<span class="sourceLineNo">404</span>  /** @return comparator */<a name="line.404"></a>
-<span class="sourceLineNo">405</span>  @Override<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  public CellComparator getComparator() {<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    return comparator;<a name="line.407"></a>
-<span class="sourceLineNo">408</span>  }<a name="line.408"></a>
-<span class="sourceLineNo">409</span><a name="line.409"></a>
-<span class="sourceLineNo">410</span>  /** @return compression algorithm */<a name="line.410"></a>
-<span class="sourceLineNo">411</span>  @Override<a name="line.411"></a>
-<span class="sourceLineNo">412</span>  public Compression.Algorithm getCompressionAlgorithm() {<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    return compressAlgo;<a name="line.413"></a>
-<span class="sourceLineNo">414</span>  }<a name="line.414"></a>
-<span class="sourceLineNo">415</span><a name="line.415"></a>
-<span class="sourceLineNo">416</span>  /**<a name="line.416"></a>
-<span class="sourceLineNo">417</span>   * @return the total heap size of data and meta block indexes in bytes. Does<a name="line.417"></a>
-<span class="sourceLineNo">418</span>   *         not take into account non-root blocks of a multilevel data index.<a name="line.418"></a>
-<span class="sourceLineNo">419</span>   */<a name="line.419"></a>
-<span class="sourceLineNo">420</span>  public long indexSize() {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    return (dataBlockIndexReader != null ? dataBlockIndexReader.heapSize() : 0)<a name="line.421"></a>
-<span class="sourceLineNo">422</span>        + ((metaBlockIndexReader != null) ? metaBlockIndexReader.heapSize()<a name="line.422"></a>
-<span class="sourceLineNo">423</span>            : 0);<a name="line.423"></a>
-<span class="sourceLineNo">424</span>  }<a name="line.424"></a>
-<span class="sourceLineNo">425</span><a name="line.425"></a>
-<span class="sourceLineNo">426</span>  @Override<a name="line.426"></a>
-<span class="sourceLineNo">427</span>  public String getName() {<a name="line.427"></a>
-<span class="sourceLineNo">428</span>    return name;<a name="line.428"></a>
-<span class="sourceLineNo">429</span>  }<a name="line.429"></a>
-<span class="sourceLineNo">430</span><a name="line.430"></a>
-<span class="sourceLineNo">431</span>  @Override<a name="line.431"></a>
-<span class="sourceLineNo">432</span>  public HFileBlockIndex.BlockIndexReader getDataBlockIndexReader() {<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    return dataBlockIndexReader;<a name="line.433"></a>
-<span class="sourceLineNo">434</span>  }<a name="line.434"></a>
-<span class="sourceLineNo">435</span><a name="line.435"></a>
-<span class="sourceLineNo">436</span>  @Override<a name="line.436"></a>
-<span class="sourceLineNo">437</span>  public FixedFileTrailer getTrailer() {<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    return trailer;<a name="line.438"></a>
-<span class="sourceLineNo">439</span>  }<a name="line.439"></a>
-<span class="sourceLineNo">440</span><a name="line.440"></a>
-<span class="sourceLineNo">441</span>  @Override<a name="line.441"></a>
-<span class="sourceLineNo">442</span>  public boolean isPrimaryReplicaReader() {<a name="line.442"></a>
-<span class="sourceLineNo">443</span>    return isPrimaryReplicaReader;<a name="line.443"></a>
-<span class="sourceLineNo">444</span>  }<a name="line.444"></a>
-<span class="sourceLineNo">445</span><a name="line.445"></a>
-<span class="sourceLineNo">446</span>  @Override<a name="line.446"></a>
-<span class="sourceLineNo">447</span>  public void setPrimaryReplicaReader(boolean isPrimaryReplicaReader) {<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    this.isPrimaryReplicaReader = isPrimaryReplicaReader;<a name="line.448"></a>
-<span class="sourceLineNo">449</span>  }<a name="line.449"></a>
-<span class="sourceLineNo">450</span><a name="line.450"></a>
-<span class="sourceLineNo">451</span>  @Override<a name="line.451"></a>
-<span class="sourceLineNo">452</span>  public FileInfo loadFileInfo() throws IOException {<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    return fileInfo;<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>   * An exception thrown when an operation requiring a scanner to be seeked<a name="line.457"></a>
-<span class="sourceLineNo">458</span>   * is invoked on a scanner that is not seeked.<a name="line.458"></a>
-<span class="sourceLineNo">459</span>   */<a name="line.459"></a>
-<span class="sourceLineNo">460</span>  @SuppressWarnings("serial")<a name="line.460"></a>
-<span class="sourceLineNo">461</span>  public static class NotSeekedException extends IllegalStateException {<a name="line.461"></a>
-<span class="sourceLineNo">462</span>    public NotSeekedException() {<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      super("Not seeked to a key/value");<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>  protected static class HFileScannerImpl implements HFileScanner {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    private ByteBuff blockBuffer;<a name="line.468"></a>
-<span class="sourceLineNo">469</span>    protected final boolean cacheBlocks;<a name="line.469"></a>
-<span class="sourceLineNo">470</span>    protected final boolean pread;<a name="line.470"></a>
-<span class="sourceLineNo">471</span>    protected final boolean isCompaction;<a name="line.471"></a>
-<span class="sourceLineNo">472</span>    private int currKeyLen;<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    private int currValueLen;<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    private int currMemstoreTSLen;<a name="line.474"></a>
-<span class="sourceLineNo">475</span>    private long currMemstoreTS;<a name="line.475"></a>
-<span class="sourceLineNo">476</span>    // Updated but never read?<a name="line.476"></a>
-<span class="sourceLineNo">477</span>    protected AtomicInteger blockFetches = new AtomicInteger(0);<a name="line.477"></a>
-<span class="sourceLineNo">478</span>    protected final HFile.Reader reader;<a name="line.478"></a>
-<span class="sourceLineNo">479</span>    private int currTagsLen;<a name="line.479"></a>
-<span class="sourceLineNo">480</span>    // buffer backed keyonlyKV<a name="line.480"></a>
-<span class="sourceLineNo">481</span>    private ByteBufferedKeyOnlyKeyValue bufBackedKeyOnlyKv = new ByteBufferedKeyOnlyKeyValue();<a name="line.481"></a>
-<span class="sourceLineNo">482</span>    // A pair for reusing in blockSeek() so that we don't garbage lot of objects<a name="line.482"></a>
-<span class="sourceLineNo">483</span>    final ObjectIntPair&lt;ByteBuffer&gt; pair = new ObjectIntPair&lt;ByteBuffer&gt;();<a name="line.483"></a>
-<span class="sourceLineNo">484</span><a name="line.484"></a>
-<span class="sourceLineNo">485</span>    /**<a name="line.485"></a>
-<span class="sourceLineNo">486</span>     * The next indexed key is to keep track of the indexed key of the next data block.<a name="line.486"></a>
-<span class="sourceLineNo">487</span>     * If the nextIndexedKey is HConstants.NO_NEXT_INDEXED_KEY, it means that the<a name="line.487"></a>
-<span class="sourceLineNo">488</span>     * current data block is the last data block.<a name="line.488"></a>
-<span class="sourceLineNo">489</span>     *<a name="line.489"></a>
-<span class="sourceLineNo">490</span>     * If the nextIndexedKey is null, it means the nextIndexedKey has not been loaded yet.<a name="line.490"></a>
-<span class="sourceLineNo">491</span>     */<a name="line.491"></a>
-<span class="sourceLineNo">492</span>    protected Cell nextIndexedKey;<a name="line.492"></a>
-<span class="sourceLineNo">493</span>    // Current block being used<a name="line.493"></a>
-<span class="sourceLineNo">494</span>    protected HFileBlock curBlock;<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    // Previous blocks that were used in the course of the read<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    protected final ArrayList&lt;HFileBlock&gt; prevBlocks = new ArrayList&lt;HFileBlock&gt;();<a name="line.496"></a>
-<span class="sourceLineNo">497</span><a name="line.497"></a>
-<span class="sourceLineNo">498</span>    public HFileScannerImpl(final HFile.Reader reader, final boolean cacheBlocks,<a name="line.498"></a>
-<span class="sourceLineNo">499</span>        final boolean pread, final boolean isCompaction) {<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      this.reader = reader;<a name="line.500"></a>
-<span class="sourceLineNo">501</span>      this.cacheBlocks = cacheBlocks;<a name="line.501"></a>
-<span class="sourceLineNo">502</span>      this.pread = pread;<a name="line.502"></a>
-<span class="sourceLineNo">503</span>      this.isCompaction = isCompaction;<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>    void updateCurrBlockRef(HFileBlock block) {<a name="line.506"></a>
-<span class="sourceLineNo">507</span>      if (block != null &amp;&amp; this.curBlock != null &amp;&amp;<a name="line.507"></a>
-<span class="sourceLineNo">508</span>          block.getOffset() == this.curBlock.getOffset()) {<a name="line.508"></a>
-<span class="sourceLineNo">509</span>        return;<a name="line.509"></a>
-<span class="sourceLineNo">510</span>      }<a name="line.510"></a>
-<span class="sourceLineNo">511</span>      // We don't have to keep ref to EXCLUSIVE type of block<a name="line.511"></a>
-<span class="sourceLineNo">512</span>      if (this.curBlock != null &amp;&amp; this.curBlock.usesSharedMemory()) {<a name="line.512"></a>
-<span class="sourceLineNo">513</span>        prevBlocks.add(this.curBlock);<a name="line.513"></a>
-<span class="sourceLineNo">514</span>      }<a name="line.514"></a>
-<span class="sourceLineNo">515</span>      this.curBlock = block;<a name="line.515"></a>
-<span class="sourceLineNo">516</span>    }<a name="line.516"></a>
-<span class="sourceLineNo">517</span><a name="line.517"></a>
-<span class="sourceLineNo">518</span>    void reset() {<a name="line.518"></a>
-<span class="sourceLineNo">519</span>      // We don't have to keep ref to EXCLUSIVE type of block<a name="line.519"></a>
-<span class="sourceLineNo">520</span>      if (this.curBlock != null &amp;&amp; this.curBlock.usesSharedMemory()) {<a name="line.520"></a>
-<span class="sourceLineNo">521</span>        this.prevBlocks.add(this.curBlock);<a name="line.521"></a>
-<span class="sourceLineNo">522</span>      }<a name="line.522"></a>
-<span class="sourceLineNo">523</span>      this.curBlock = null;<a name="line.523"></a>
-<span class="sourceLineNo">524</span>    }<a name="line.524"></a>
-<span class="sourceLineNo">525</span><a name="line.525"></a>
-<span class="sourceLineNo">526</span>    private void returnBlockToCache(HFileBlock block) {<a name="line.526"></a>
-<span class="sourceLineNo">527</span>      if (LOG.isTraceEnabled()) {<a name="line.527"></a>
-<span class="sourceLineNo">528</span>        LOG.trace("Returning the block : " + block);<a name="line.528"></a>
-<span class="sourceLineNo">529</span>      }<a name="line.529"></a>
-<span class="sourceLineNo">530</span>      this.reader.returnBlock(block);<a name="line.530"></a>
-<span class="sourceLineNo">531</span>    }<a name="line.531"></a>
-<span class="sourceLineNo">532</span><a name="line.532"></a>
-<span class="sourceLineNo">533</span>    private void returnBlocks(boolean returnAll) {<a name="line.533"></a>
-<span class="sourceLineNo">534</span>      for (int i = 0; i &lt; this.prevBlocks.size(); i++) {<a name="line.534"></a>
-<span class="sourceLineNo">535</span>        returnBlockToCache(this.prevBlocks.get(i));<a name="line.535"></a>
-<span class="sourceLineNo">536</span>      }<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      this.prevBlocks.clear();<a name="line.537"></a>
-<span class="sourceLineNo">538</span>      if (returnAll &amp;&amp; this.curBlock != null) {<a name="line.538"></a>
-<span class="sourceLineNo">539</span>        returnBlockToCache(this.curBlock);<a name="line.539"></a>
-<span class="sourceLineNo">540</span>        this.curBlock = null;<a name="line.540"></a>
-<span class="sourceLineNo">541</span>      }<a name="line.541"></a>
-<span class="sourceLineNo">542</span>    }<a name="line.542"></a>
-<span class="sourceLineNo">543</span>    @Override<a name="line.543"></a>
-<span class="sourceLineNo">544</span>    public boolean isSeeked(){<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      return blockBuffer != null;<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>    @Override<a name="line.548"></a>
-<span class="sourceLineNo">549</span>    public String toString() {<a name="line.549"></a>
-<span class="sourceLineNo">550</span>      return "HFileScanner for reader " + String.valueOf(getReader());<a name="line.550"></a>
-<span class="sourceLineNo">551</span>    }<a name="line.551"></a>
-<span class="sourceLineNo">552</span><a name="line.552"></a>
-<span class="sourceLineNo">553</span>    protected void assertSeeked() {<a name="line.553"></a>
-<span class="sourceLineNo">554</span>      if (!isSeeked())<a name="line.554"></a>
-<span class="sourceLineNo">555</span>        throw new NotSeekedException();<a name="line.555"></a>
-<span class="sourceLineNo">556</span>    }<a name="line.556"></a>
-<span class="sourceLineNo">557</span><a name="line.557"></a>
-<span class="sourceLineNo">558</span>    @Override<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    public HFile.Reader getReader() {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>      return reader;<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    }<a name="line.561"></a>
-<span class="sourceLineNo">562</span><a name="line.562"></a>
-<span class="sourceLineNo">563</span>    protected int getCellBufSize() {<a name="line.563"></a>
-<span class="sourceLineNo">564</span>      int kvBufSize = KEY_VALUE_LEN_SIZE + currKeyLen + currValueLen;<a name="line.564"></a>
-<span class="sourceLineNo">565</span>      if (this.reader.getFileContext().isIncludesTags()) {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>        kvBufSize += Bytes.SIZEOF_SHORT + currTagsLen;<a name="line.566"></a>
-<span class="sourceLineNo">567</span>      }<a name="line.567"></a>
-<span class="sourceLineNo">568</span>      return kvBufSize;<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>    @Override<a name="line.571"></a>
-<span class="sourceLineNo">572</span>    public void close() {<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      this.returnBlocks(true);<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    }<a name="line.574"></a>
-<span class="sourceLineNo">575</span><a name="line.575"></a>
-<span class="sourceLineNo">576</span>    protected int getCurCellSize() {<a name="line.576"></a>
-<span class="sourceLineNo">577</span>      int curCellSize =  KEY_VALUE_LEN_SIZE + currKeyLen + currValueLen<a name="line.577"></a>
-<span class="sourceLineNo">578</span>          + currMemstoreTSLen;<a name="line.578"></a>
-<span class="sourceLineNo">579</span>      if (this.reader.getFileContext().isIncludesTags()) {<a name="line.579"></a>
-<span class="sourceLineNo">580</span>        curCellSize += Bytes.SIZEOF_SHORT + currTagsLen;<a name="line.580"></a>
-<span class="sourceLineNo">581</span>      }<a name="line.581"></a>
-<span class="sourceLineNo">582</span>      return curCellSize;<a name="line.582"></a>
-<span class="sourceLineNo">583</span>    }<a name="line.583"></a>
-<span class="sourceLineNo">584</span><a name="line.584"></a>
-<span class="sourceLineNo">585</span>    protected void readKeyValueLen() {<a name="line.585"></a>
-<span class="sourceLineNo">586</span>      // This is a hot method. We go out of our way to make this method short so it can be<a name="line.586"></a>
-<span class="sourceLineNo">587</span>      // inlined and is not too big to compile. We also manage position in ByteBuffer ourselves<a name="line.587"></a>
-<span class="sourceLineNo">588</span>      // because it is faster than going via range-checked ByteBuffer methods or going through a<a name="line.588"></a>
-<span class="sourceLineNo">589</span>      // byte buffer array a byte at a time.<a name="line.589"></a>
-<span class="sourceLineNo">590</span>      // Get a long at a time rather than read two individual ints. In micro-benchmarking, even<a name="line.590"></a>
-<span class="sourceLineNo">591</span>      // with the extra bit-fiddling, this is order-of-magnitude faster than getting two ints.<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      // Trying to imitate what was done - need to profile if this is better or<a name="line.592"></a>
-<span class="sourceLineNo">593</span>      // earlier way is better by doing mark and reset?<a name="line.593"></a>
-<span class="sourceLineNo">594</span>      // But ensure that you read long instead of two ints<a name="line.594"></a>
-<span class="sourceLineNo">595</span>      long ll = blockBuffer.getLongAfterPosition(0);<a name="line.595"></a>
-<span class="sourceLineNo">596</span>      // Read top half as an int of key length and bottom int as value length<a name="line.596"></a>
-<span class="sourceLineNo">597</span>      this.currKeyLen = (int)(ll &gt;&gt; Integer.SIZE);<a name="line.597"></a>
-<span class="sourceLineNo">598</span>      this.currValueLen = (int)(Bytes.MASK_FOR_LOWER_INT_IN_LONG ^ ll);<a name="line.598"></a>
-<span class="sourceLineNo">599</span>      checkKeyValueLen();<a name="line.599"></a>
-<span class="sourceLineNo">600</span>      // Move position past the key and value lengths and then beyond the key and value<a name="line.600"></a>
-<span class="sourceLineNo">601</span>      int p = (Bytes.SIZEOF_LONG + currKeyLen + currValueLen);<a name="line.601"></a>
-<span class="sourceLineNo">602</span>      if (reader.getFileContext().isIncludesTags()) {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>        // Tags length is a short.<a name="line.603"></a>
-<span class="sourceLineNo">604</span>        this.currTagsLen = blockBuffer.getShortAfterPosition(p);<a name="line.604"></a>
-<span class="sourceLineNo">605</span>        checkTagsLen();<a name="line.605"></a>
-<span class="sourceLineNo">606</span>        p += (Bytes.SIZEOF_SHORT + currTagsLen);<a name="line.606"></a>
-<span class="sourceLineNo">607</span>      }<a name="line.607"></a>
-<span class="sourceLineNo">608</span>      readMvccVersion(p);<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>    private final void checkTagsLen() {<a name="line.611"></a>
-<span class="sourceLineNo">612</span>      if (checkLen(this.currTagsLen)) {<a name="line.612"></a>
-<span class="sourceLineNo">613</span>        throw new IllegalStateException("Invalid currTagsLen " + this.currTagsLen +<a name="line.613"></a>
-<span class="sourceLineNo">614</span>          ". Block offset: " + curBlock.getOffset() + ", block length: " +<a name="line.614"></a>
-<span class="sourceLineNo">615</span>            this.blockBuffer.limit() +<a name="line.615"></a>
-<span class="sourceLineNo">616</span>          ", position: " + this.blockBuffer.position() + " (without header).");<a name="line.616"></a>
-<span class="sourceLineNo">617</span>      }<a name="line.617"></a>
-<span class="sourceLineNo">618</span>    }<a name="line.618"></a>
-<span class="sourceLineNo">619</span><a name="line.619"></a>
-<span class="sourceLineNo">620</span>    /**<a name="line.620"></a>
-<span class="sourceLineNo">621</span>     * Read mvcc. Does checks to see if we even need to read the mvcc at all.<a name="line.621"></a>
-<span class="sourceLineNo">622</span>     * @param offsetFromPos<a name="line.622"></a>
-<span class="sourceLineNo">623</span>     */<a name="line.623"></a>
-<span class="sourceLineNo">624</span>    protected void readMvccVersion(final int offsetFromPos) {<a name="line.624"></a>
-<span class="sourceLineNo">625</span>      // See if we even need to decode mvcc.<a name="line.625"></a>
-<span class="sourceLineNo">626</span>      if (!this.reader.shouldIncludeMemstoreTS()) return;<a name="line.626"></a>
-<span class="sourceLineNo">627</span>      if (!this.reader.isDecodeMemstoreTS()) {<a name="line.627"></a>
-<span class="sourceLineNo">628</span>        currMemstoreTS = 0;<a name="line.628"></a>
-<span class="sourceLineNo">629</span>        currMemstoreTSLen = 1;<a name="line.629"></a>
-<span class="sourceLineNo">630</span>        return;<a name="line.630"></a>
-<span class="sourceLineNo">631</span>      }<a name="line.631"></a>
-<span class="sourceLineNo">632</span>      _readMvccVersion(offsetFromPos);<a name="line.632"></a>
-<span class="sourceLineNo">633</span>    }<a name="line.633"></a>
-<span class="sourceLineNo">634</span><a name="line.634"></a>
-<span class="sourceLineNo">635</span>    /**<a name="line.635"></a>
-<span class="sourceLineNo">636</span>     * Actually do the mvcc read. Does no checks.<a name="line.636"></a>
-<span class="sourceLineNo">637</span>     * @param offsetFromPos<a name="line.637"></a>
-<span class="sourceLineNo">638</span>     */<a name="line.638"></a>
-<span class="sourceLineNo">639</span>    private void _readMvccVersion(int offsetFromPos) {<a name="line.639"></a>
-<span class="sourceLineNo">640</span>      // This is Bytes#bytesToVint inlined so can save a few instructions in this hot method; i.e.<a name="line.640"></a>
-<span class="sourceLineNo">641</span>      // previous if one-byte vint, we'd redo the vint call to find int size.<a name="line.641"></a>
-<span class="sourceLineNo">642</span>      // Also the method is kept small so can be inlined.<a name="line.642"></a>
-<span class="sourceLineNo">643</span>      byte firstByte = blockBuffer.getByteAfterPosition(offsetFromPos);<a name="line.643"></a>
-<span class="sourceLineNo">644</span>      int len = WritableUtils.decodeVIntSize(firstByte);<a name="line.644"></a>
-<span class="sourceLineNo">645</span>      if (len == 1) {<a name="line.645"></a>
-<span class="sourceLineNo">646</span>        this.currMemstoreTS = firstByte;<a name="line.646"></a>
-<span class="sourceLineNo">647</span>      } else {<a name="line.647"></a>
-<span class="sourceLineNo">648</span>        int remaining = len -1;<a name="line.648"></a>
-<span class="sourceLineNo">649</span>        long i = 0;<a name="line.649"></a>
-<span class="sourceLineNo">650</span>        offsetFromPos++;<a name="line.650"></a>
-<span class="sourceLineNo">651</span>        if (remaining &gt;= Bytes.SIZEOF_INT) {<a name="line.651"></a>
-<span class="sourceLineNo">652</span>          i = blockBuffer.getIntAfterPosition(offsetFromPos);<a name="line.652"></a>
-<span class="sourceLineNo">653</span>          remaining -= Bytes.SIZEOF_INT;<a name="line.653"></a>
-<span class="sourceLineNo">654</span>          offsetFromPos += Bytes.SIZEOF_INT;<a name="line.654"></a>
-<span class="sourceLineNo">655</span>        }<a name="line.655"></a>
-<span class="sourceLineNo">656</span>        if (remaining &gt;= Bytes.SIZEOF_SHORT) {<a name="line.656"></a>
-<span class="sourceLineNo">657</span>          short s = blockBuffer.getShortAfterPosition(offsetFromPos);<a name="line.657"></a>
-<span class="sourceLineNo">658</span>          i = i &lt;&lt; 16;<a name="line.658"></a>
-<span class="sourceLineNo">659</span>          i = i | (s &amp; 0xFFFF);<a name="line.659"></a>
-<span class="sourceLineNo">660</span>          remaining -= Bytes.SIZEOF_SHORT;<a name="line.660"></a>
-<span class="sourceLineNo">661</span>          offsetFromPos += Bytes.SIZEOF_SHORT;<a name="line.661"></a>
-<span class="sourceLineNo">662</span>        }<a name="line.662"></a>
-<span class="sourceLineNo">663</span>        for (int idx = 0; idx &lt; remaining; idx++) {<a name="line.663"></a>
-<span class="sourceLineNo">664</span>          byte b = blockBuffer.getByteAfterPosition(offsetFromPos + idx);<a name="line.664"></a>
-<span class="sourceLineNo">665</span>          i = i &lt;&lt; 8;<a name="line.665"></a>
-<span class="sourceLineNo">666</span>          i = i | (b &amp; 0xFF);<a name="line.666"></a>
-<span class="sourceLineNo">667</span>        }<a name="line.667"></a>
-<span class="sourceLineNo">668</span>        currMemstoreTS = (WritableUtils.isNegativeVInt(firstByte) ? ~i : i);<a name="line.668"></a>
-<span class="sourceLineNo">669</span>      }<a name="line.669"></a>
-<span class="sourceLineNo">670</span>      this.currMemstoreTSLen = len;<a name="line.670"></a>
-<span class="sourceLineNo">671</span>    }<a name="line.671"></a>
-<span class="sourceLineNo">672</span><a name="line.672"></a>
-<span class="sourceLineNo">673</span>    /**<a name="line.673"></a>
-<span class="sourceLineNo">674</span>     * Within a loaded block, seek looking for the last key that is smaller than<a name="line.674"></a>
-<span class="sourceLineNo">675</span>     * (or equal to?) the key we are interested in.<a name="line.675"></a>
-<span class="sourceLineNo">676</span>     * A note on the seekBefore: if you have seekBefore = true, AND the first<a name="line.676"></a>
-<span class="sourceLineNo">677</span>     * key in the block = key, then you'll get thrown exceptions. The caller has<a name="line.677"></a>
-<span class="sourceLineNo">678</span>     * to check for that case and load the previous block as appropriate.<a name="line.678"></a>
-<span class="sourceLineNo">679</span>     * @param key<a name="line.679"></a>
-<span class="sourceLineNo">680</span>     *          the key to find<a name="line.680"></a>
-<span class="sourceLineNo">681</span>     * @param seekBefore<a name="line.681"></a>
-<span class="sourceLineNo">682</span>     *          find the key before the given key in case of exact match.<a name="line.682"></a>
-<span class="sourceLineNo">683</span>     * @return 0 in case of an exact key match, 1 in case of an inexact match,<a name="line.683"></a>
-<span class="sourceLineNo">684</span>     *         -2 in case of an inexact match and furthermore, the input key<a name="line.684"></a>
-<span class="sourceLineNo">685</span>     *         less than the first key of current block(e.g. using a faked index<a name="line.685"></a>
-<span class="sourceLineNo">686</span>     *         key)<a name="line.686"></a>
-<span class="sourceLineNo">687</span>     */<a name="line.687"></a>
-<span class="sourceLineNo">688</span>    protected int blockSeek(Cell key, boolean seekBefore) {<a name="line.688"></a>
-<span class="sourceLineNo">689</span>      int klen, vlen, tlen = 0;<a name="line.689"></a>
-<span class="sourceLineNo">690</span>      int lastKeyValueSize = -1;<a name="line.690"></a>
-<span class="sourceLineNo">691</span>      int offsetFromPos;<a name="line.691"></a>
-<span class="sourceLineNo">692</span>      do {<a name="line.692"></a>
-<span class="sourceLineNo">693</span>        offsetFromPos = 0;<a name="line.693"></a>
-<span class="sourceLineNo">694</span>        // Better to ensure that we use the BB Utils here<a name="line.694"></a>
-<span class="sourceLineNo">695</span>        long ll = blockBuffer.getLongAfterPosition(offsetFromPos);<a name="line.695"></a>
-<span class="sourceLineNo">696</span>        klen = (int)(ll &gt;&gt; Integer.SIZE);<a name="line.696"></a>
-<span class="sourceLineNo">697</span>        vlen = (int)(Bytes.MASK_FOR_LOWER_INT_IN_LONG ^ ll);<a name="line.697"></a>
-<span class="sourceLineNo">698</span>        if (klen &lt; 0 || vlen &lt; 0 || klen &gt; blockBuffer.limit()<a name="line.698"></a>
-<span class="sourceLineNo">699</span>            || vlen &gt; blockBuffer.limit()) {<a name="line.699"></a>
-<span class="sourceLineNo">700</span>          throw new IllegalStateException("Invalid klen " + klen + " or vlen "<a name="line.700"></a>
-<span class="sourceLineNo">701</span>              + vlen + ". Block offset: "<a name="line.701"></a>
-<span class="sourceLineNo">702</span>              + curBlock.getOffset() + ", block length: " + blockBuffer.limit() + ", position: "<a name="line.702"></a>
-<span class="sourceLineNo">703</span>              + blockBuffer.position() + " (without header).");<a name="line.703"></a>
-<span class="sourceLineNo">704</span>        }<a name="line.704"></a>
-<span class="sourceLineNo">705</span>        offsetFromPos += Bytes.SIZEOF_LONG;<a name="line.705"></a>
-<span class="sourceLineNo">706</span>        blockBuffer.asSubByteBuffer(blockBuffer.position() + offsetFromPos, klen, pair);<a name="line.706"></a>
-<span class="sourceLineNo">707</span>        bufBackedKeyOnlyKv.setKey(pair.getFirst(), pair.getSecond(), klen);<a name="line.707"></a>
-<span class="sourceLineNo">708</span>        int comp = reader.getComparator().compareKeyIgnoresMvcc(key, bufBackedKeyOnlyKv);<a name="line.708"></a>
-<span class="sourceLineNo">709</span>        offsetFromPos += klen + vlen;<a name="line.709"></a>
-<span class="sourceLineNo">710</span>        if (this.reader.getFileContext().isIncludesTags()) {<a name="line.710"></a>
-<span class="sourceLineNo">711</span>          // Read short as unsigned, high byte first<a name="line.711"></a>
-<span class="sourceLineNo">712</span>          tlen = ((blockBuffer.getByteAfterPosition(offsetFromPos) &amp; 0xff) &lt;&lt; 8)<a name="line.712"></a>
-<span class="sourceLineNo">713</span>              ^ (blockBuffer.getByteAfterPosition(offsetFromPos + 1) &amp; 0xff);<a name="line.713"></a>
-<span class="sourceLineNo">714</span>          if (tlen &lt; 0 || tlen &gt; blockBuffer.limit()) {<a name="line.714"></a>
-<span class="sourceLineNo">715</span>            throw new IllegalStateException("Invalid tlen " + tlen + ". Block offset: "<a name="line.715"></a>
-<span class="sourceLineNo">716</span>                + curBlock.getOffset() + ", block length: " + blockBuffer.limit() + ", position: "<a name="line.716"></a>
-<span class="sourceLineNo">717</span>                + blockBuffer.position() + " (without header).");<a name="line.717"></a>
-<span class="sourceLineNo">718</span>          }<a name="line.718"></a>
-<span class="sourceLineNo">719</span>          // add the two bytes read for the tags.<a name="line.719"></a>
-<span class="sourceLineNo">720</span>          offsetFromPos += tlen + (Bytes.SIZEOF_SHORT);<a name="line.720"></a>
-<span class="sourceLineNo">721</span>        }<a name="line.721"></a>
-<span class="sourceLineNo">722</span>        if (this.reader.shouldIncludeMemstoreTS()) {<a name="line.722"></a>
-<span class="sourceLineNo">723</span>          // Directly read the mvcc based on current position<a name="line.723"></a>
-<span class="sourceLineNo">724</span>          readMvccVersion(offsetFromPos);<a name="line.724"></a>
-<span class="sourceLineNo">725</span>        }<a name="line.725"></a>
-<span class="sourceLineNo">726</span>        if (comp == 0) {<a name="line.726"></a>
-<span class="sourceLineNo">727</span>          if (seekBefore) {<a name="line.727"></a>
-<span class="sourceLineNo">728</span>            if (lastKeyValueSize &lt; 0) {<a name="line.728"></a>
-<span class="sourceLineNo">729</span>              throw new IllegalStateException("blockSeek with seekBefore "<a name="line.729"></a>
-<span class="sourceLineNo">730</span>                  + "at the first key of the block: key=" + CellUtil.getCellKeyAsString(key)<a name="line.730"></a>
-<span class="sourceLineNo">731</span>                  + ", blockOffset=" + curBlock.getOffset() + ", onDiskSize="<a name="line.731"></a>
-<span class="sourceLineNo">732</span>                  + curBlock.getOnDiskSizeWithHeader());<a name="line.732"></a>
-<span class="sourceLineNo">733</span>            }<a name="line.733"></a>
-<span class="sourceLineNo">734</span>            blockBuffer.moveBack(lastKeyValueSize);<a name="line.734"></a>
-<span class="sourceLineNo">735</span>            readKeyValueLen();<a name="line.735"></a>
-<span class="sourceLineNo">736</span>            return 1; // non exact match.<a name="line.736"></a>
-<span class="sourceLineNo">737</span>          }<a name="line.737"></a>
-<span class="sourceLineNo">738</span>          currKeyLen = klen;<a name="line.738"></a>
-<span class="sourceLineNo">739</span>          currValueLen = vlen;<a name="line.739"></a>
-<span class="sourceLineNo">740</span>          currTagsLen = tlen;<a name="line.740"></a>
-<span class="sourceLineNo">741</span>          return 0; // indicate exact match<a name="line.741"></a>
-<span class="sourceLineNo">742</span>        } else if (comp &lt; 0) {<a name="line.742"></a>
-<span class="sourceLineNo">743</span>          if (lastKeyValueSize &gt; 0) {<a name="line.743"></a>
-<span class="sourceLineNo">744</span>            blockBuffer.moveBack(lastKeyValueSize);<a name="line.744"></a>
-<span class="sourceLineNo">745</span>          }<a name="line.745"></a>
-<span class="sourceLineNo">746</span>          readKeyValueLen();<a name="line.746"></a>
-<span class="sourceLineNo">747</span>          if (lastKeyValueSize == -1 &amp;&amp; blockBuffer.position() == 0) {<a name="line.747"></a>
-<span class="sourceLineNo">748</span>            return HConstants.INDEX_KEY_MAGIC;<a name="line.748"></a>
-<span class="sourceLineNo">749</span>          }<a name="line.749"></a>
-<span class="sourceLineNo">750</span>          return 1;<a name="line.750"></a>
-<span class="sourceLineNo">751</span>        }<a name="line.751"></a>
-<span class="sourceLineNo">752</span>        // The size of this key/value tuple, including key/value length fields.<a name="line.752"></a>
-<span class="sourceLineNo">753</span>        lastKeyValueSize = klen + vlen + currMemstoreTSLen + KEY_VALUE_LEN_SIZE;<a name="line.753"></a>
-<span class="sourceLineNo">754</span>        // include tag length also if tags included with KV<a name="line.754"></a>
-<span class="sourceLineNo">755</span>        if (reader.getFileContext().isIncludesTags()) {<a name="line.755"></a>
-<span class="sourceLineNo">756</span>          lastKeyValueSize += tlen + Bytes.SIZEOF_SHORT;<a name="line.756"></a>
-<span class="sourceLineNo">757</span>        }<a name="line.757"></a>
-<span class="sourceLineNo">758</span>        blockBuffer.skip(lastKeyValueSize);<a name="line.758"></a>
-<span class="sourceLineNo">759</span>      } while (blockBuffer.hasRemaining());<a name="line.759"></a>
-<span class="sourceLineNo">760</span><a name="line.760"></a>
-<span class="sourceLineNo">761</span>      // Seek to the last key we successfully read. This will happen if this is<a name="line.761"></a>
-<span class="sourceLineNo">762</span>      // the last key/value pair in the file, in which case the following call<a name="line.762"></a>
-<span class="sourceLineNo">763</span>      // to next() has to return false.<a name="line.763"></a>
-<span class="sourceLineNo">764</span>      blockBuffer.moveBack(lastKeyValueSize);<a name="line.764"></a>
-<span class="sourceLineNo">765</span>      readKeyValueLen();<a name="line.765"></a>
-<span class="sourceLineNo">766</span>      return 1; // didn't exactly find it.<a name="line.766"></a>
-<span class="sourceLineNo">767</span>    }<a name="line.767"></a>
-<span class="sourceLineNo">768</span><a name="line.768"></a>
-<span class="sourceLineNo">769</span>    @Override<a name="line.769"></a>
-<span class="sourceLineNo">770</span>    public Cell getNextIndexedKey() {<a name="line.770"></a>
-<span class="sourceLineNo">771</span>      return nextIndexedKey;<a name="line.771"></a>
-<span class="sourceLineNo">772</span>    }<a name="line.772"></a>
-<span class="sourceLineNo">773</span><a name="line.773"></a>
-<span class="sourceLineNo">774</span>    @Override<a name="line.774"></a>
-<span class="sourceLineNo">775</span>    public int seekTo(Cell key) throws IOException {<a name="line.775"></a>
-<span class="sourceLineNo">776</span>      return seekTo(key, true);<a name="line.776"></a>
-<span class="sourceLineNo">777</span>    }<a name="line.777"></a>
-<span class="sourceLineNo">778</span><a name="line.778"></a>
-<span class="sourceLineNo">779</span>    @Override<a name="line.779"></a>
-<span class="sourceLineNo">780</span>    public int reseekTo(Cell key) throws IOException {<a name="line.780"></a>
-<span class="sourceLineNo">781</span>      int compared;<a name="line.781"></a>
-<span class="sourceLineNo">782</span>      if (isSeeked()) {<a name="line.782"></a>
-<span class="sourceLineNo">783</span>        compared = compareKey(reader.getComparator(), key);<a name="line.783"></a>
-<span class="sourceLineNo">784</span>        if (compared &lt; 1) {<a name="line.784"></a>
-<span class="sourceLineNo">785</span>          // If the required key is less than or equal to current key, then<a name="line.785"></a>
-<span class="sourceLineNo">786</span>          // don't do anything.<a name="line.786"></a>
-<span class="sourceLineNo">787</span>          return compared;<a name="line.787"></a>
-<span class="sourceLineNo">788</span>        } else {<a name="line.788"></a>
-<span class="sourceLineNo">789</span>          // The comparison with no_next_index_key has to be checked<a name="line.789"></a>
-<span class="sourceLineNo">790</span>          if (this.nextIndexedKey != null &amp;&amp;<a name="line.790"></a>
-<span class="sourceLineNo">791</span>              (this.nextIndexedKey == HConstants.NO_NEXT_INDEXED_KEY || reader<a name="line.791"></a>
-<span class="sourceLineNo">792</span>              .getComparator().compareKeyIgnoresMvcc(key, nextIndexedKey) &lt; 0)) {<a name="line.792"></a>
-<span class="sourceLineNo">793</span>            // The reader shall continue to scan the current data block instead<a name="line.793"></a>
-<span class="sourceLineNo">794</span>            // of querying the<a name="line.794"></a>
-<span class="sourceLineNo">795</span>            // block index as long as it knows the target key is strictly<a name="line.795"></a>
-<span class="sourceLineNo">796</span>            // smaller than<a name="line.796"></a>
-<span class="sourceLineNo">797</span>            // the next indexed key or the current data block is the last data<a name="line.797"></a>
-<span class="sourceLineNo">798</span>            // block.<a name="line.798"></a>
-<span class="sourceLineNo">799</span>            return loadBlockAndSeekToKey(this.curBlock, nextIndexedKey, false, key,<a name="line.799"></a>
-<span class="sourceLineNo">800</span>                false);<a name="line.800"></a>
-<span class="sourceLineNo">801</span>          }<a name="line.801"></a>
-<span class="sourceLineNo">802</span><a name="line.802"></a>
-<span class="sourceLineNo">803</span>        }<a name="line.803"></a>
-<span class="sourceLineNo">804</span>      }<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      // Don't rewind on a reseek operation, because reseek implies that we are<a name="line.805"></a>
-<span class="sourceLineNo">806</span>      // always going forward in the file.<a name="line.806"></a>
-<span class="sourceLineNo">807</span>      return seekTo(key, false);<a name="line.807"></a>
-<span class="sourceLineNo">808</span>    }<a name="line.808"></a>
-<span class="sourceLineNo">809</span><a name="line.809"></a>
-<span class="sourceLineNo">810</span>    /**<a name="line.810"></a>
-<span class="sourceLineNo">811</span>     * An internal API function. Seek to the given key, optionally rewinding to<a name="line.811"></a>
-<span class="sourceLineNo">812</span>     * the first key of the block before doing the seek.<a name="line.812"></a>
-<span class="sourceLineNo">813</span>     *<a name="line.813"></a>
-<span class="sourceLineNo">814</span>     * @param key - a cell representing the key that we need to fetch<a name="line.814"></a>
-<span class="sourceLineNo">815</span>     * @param rewind whether to rewind to the first key of the block before<a name="line.815"></a>
-<span class="sourceLineNo">816</span>     *        doing the seek. If this is false, we are assuming we never go<a name="line.816"></a>
-<span class="sourceLineNo">817</span>     *        back, otherwise the result is undefined.<a name="line.817"></a>
-<span class="sourceLineNo">818</span>     * @return -1 if the key is earlier than the first key of the file,<a name="line.818"></a>
-<span class="sourceLineNo">819</span>     *         0 if we are at the given key, 1 if we are past the given key<a name="line.819"></a>
-<span class="sourceLineNo">820</span>     *         -2 if the key is earlier than the first key of the file while<a name="line.820"></a>
-<span class="sourceLineNo">821</span>     *         using a faked index key<a name="line.821"></a>
-<span class="sourceLineNo">822</span>     * @throws IOException<a name="line.822"></a>
-<span class="sourceLineNo">823</span>     */<a name="line.823"></a>
-<span class="sourceLineNo">824</span>    public int seekTo(Cell key, boolean rewind) throws IOException {<a name="line.824"></a>
-<span class="sourceLineNo">825</span>      HFileBlockIndex.BlockIndexReader indexReader = reader.getDataBlockIndexReader();<a name="line.825"></a>
-<span class="sourceLineNo">826</span>      BlockWithScanInfo blockWithScanInfo = indexReader.loadDataBlockWithScanInfo(key, curBlock,<a name="line.826"></a>
-<span class="sourceLineNo">827</span>          cacheBlocks, pread, isCompaction, getEffectiveDataBlockEncoding());<a name="line.827"></a>
-<span class="sourceLineNo">828</span>      if (blockWithScanInfo == null || blockWithScanInfo.getHFileBlock() == null) {<a name="line.828"></a>
-<span class="sourceLineNo">829</span>        // This happens if the key e.g. falls before the beginning of the<a name="line.829"></a>
-<span class="sourceLineNo">830</span>        // file.<a name="line.830"></a>
-<span class="sourceLineNo">831</span>        return -1;<a name="line.831"></a>
-<span class="sourceLineNo">832</span>      }<a name="line.832"></a>
-<span class="sourceLineNo">833</span>      return loadBlockAndSeekToKey(blockWithScanInfo.getHFileBlock(),<a name="line.833"></a>
-<span class="sourceLineNo">834</span>          blockWithScanInfo.getNextIndexedKey(), rewind, key, false);<a name="line.834"></a>
-<span class="sourceLineNo">835</span>    }<a name="line.835"></a>
-<span class="sourceLineNo">836</span><a name="line.836"></a>
-<span class="sourceLineNo">837</span>    @Override<a name="line.837"></a>
-<span class="sourceLineNo">838</span>    public boolean seekBefore(Cell key) throws IOException {<a name="line.838"></a>
-<span class="sourceLineNo">839</span>      HFileBlock seekToBlock = reader.getDataBlockIndexReader().seekToDataBlock(key, curBlock,<a name="line.839"></a>
-<span class="sourceLineNo">840</span>          cacheBlocks, pread, isCompaction, reader.getEffectiveEncodingInCache(isCompaction));<a name="line.840"></a>
-<span class="sourceLineNo">841</span>      if (seekToBlock == null) {<a name="line.841"></a>
-<span class="sourceLineNo">842</span>        return false;<a name="line.842"></a>
-<span class="sourceLineNo">843</span>      }<a name="line.843"></a>
-<span class="sourceLineNo">844</span>      Cell firstKey = getFirstKeyCellInBlock(seekToBlock);<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      if (reader.getComparator()<a name="line.845"></a>
-<span class="sourceLineNo">846</span>           .compareKeyIgnoresMvcc(firstKey, key) &gt;= 0) {<a name="line.846"></a>
-<span class="sourceLineNo">847</span>        long previousBlockOffset = seekToBlock.getPrevBlockOffset();<a name="line.847"></a>
-<span class="sourceLineNo">848</span>        // The key we are interested in<a name="line.848"></a>
-<span class="sourceLineNo">849</span>        if (previousBlockOffset == -1) {<a name="line.849"></a>
-<span class="sourceLineNo">850</span>          // we have a 'problem', the key we want is the first of the file.<a name="line.850"></a>
-<span class="sourceLineNo">851</span>          return false;<a name="line.851"></a>
-<span class="sourceLineNo">852</span>        }<a name="line.852"></a>
-<span class="sourceLineNo">853</span><a name="line.853"></a>
-<span class="sourceLineNo">854</span>        // The first key in the current block 'seekToBlock' is greater than the given <a name="line.854"></a>
-<span class="sourceLineNo">855</span>        // seekBefore key. We will go ahead by reading the next block that satisfies the<a name="line.855"></a>
-<span class="sourceLineNo">856</span>        // given key. Return the current block before reading the next one.<a name="line.856"></a>
-<span class="sourceLineNo">857</span>        reader.returnBlock(seekToBlock);<a name="line.857"></a>
-<span class="sourceLineNo">858</span>        // It is important that we compute and pass onDiskSize to the block<a name="line.858"></a>
-<span class="sourceLineNo">859</span>        // reader so that it does not have to read the header separately to<a name="line.859"></a>
-<span class="sourceLineNo">860</span>        // figure out the size.  Currently, we do not have a way to do this<a name="line.860"></a>
-<span class="sourceLineNo">861</span>        // correctly in the general case however.<a name="line.861"></a>
-<span class="sourceLineNo">862</span>        // TODO: See https://issues.apache.org/jira/browse/HBASE-14576<a name="line.862"></a>
-<span class="sourceLineNo">863</span>        int prevBlockSize = -1;<a name="line.863"></a>
-<span class="sourceLineNo">864</span>        seekToBlock = reader.readBlock(previousBlockOffset,<a name="line.864"></a>
-<span class="sourceLineNo">865</span>            prevBlockSize, cacheBlocks,<a name="line.865"></a>
-<span class="sourceLineNo">866</span>            pread, isCompaction, true, BlockType.DATA, getEffectiveDataBlockEncoding());<a name="line.866"></a>
-<span class="sourceLineNo">867</span>        // TODO shortcut: seek forward in this block to the last key of the<a name="line.867"></a>
-<span class="sourceLineNo">868</span>        // block.<a name="line.868"></a>
-<span class="sourceLineNo">869</span>      }<a name="line.869"></a>
-<span class="sourceLineNo">870</span>      loadBlockAndSeekToKey(seekToBlock, firstKey, true, key, true);<a name="line.870"></a>
-<span class="sourceLineNo">871</span>      return true;<a name="line.871"></a>
-<span class="sourceLineNo">872</span>    }<a name="line.872"></a>
-<span class="sourceLineNo">873</span><a name="line.873"></a>
-<span class="sourceLineNo">874</span>    /**<a name="line.874"></a>
-<span class="sourceLineNo">875</span>     * Scans blocks in the "scanned" section of the {@link HFile} until the next<a name="line.875"></a>
-<span class="sourceLineNo">876</span>     * data block is found.<a name="line.876"></a>
-<span class="sourceLineNo">877</span>     *<a name="line.877"></a>
-<span class="sourceLineNo">878</span>     * @return the next block, or null if there are no more data blocks<a name="line.878"></a>
-<span class="sourceLineNo">879</span>     * @throws IOException<a name="line.879"></a>
-<span class="sourceLineNo">880</span>     */<a name="line.880"></a>
-<span class="sourceLineNo">881</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="NP_NULL_ON_SOME_PATH",<a name="line.881"></a>
-<span class="sourceLineNo">882</span>        justification="Yeah, unnecessary null check; could do w/ clean up")<a name="line.882"></a>
-<span class="sourceLineNo">883</span>    protected HFileBlock readNextDataBlock() throws IOException {<a name="line.883"></a>
-<span class="sourceLineNo">884</span>      long lastDataBlockOffset = reader.getTrailer().getLastDataBlockOffset();<a name="line.884"></a>
-<span class="sourceLineNo">885</span>      if (curBlock == null)<a name="line.885"></a>
-<span class="sourceLineNo">886</span>        return null;<a name="line.886"></a>
-<span class="sourceLineNo">887</span><a name="line.887"></a>
-<span class="sourceLineNo">888</span>      HFileBlock block = this.curBlock;<a name="line.888"></a>
-<span class="sourceLineNo">889</span><a name="line.889"></a>
-<span class="sourceLineNo">890</span>      do {<a name="line.890"></a>
-<span class="sourceLineNo">891</span>        if (block.getOffset() &gt;= lastDataBlockOffset) {<a name="line.891"></a>
-<span class="sourceLineNo">892</span>          return null;<a name="line.892"></a>
-<span class="sourceLineNo">893</span>        }<a name="line.893"></a>
-<span class="sourceLineNo">894</span><a name="line.894"></a>
-<span class="sourceLineNo">895</span>        if (block.getOffset() &lt; 0) {<a name="line.895"></a>
-<span class="sourceLineNo">896</span>          throw new IOException("Invalid block file offset: " + block);<a name="line.896"></a>
-<span class="sourceLineNo">897</span>        }<a name="line.897"></a>
-<span class="sourceLineNo">898</span><a name="line.898"></a>
-<span class="sourceLineNo">899</span>        // We are reading the next block without block type validation, because<a name="line.899"></a>
-<span class="sourceLineNo">900</span>        // it might turn out to be a non-data block.<a name="line.900"></a>
-<span class="sourceLineNo">901</span>        block = reader.readBlock(block.getOffset()<a name="line.901"></a>
-<span class="sourceLineNo">902</span>            + block.getOnDiskSizeWithHeader(),<a name="line.902"></a>
-<span class="sourceLineNo">903</span>            block.getNextBlockOnDiskSizeWithHeader(), cacheBlocks, pread,<a name="line.903"></a>
-<span class="sourceLineNo">904</span>            isCompaction, true, null, getEffectiveDataBlockEncoding());<a name="line.904"></a>
-<span class="sourceLineNo">905</span>        if (block != null &amp;&amp; !block.getBlockType().isData()) { // Findbugs: NP_NULL_ON_SOME_PATH<a name="line.905"></a>
-<span class="sourceLineNo">906</span>          // Whatever block we read we will be returning it unless<a name="line.906"></a>
-<span class="sourceLineNo">907</span>          // it is a datablock. Just in case the blocks are non data blocks<a name="line.907"></a>
-<span class="sourceLineNo">908</span>          reader.returnBlock(block);<a name="line.908"></a>
-<span class="sourceLineNo">909</span>        }<a name="line.909"></a>
-<span class="sourceLineNo">910</span>      } while (!block.getBlockType().isData());<a name="line.910"></a>
-<span class="sourceLineNo">911</span><a name="line.911"></a>
-<span class="sourceLineNo">912</span>      return block;<a name="line.912"></a>
-<span class="sourceLineNo">913</span>    }<a name="line.913"></a>
-<span class="sourceLineNo">914</span><a name="line.914"></a>
-<span class="sourceLineNo">915</span>    public DataBlockEncoding getEffectiveDataBlockEncoding() {<a name="line.915"></a>
-<span class="sourceLineNo">916</span>      return this.reader.getEffectiveEncodingInCache(isCompaction);<a name="line.916"></a>
-<span class="sourceLineNo">917</span>    }<a name="line.917"></a>
-<span class="sourceLineNo">918</span><a name="line.918"></a>
-<span class="sourceLineNo">919</span>    @Override<a name="line.919"></a>
-<span class="sourceLineNo">920</span>    public Cell getCell() {<a name="line.920"></a>
-<span class="sourceLineNo">921</span>      if (!isSeeked())<a name="line.921"></a>
-<span class="sourceLineNo">922</span>        return null;<a name="line.922"></a>
-<span class="sourceLineNo">923</span><a name="line.923"></a>
-<span class="sourceLineNo">924</span>      Cell ret;<a name="line.924"></a>
-<span class="sourceLineNo">925</span>      int cellBufSize = getCellBufSize();<a name="line.925"></a>
-<span class="sourceLineNo">926</span>      long seqId = 0l;<a name="line.926"></a>
-<span class="sourceLineNo">927</span>      if (this.reader.shouldIncludeMemstoreTS()) {<a name="line.927"></a>
-<span class="sourceLineNo">928</span>        seqId = currMemstoreTS;<a name="line.928"></a>
-<span class="sourceLineNo">929</span>      }<a name="line.929"></a>
-<span class="sourceLineNo">930</span>      if (blockBuffer.hasArray()) {<a name="line.930"></a>
-<span class="sourceLineNo">931</span>        // TODO : reduce the varieties of KV here. Check if based on a boolean<a name="line.931"></a>
-<span class="sourceLineNo">932</span>        // we can handle the 'no tags' case.<a name="line.932"></a>
-<span class="sourceLineNo">933</span>        if (currTagsLen &gt; 0) {<a name="line.933"></a>
-<span class="sourceLineNo">934</span>          if (this.curBlock.usesSharedMemory()) {<a name="line.934"></a>
-<span class="sourceLineNo">935</span>            ret = new ShareableMemoryKeyValue(blockBuffer.array(), blockBuffer.arrayOffset()<a name="line.935"></a>
-<span class="sourceLineNo">936</span>              + blockBuffer.position(), getCellBufSize(), seqId);<a name="line.936"></a>
-<span class="sourceLineNo">937</span>          } else {<a name="line.937"></a>
-<span class="sourceLineNo">938</span>            ret = new SizeCachedKeyValue(blockBuffer.array(), blockBuffer.arrayOffset()<a name="line.938"></a>
-<span class="sourceLineNo">939</span>                    + blockBuffer.position(), cellBufSize, seqId);<a name="line.939"></a>
-<span class="sourceLineNo">940</span>          }<a name="line.940"></a>
-<span class="sourceLineNo">941</span>        } else {<a name="line.941"></a>
-<span class="sourceLine

<TRUNCATED>

[47/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/apidocs/org/apache/hadoop/hbase/class-use/Cell.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/class-use/Cell.html b/apidocs/org/apache/hadoop/hbase/class-use/Cell.html
index 31a85eb..cb78c4b 100644
--- a/apidocs/org/apache/hadoop/hbase/class-use/Cell.html
+++ b/apidocs/org/apache/hadoop/hbase/class-use/Cell.html
@@ -111,22 +111,6 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <!--   -->
 </a>
 <h3>Uses of <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> in <a href="../../../../../org/apache/hadoop/hbase/package-summary.html">org.apache.hadoop.hbase</a></h3>
-<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
-<caption><span>Fields in <a href="../../../../../org/apache/hadoop/hbase/package-summary.html">org.apache.hadoop.hbase</a> declared as <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Field and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
-<td class="colLast"><span class="strong">HConstants.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/HConstants.html#NO_NEXT_INDEXED_KEY">NO_NEXT_INDEXED_KEY</a></strong></code>
-<div class="block">The byte array represents for NO_NEXT_INDEXED_KEY;
- The actual value is irrelevant because this is always compared by reference.</div>
-</td>
-</tr>
-</tbody>
-</table>
 <table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
 <caption><span>Methods in <a href="../../../../../org/apache/hadoop/hbase/package-summary.html">org.apache.hadoop.hbase</a> that return <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/apidocs/org/apache/hadoop/hbase/client/Scan.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/Scan.html b/apidocs/org/apache/hadoop/hbase/client/Scan.html
index bc45fd6..c34d5f6 100644
--- a/apidocs/org/apache/hadoop/hbase/client/Scan.html
+++ b/apidocs/org/apache/hadoop/hbase/client/Scan.html
@@ -785,7 +785,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockListLast">
 <li class="blockList">
 <h4>Scan</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.261">Scan</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.262">Scan</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get)</pre>
 <div class="block">Builds a scan object with the same specs as get.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>get</code> - get to model scan after</dd></dl>
 </li>
@@ -804,7 +804,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>isGetScan</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.283">isGetScan</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.285">isGetScan</a>()</pre>
 </li>
 </ul>
 <a name="addFamily(byte[])">
@@ -813,7 +813,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>addFamily</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.298">addFamily</a>(byte[]&nbsp;family)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.300">addFamily</a>(byte[]&nbsp;family)</pre>
 <div class="block">Get all columns from the specified family.
  <p>
  Overrides previous calls to addColumn for this family.</div>
@@ -827,7 +827,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>addColumn</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.312">addColumn</a>(byte[]&nbsp;family,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.314">addColumn</a>(byte[]&nbsp;family,
              byte[]&nbsp;qualifier)</pre>
 <div class="block">Get the column from the specified family with the specified qualifier.
  <p>
@@ -842,7 +842,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setTimeRange</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.336">setTimeRange</a>(long&nbsp;minStamp,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.338">setTimeRange</a>(long&nbsp;minStamp,
                 long&nbsp;maxStamp)
                   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">Get versions of columns only within the specified timestamp range,
@@ -862,7 +862,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setTimeStamp</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.351">setTimeStamp</a>(long&nbsp;timestamp)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.353">setTimeStamp</a>(long&nbsp;timestamp)
                   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">Get versions of columns with the specified timestamp. Note, default maximum
  versions to return is 1.  If your time range spans more than one version
@@ -881,7 +881,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setColumnFamilyTimeRange</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.363">setColumnFamilyTimeRange</a>(byte[]&nbsp;cf,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.365">setColumnFamilyTimeRange</a>(byte[]&nbsp;cf,
                             long&nbsp;minStamp,
                             long&nbsp;maxStamp)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Query.html#setColumnFamilyTimeRange(byte[],%20long,%20long)">Query</a></code></strong></div>
@@ -903,7 +903,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setStartRow</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.375">setStartRow</a>(byte[]&nbsp;startRow)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.377">setStartRow</a>(byte[]&nbsp;startRow)</pre>
 <div class="block">Set the start row of the scan.
  <p>
  If the specified row does not exist, the Scanner will start from the
@@ -918,7 +918,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setStopRow</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.391">setStopRow</a>(byte[]&nbsp;stopRow)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.393">setStopRow</a>(byte[]&nbsp;stopRow)</pre>
 <div class="block">Set the stop row of the scan.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>stopRow</code> - row to end at (exclusive)
  <p>
@@ -936,7 +936,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setRowPrefixFilter</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.407">setRowPrefixFilter</a>(byte[]&nbsp;rowPrefix)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.409">setRowPrefixFilter</a>(byte[]&nbsp;rowPrefix)</pre>
 <div class="block"><p>Set a filter (using stopRow and startRow) so the result set only contains rows where the
  rowKey starts with the specified prefix.</p>
  <p>This is a utility method that converts the desired rowPrefix into the appropriate values
@@ -954,7 +954,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setMaxVersions</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.464">setMaxVersions</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.466">setMaxVersions</a>()</pre>
 <div class="block">Get all available versions.</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>this</dd></dl>
 </li>
@@ -965,7 +965,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setMaxVersions</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.474">setMaxVersions</a>(int&nbsp;maxVersions)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.476">setMaxVersions</a>(int&nbsp;maxVersions)</pre>
 <div class="block">Get up to the specified number of versions of each column.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>maxVersions</code> - maximum versions for each column</dd>
 <dt><span class="strong">Returns:</span></dt><dd>this</dd></dl>
@@ -977,7 +977,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setBatch</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.483">setBatch</a>(int&nbsp;batch)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.485">setBatch</a>(int&nbsp;batch)</pre>
 <div class="block">Set the maximum number of values to return for each call to next()</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>batch</code> - the maximum number of values</dd></dl>
 </li>
@@ -988,7 +988,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setMaxResultsPerColumnFamily</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.497">setMaxResultsPerColumnFamily</a>(int&nbsp;limit)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.499">setMaxResultsPerColumnFamily</a>(int&nbsp;limit)</pre>
 <div class="block">Set the maximum number of values to return per row per Column Family</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>limit</code> - the maximum number of values returned / row / CF</dd></dl>
 </li>
@@ -999,7 +999,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setRowOffsetPerColumnFamily</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.506">setRowOffsetPerColumnFamily</a>(int&nbsp;offset)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.508">setRowOffsetPerColumnFamily</a>(int&nbsp;offset)</pre>
 <div class="block">Set offset for the row per Column Family.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>offset</code> - is the number of kvs that will be skipped.</dd></dl>
 </li>
@@ -1010,7 +1010,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setCaching</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.518">setCaching</a>(int&nbsp;caching)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.520">setCaching</a>(int&nbsp;caching)</pre>
 <div class="block">Set the number of rows for caching that will be passed to scanners.
  If not set, the Configuration setting <a href="../../../../../org/apache/hadoop/hbase/HConstants.html#HBASE_CLIENT_SCANNER_CACHING"><code>HConstants.HBASE_CLIENT_SCANNER_CACHING</code></a> will
  apply.
@@ -1024,7 +1024,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>getMaxResultSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.526">getMaxResultSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.528">getMaxResultSize</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the maximum result size in bytes. See <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setMaxResultSize(long)"><code>setMaxResultSize(long)</code></a></dd></dl>
 </li>
 </ul>
@@ -1034,7 +1034,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setMaxResultSize</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.537">setMaxResultSize</a>(long&nbsp;maxResultSize)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.539">setMaxResultSize</a>(long&nbsp;maxResultSize)</pre>
 <div class="block">Set the maximum result size. The default is -1; this means that no specific
  maximum result size will be set for this scan, and the global configured
  value will be used instead. (Defaults to unlimited).</div>
@@ -1047,7 +1047,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setFilter</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.543">setFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;filter)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.545">setFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;filter)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Query.html#setFilter(org.apache.hadoop.hbase.filter.Filter)">Query</a></code></strong></div>
 <div class="block">Apply the specified server-side filter when performing the Query.
  Only <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue(org.apache.hadoop.hbase.Cell)"><code>Filter.filterKeyValue(Cell)</code></a> is called AFTER all tests
@@ -1065,7 +1065,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setFamilyMap</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.553">setFamilyMap</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;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/util/NavigableSet.html?is-external=true" title="class or interface in java.util">NavigableSet</a>&lt;byte[]&gt;&gt;&nbsp;familyMap)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.555">setFamilyMap</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;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/util/NavigableSet.html?is-external=true" title="class or interface in java.util">NavigableSet</a>&lt;byte[]&gt;&gt;&nbsp;familyMap)</pre>
 <div class="block">Setting the familyMap</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>familyMap</code> - map of family to qualifier</dd>
 <dt><span class="strong">Returns:</span></dt><dd>this</dd></dl>
@@ -1077,7 +1077,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>getFamilyMap</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;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/util/NavigableSet.html?is-external=true" title="class or interface in java.util">NavigableSet</a>&lt;byte[]&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.562">getFamilyMap</a>()</pre>
+<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;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/util/NavigableSet.html?is-external=true" title="class or interface in java.util">NavigableSet</a>&lt;byte[]&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.564">getFamilyMap</a>()</pre>
 <div class="block">Getting the familyMap</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>familyMap</dd></dl>
 </li>
@@ -1088,7 +1088,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>numFamilies</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.569">numFamilies</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.571">numFamilies</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the number of families in familyMap</dd></dl>
 </li>
 </ul>
@@ -1098,7 +1098,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>hasFamilies</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.579">hasFamilies</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.581">hasFamilies</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>true if familyMap is non empty, false otherwise</dd></dl>
 </li>
 </ul>
@@ -1108,7 +1108,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>getFamilies</h4>
-<pre>public&nbsp;byte[][]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.586">getFamilies</a>()</pre>
+<pre>public&nbsp;byte[][]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.588">getFamilies</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the keys of the familyMap</dd></dl>
 </li>
 </ul>
@@ -1118,7 +1118,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>getStartRow</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.596">getStartRow</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.598">getStartRow</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the startrow</dd></dl>
 </li>
 </ul>
@@ -1128,7 +1128,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>getStopRow</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.603">getStopRow</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.605">getStopRow</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the stoprow</dd></dl>
 </li>
 </ul>
@@ -1138,7 +1138,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>getMaxVersions</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.610">getMaxVersions</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.612">getMaxVersions</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the max number of versions to fetch</dd></dl>
 </li>
 </ul>
@@ -1148,7 +1148,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>getBatch</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.617">getBatch</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.619">getBatch</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>maximum number of values to return for a single call to next()</dd></dl>
 </li>
 </ul>
@@ -1158,7 +1158,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>getMaxResultsPerColumnFamily</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.624">getMaxResultsPerColumnFamily</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.626">getMaxResultsPerColumnFamily</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>maximum number of values to return per row per CF</dd></dl>
 </li>
 </ul>
@@ -1168,7 +1168,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>getRowOffsetPerColumnFamily</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.633">getRowOffsetPerColumnFamily</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.635">getRowOffsetPerColumnFamily</a>()</pre>
 <div class="block">Method for retrieving the scan's offset per row per column
  family (#kvs to be skipped)</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>row offset</dd></dl>
@@ -1180,7 +1180,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>getCaching</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.640">getCaching</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.642">getCaching</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>caching the number of rows fetched when calling next on a scanner</dd></dl>
 </li>
 </ul>
@@ -1190,7 +1190,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>getTimeRange</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/io/TimeRange.html" title="class in org.apache.hadoop.hbase.io">TimeRange</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.647">getTimeRange</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/io/TimeRange.html" title="class in org.apache.hadoop.hbase.io">TimeRange</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.649">getTimeRange</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>TimeRange</dd></dl>
 </li>
 </ul>
@@ -1200,7 +1200,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>getFilter</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.655">getFilter</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.657">getFilter</a>()</pre>
 <dl>
 <dt><strong>Overrides:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/client/Query.html#getFilter()">getFilter</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Query.html" title="class in org.apache.hadoop.hbase.client">Query</a></code></dd>
@@ -1213,7 +1213,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>hasFilter</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.662">hasFilter</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.664">hasFilter</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>true is a filter has been specified, false if not</dd></dl>
 </li>
 </ul>
@@ -1223,7 +1223,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setCacheBlocks</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.676">setCacheBlocks</a>(boolean&nbsp;cacheBlocks)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.678">setCacheBlocks</a>(boolean&nbsp;cacheBlocks)</pre>
 <div class="block">Set whether blocks should be cached for this Scan.
  <p>
  This is true by default.  When true, default settings of the table and
@@ -1239,7 +1239,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>getCacheBlocks</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.686">getCacheBlocks</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.688">getCacheBlocks</a>()</pre>
 <div class="block">Get whether blocks should be cached for this Scan.</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>true if default caching should be used, false if blocks should not
  be cached</dd></dl>
@@ -1251,7 +1251,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setReversed</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.698">setReversed</a>(boolean&nbsp;reversed)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.700">setReversed</a>(boolean&nbsp;reversed)</pre>
 <div class="block">Set whether this scan is a reversed one
  <p>
  This is false by default which means forward(normal) scan.</div>
@@ -1265,7 +1265,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>isReversed</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.707">isReversed</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.709">isReversed</a>()</pre>
 <div class="block">Get whether this scan is a reversed one.</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>true if backward scan, false if forward(default) scan</dd></dl>
 </li>
@@ -1276,7 +1276,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setAllowPartialResults</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.718">setAllowPartialResults</a>(boolean&nbsp;allowPartialResults)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.720">setAllowPartialResults</a>(boolean&nbsp;allowPartialResults)</pre>
 <div class="block">Setting whether the caller wants to see the partial results that may be returned from the
  server. By default this value is false and the complete results will be assembled client side
  before being delivered to the caller.</div>
@@ -1290,7 +1290,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>getAllowPartialResults</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.728">getAllowPartialResults</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.730">getAllowPartialResults</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>true when the constructor of this scan understands that the results they will see may
          only represent a partial portion of a row. The entire row would be retrieved by
          subsequent calls to <a href="../../../../../org/apache/hadoop/hbase/client/ResultScanner.html#next()"><code>ResultScanner.next()</code></a></dd></dl>
@@ -1302,7 +1302,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setLoadColumnFamiliesOnDemand</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.748">setLoadColumnFamiliesOnDemand</a>(boolean&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.750">setLoadColumnFamiliesOnDemand</a>(boolean&nbsp;value)</pre>
 <div class="block">Set the value indicating whether loading CFs on demand should be allowed (cluster
  default is false). On-demand CF loading doesn't load column families until necessary, e.g.
  if you filter on one column, the other column family data will be loaded only for the rows
@@ -1325,7 +1325,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>getLoadColumnFamiliesOnDemandValue</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.756">getLoadColumnFamiliesOnDemandValue</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.758">getLoadColumnFamiliesOnDemandValue</a>()</pre>
 <div class="block">Get the raw loadColumnFamiliesOnDemand setting; if it's not set, can be null.</div>
 </li>
 </ul>
@@ -1335,7 +1335,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>doLoadColumnFamiliesOnDemand</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.763">doLoadColumnFamiliesOnDemand</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.765">doLoadColumnFamiliesOnDemand</a>()</pre>
 <div class="block">Get the logical value indicating whether on-demand CF loading should be allowed.</div>
 </li>
 </ul>
@@ -1345,7 +1345,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>getFingerprint</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/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.775">getFingerprint</a>()</pre>
+<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/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.777">getFingerprint</a>()</pre>
 <div class="block">Compile the table and column family (i.e. schema) information
  into a String. Useful for parsing and aggregation by debugging,
  logging, and administration tools.</div>
@@ -1361,7 +1361,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>toMap</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/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.799">toMap</a>(int&nbsp;maxCols)</pre>
+<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/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.801">toMap</a>(int&nbsp;maxCols)</pre>
 <div class="block">Compile the details beyond the scope of getFingerprint (row, columns,
  timestamps, etc.) into a Map along with the fingerprinted information.
  Useful for debugging, logging, and administration tools.</div>
@@ -1378,7 +1378,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setRaw</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.863">setRaw</a>(boolean&nbsp;raw)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.865">setRaw</a>(boolean&nbsp;raw)</pre>
 <div class="block">Enable/disable "raw" mode for this scan.
  If "raw" is enabled the scan will return all
  delete marker and deleted rows that have not
@@ -1395,7 +1395,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>isRaw</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.871">isRaw</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.873">isRaw</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>True if this Scan is in "raw" mode.</dd></dl>
 </li>
 </ul>
@@ -1405,7 +1405,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setSmall</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.898">setSmall</a>(boolean&nbsp;small)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.900">setSmall</a>(boolean&nbsp;small)</pre>
 <div class="block">Set whether this scan is a small scan
  <p>
  Small scan should use pread and big scan can use seek + read
@@ -1431,7 +1431,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>isSmall</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.907">isSmall</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.909">isSmall</a>()</pre>
 <div class="block">Get whether this scan is a small scan</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>true if small scan</dd></dl>
 </li>
@@ -1442,7 +1442,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setAttribute</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.912">setAttribute</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="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.914">setAttribute</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,
                 byte[]&nbsp;value)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Attributes.html#setAttribute(java.lang.String,%20byte[])">Attributes</a></code></strong></div>
 <div class="block">Sets an attribute.
@@ -1462,7 +1462,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setId</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.917">setId</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;id)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.919">setId</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;id)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/OperationWithAttributes.html#setId(java.lang.String)">OperationWithAttributes</a></code></strong></div>
 <div class="block">This method allows you to set an identifier on an operation. The original
  motivation for this was to allow the identifier to be used in slow query
@@ -1481,7 +1481,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setAuthorizations</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.922">setAuthorizations</a>(org.apache.hadoop.hbase.security.visibility.Authorizations&nbsp;authorizations)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.924">setAuthorizations</a>(org.apache.hadoop.hbase.security.visibility.Authorizations&nbsp;authorizations)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Query.html#setAuthorizations(org.apache.hadoop.hbase.security.visibility.Authorizations)">Query</a></code></strong></div>
 <div class="block">Sets the authorizations to be used by this Query</div>
 <dl>
@@ -1496,7 +1496,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setACL</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.927">setACL</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>,org.apache.hadoop.hbase.security.access.Permission&gt;&nbsp;perms)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.929">setACL</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>,org.apache.hadoop.hbase.security.access.Permission&gt;&nbsp;perms)</pre>
 <dl>
 <dt><strong>Overrides:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/client/Query.html#setACL(java.util.Map)">setACL</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Query.html" title="class in org.apache.hadoop.hbase.client">Query</a></code></dd>
@@ -1509,7 +1509,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setACL</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.932">setACL</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;user,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.934">setACL</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;user,
           org.apache.hadoop.hbase.security.access.Permission&nbsp;perms)</pre>
 <dl>
 <dt><strong>Overrides:</strong></dt>
@@ -1523,7 +1523,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setConsistency</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.937">setConsistency</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Consistency.html" title="enum in org.apache.hadoop.hbase.client">Consistency</a>&nbsp;consistency)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.939">setConsistency</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Consistency.html" title="enum in org.apache.hadoop.hbase.client">Consistency</a>&nbsp;consistency)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Query.html#setConsistency(org.apache.hadoop.hbase.client.Consistency)">Query</a></code></strong></div>
 <div class="block">Sets the consistency level for this operation</div>
 <dl>
@@ -1538,7 +1538,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setReplicaId</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.942">setReplicaId</a>(int&nbsp;Id)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.944">setReplicaId</a>(int&nbsp;Id)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Query.html#setReplicaId(int)">Query</a></code></strong></div>
 <div class="block">Specify region replica id where Query will fetch data from. Use this together with
  <a href="../../../../../org/apache/hadoop/hbase/client/Query.html#setConsistency(org.apache.hadoop.hbase.client.Consistency)"><code>Query.setConsistency(Consistency)</code></a> passing <a href="../../../../../org/apache/hadoop/hbase/client/Consistency.html#TIMELINE"><code>Consistency.TIMELINE</code></a> to read data from
@@ -1556,7 +1556,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setIsolationLevel</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.947">setIsolationLevel</a>(<a href="../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client">IsolationLevel</a>&nbsp;level)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.949">setIsolationLevel</a>(<a href="../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client">IsolationLevel</a>&nbsp;level)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Query.html#setIsolationLevel(org.apache.hadoop.hbase.client.IsolationLevel)">Query</a></code></strong></div>
 <div class="block">Set the isolation level for this query. If the
  isolation level is set to READ_UNCOMMITTED, then
@@ -1578,7 +1578,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setScanMetricsEnabled</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.955">setScanMetricsEnabled</a>(boolean&nbsp;enabled)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.957">setScanMetricsEnabled</a>(boolean&nbsp;enabled)</pre>
 <div class="block">Enable collection of <code>ScanMetrics</code>. For advanced users.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>enabled</code> - Set to true to enable accumulating scan metrics</dd></dl>
 </li>
@@ -1589,7 +1589,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>isScanMetricsEnabled</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.963">isScanMetricsEnabled</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.965">isScanMetricsEnabled</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>True if collection of scan metrics is enabled. For advanced users.</dd></dl>
 </li>
 </ul>
@@ -1599,7 +1599,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>getScanMetrics</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.client.metrics.ScanMetrics&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.972">getScanMetrics</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.hbase.client.metrics.ScanMetrics&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.974">getScanMetrics</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>Metrics on this Scan, if metrics were enabled.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setScanMetricsEnabled(boolean)"><code>setScanMetricsEnabled(boolean)</code></a></dd></dl>
 </li>
 </ul>
@@ -1609,7 +1609,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>isAsyncPrefetch</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.978">isAsyncPrefetch</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.980">isAsyncPrefetch</a>()</pre>
 </li>
 </ul>
 <a name="setAsyncPrefetch(boolean)">
@@ -1618,7 +1618,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockListLast">
 <li class="blockList">
 <h4>setAsyncPrefetch</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.982">setAsyncPrefetch</a>(boolean&nbsp;asyncPrefetch)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.984">setAsyncPrefetch</a>(boolean&nbsp;asyncPrefetch)</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/apidocs/org/apache/hadoop/hbase/mapreduce/CellCounter.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/mapreduce/CellCounter.html b/apidocs/org/apache/hadoop/hbase/mapreduce/CellCounter.html
index b3043f1..33bf06a 100644
--- a/apidocs/org/apache/hadoop/hbase/mapreduce/CellCounter.html
+++ b/apidocs/org/apache/hadoop/hbase/mapreduce/CellCounter.html
@@ -235,7 +235,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>createSubmittableJob</h4>
-<pre>public static&nbsp;org.apache.hadoop.mapreduce.Job&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/CellCounter.html#line.188">createSubmittableJob</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public static&nbsp;org.apache.hadoop.mapreduce.Job&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/CellCounter.html#line.189">createSubmittableJob</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                                    <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;args)
                                                             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">Sets up the actual job.</div>
@@ -251,7 +251,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>run</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/CellCounter.html#line.272">run</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;args)
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/CellCounter.html#line.273">run</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;args)
         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><strong>Specified by:</strong></dt>
@@ -266,7 +266,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>main</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/CellCounter.html#line.297">main</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;args)
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/CellCounter.html#line.298">main</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;args)
                  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">Main entry point.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>args</code> - The command line parameters.</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/apidocs/src-html/org/apache/hadoop/hbase/CellUtil.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/CellUtil.html b/apidocs/src-html/org/apache/hadoop/hbase/CellUtil.html
index c554a04..37288b5 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/CellUtil.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/CellUtil.html
@@ -850,7 +850,7 @@
 <span class="sourceLineNo">842</span>    final int tagsLength = cell.getTagsLength();<a name="line.842"></a>
 <span class="sourceLineNo">843</span>    // Save an object allocation where we can<a name="line.843"></a>
 <span class="sourceLineNo">844</span>    if (tagsLength == 0) {<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      return EMPTY_TAGS_ITR;<a name="line.845"></a>
+<span class="sourceLineNo">845</span>      return TagUtil.EMPTY_TAGS_ITR;<a name="line.845"></a>
 <span class="sourceLineNo">846</span>    }<a name="line.846"></a>
 <span class="sourceLineNo">847</span>    if (cell instanceof ByteBufferedCell) {<a name="line.847"></a>
 <span class="sourceLineNo">848</span>      return tagsIterator(((ByteBufferedCell) cell).getTagsByteBuffer(),<a name="line.848"></a>
@@ -1396,7 +1396,7 @@
 <span class="sourceLineNo">1388</span><a name="line.1388"></a>
 <span class="sourceLineNo">1389</span>  /**<a name="line.1389"></a>
 <span class="sourceLineNo">1390</span>   * Compares the row of two keyvalues for equality<a name="line.1390"></a>
-<span class="sourceLineNo">1391</span>   * <a name="line.1391"></a>
+<span class="sourceLineNo">1391</span>   *<a name="line.1391"></a>
 <span class="sourceLineNo">1392</span>   * @param left<a name="line.1392"></a>
 <span class="sourceLineNo">1393</span>   * @param right<a name="line.1393"></a>
 <span class="sourceLineNo">1394</span>   * @return True if rows match.<a name="line.1394"></a>


[11/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html
index e8248d4..c36648a 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html
@@ -59,1847 +59,1848 @@
 <span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.io.encoding.HFileBlockDecodingContext;<a name="line.51"></a>
 <span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.io.hfile.HFile.FileInfo;<a name="line.52"></a>
 <span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.nio.ByteBuff;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.security.EncryptionUtil;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.util.ByteBufferUtils;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.util.IdLock;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.util.ObjectIntPair;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.io.WritableUtils;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.htrace.Trace;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.htrace.TraceScope;<a name="line.61"></a>
-<span class="sourceLineNo">062</span><a name="line.62"></a>
-<span class="sourceLineNo">063</span>import com.google.common.annotations.VisibleForTesting;<a name="line.63"></a>
-<span class="sourceLineNo">064</span><a name="line.64"></a>
-<span class="sourceLineNo">065</span>/**<a name="line.65"></a>
-<span class="sourceLineNo">066</span> * Implementation that can handle all hfile versions of {@link HFile.Reader}.<a name="line.66"></a>
-<span class="sourceLineNo">067</span> */<a name="line.67"></a>
-<span class="sourceLineNo">068</span>@InterfaceAudience.Private<a name="line.68"></a>
-<span class="sourceLineNo">069</span>@edu.umd.cs.findbugs.annotations.SuppressWarnings(value="URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")<a name="line.69"></a>
-<span class="sourceLineNo">070</span>public class HFileReaderImpl implements HFile.Reader, Configurable {<a name="line.70"></a>
-<span class="sourceLineNo">071</span>  // This class is HFileReaderV3 + HFileReaderV2 + AbstractHFileReader all squashed together into<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  // one file.  Ditto for all the HFileReader.ScannerV? implementations. I was running up against<a name="line.72"></a>
-<span class="sourceLineNo">073</span>  // the MaxInlineLevel limit because too many tiers involved reading from an hfile. Was also hard<a name="line.73"></a>
-<span class="sourceLineNo">074</span>  // to navigate the source code when so many classes participating in read.<a name="line.74"></a>
-<span class="sourceLineNo">075</span>  private static final Log LOG = LogFactory.getLog(HFileReaderImpl.class);<a name="line.75"></a>
-<span class="sourceLineNo">076</span><a name="line.76"></a>
-<span class="sourceLineNo">077</span>  /** Data block index reader keeping the root data index in memory */<a name="line.77"></a>
-<span class="sourceLineNo">078</span>  private HFileBlockIndex.CellBasedKeyBlockIndexReader dataBlockIndexReader;<a name="line.78"></a>
-<span class="sourceLineNo">079</span><a name="line.79"></a>
-<span class="sourceLineNo">080</span>  /** Meta block index reader -- always single level */<a name="line.80"></a>
-<span class="sourceLineNo">081</span>  private HFileBlockIndex.ByteArrayKeyBlockIndexReader metaBlockIndexReader;<a name="line.81"></a>
-<span class="sourceLineNo">082</span><a name="line.82"></a>
-<span class="sourceLineNo">083</span>  private final FixedFileTrailer trailer;<a name="line.83"></a>
-<span class="sourceLineNo">084</span><a name="line.84"></a>
-<span class="sourceLineNo">085</span>  /** Filled when we read in the trailer. */<a name="line.85"></a>
-<span class="sourceLineNo">086</span>  private final Compression.Algorithm compressAlgo;<a name="line.86"></a>
-<span class="sourceLineNo">087</span><a name="line.87"></a>
-<span class="sourceLineNo">088</span>  private boolean isPrimaryReplicaReader;<a name="line.88"></a>
-<span class="sourceLineNo">089</span><a name="line.89"></a>
-<span class="sourceLineNo">090</span>  /**<a name="line.90"></a>
-<span class="sourceLineNo">091</span>   * What kind of data block encoding should be used while reading, writing,<a name="line.91"></a>
-<span class="sourceLineNo">092</span>   * and handling cache.<a name="line.92"></a>
-<span class="sourceLineNo">093</span>   */<a name="line.93"></a>
-<span class="sourceLineNo">094</span>  private HFileDataBlockEncoder dataBlockEncoder = NoOpDataBlockEncoder.INSTANCE;<a name="line.94"></a>
-<span class="sourceLineNo">095</span><a name="line.95"></a>
-<span class="sourceLineNo">096</span>  /** Last key in the file. Filled in when we read in the file info */<a name="line.96"></a>
-<span class="sourceLineNo">097</span>  private Cell lastKeyCell = null;<a name="line.97"></a>
-<span class="sourceLineNo">098</span><a name="line.98"></a>
-<span class="sourceLineNo">099</span>  /** Average key length read from file info */<a name="line.99"></a>
-<span class="sourceLineNo">100</span>  private int avgKeyLen = -1;<a name="line.100"></a>
-<span class="sourceLineNo">101</span><a name="line.101"></a>
-<span class="sourceLineNo">102</span>  /** Average value length read from file info */<a name="line.102"></a>
-<span class="sourceLineNo">103</span>  private int avgValueLen = -1;<a name="line.103"></a>
-<span class="sourceLineNo">104</span><a name="line.104"></a>
-<span class="sourceLineNo">105</span>  /** Key comparator */<a name="line.105"></a>
-<span class="sourceLineNo">106</span>  private CellComparator comparator = CellComparator.COMPARATOR;<a name="line.106"></a>
-<span class="sourceLineNo">107</span><a name="line.107"></a>
-<span class="sourceLineNo">108</span>  /** Size of this file. */<a name="line.108"></a>
-<span class="sourceLineNo">109</span>  private final long fileSize;<a name="line.109"></a>
-<span class="sourceLineNo">110</span><a name="line.110"></a>
-<span class="sourceLineNo">111</span>  /** Block cache configuration. */<a name="line.111"></a>
-<span class="sourceLineNo">112</span>  private final CacheConfig cacheConf;<a name="line.112"></a>
-<span class="sourceLineNo">113</span><a name="line.113"></a>
-<span class="sourceLineNo">114</span>  /** Path of file */<a name="line.114"></a>
-<span class="sourceLineNo">115</span>  private final Path path;<a name="line.115"></a>
-<span class="sourceLineNo">116</span><a name="line.116"></a>
-<span class="sourceLineNo">117</span>  /** File name to be used for block names */<a name="line.117"></a>
-<span class="sourceLineNo">118</span>  private final String name;<a name="line.118"></a>
-<span class="sourceLineNo">119</span><a name="line.119"></a>
-<span class="sourceLineNo">120</span>  private FileInfo fileInfo;<a name="line.120"></a>
-<span class="sourceLineNo">121</span><a name="line.121"></a>
-<span class="sourceLineNo">122</span>  private Configuration conf;<a name="line.122"></a>
-<span class="sourceLineNo">123</span><a name="line.123"></a>
-<span class="sourceLineNo">124</span>  private HFileContext hfileContext;<a name="line.124"></a>
-<span class="sourceLineNo">125</span><a name="line.125"></a>
-<span class="sourceLineNo">126</span>  /** Filesystem-level block reader. */<a name="line.126"></a>
-<span class="sourceLineNo">127</span>  private HFileBlock.FSReader fsBlockReader;<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>   * A "sparse lock" implementation allowing to lock on a particular block<a name="line.130"></a>
-<span class="sourceLineNo">131</span>   * identified by offset. The purpose of this is to avoid two clients loading<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   * the same block, and have all but one client wait to get the block from the<a name="line.132"></a>
-<span class="sourceLineNo">133</span>   * cache.<a name="line.133"></a>
-<span class="sourceLineNo">134</span>   */<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  private IdLock offsetLock = new IdLock();<a name="line.135"></a>
-<span class="sourceLineNo">136</span><a name="line.136"></a>
-<span class="sourceLineNo">137</span>  /**<a name="line.137"></a>
-<span class="sourceLineNo">138</span>   * Blocks read from the load-on-open section, excluding data root index, meta<a name="line.138"></a>
-<span class="sourceLineNo">139</span>   * index, and file info.<a name="line.139"></a>
-<span class="sourceLineNo">140</span>   */<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  private List&lt;HFileBlock&gt; loadOnOpenBlocks = new ArrayList&lt;HFileBlock&gt;();<a name="line.141"></a>
-<span class="sourceLineNo">142</span><a name="line.142"></a>
-<span class="sourceLineNo">143</span>  /** Minimum minor version supported by this HFile format */<a name="line.143"></a>
-<span class="sourceLineNo">144</span>  static final int MIN_MINOR_VERSION = 0;<a name="line.144"></a>
-<span class="sourceLineNo">145</span><a name="line.145"></a>
-<span class="sourceLineNo">146</span>  /** Maximum minor version supported by this HFile format */<a name="line.146"></a>
-<span class="sourceLineNo">147</span>  // We went to version 2 when we moved to pb'ing fileinfo and the trailer on<a name="line.147"></a>
-<span class="sourceLineNo">148</span>  // the file. This version can read Writables version 1.<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  static final int MAX_MINOR_VERSION = 3;<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>   * We can read files whose major version is v2 IFF their minor version is at least 3.<a name="line.152"></a>
-<span class="sourceLineNo">153</span>   */<a name="line.153"></a>
-<span class="sourceLineNo">154</span>  private static final int MIN_V2_MINOR_VERSION_WITH_PB = 3;<a name="line.154"></a>
-<span class="sourceLineNo">155</span><a name="line.155"></a>
-<span class="sourceLineNo">156</span>  /** Minor versions starting with this number have faked index key */<a name="line.156"></a>
-<span class="sourceLineNo">157</span>  static final int MINOR_VERSION_WITH_FAKED_KEY = 3;<a name="line.157"></a>
-<span class="sourceLineNo">158</span><a name="line.158"></a>
-<span class="sourceLineNo">159</span>  /**<a name="line.159"></a>
-<span class="sourceLineNo">160</span>   * Opens a HFile. You must load the index before you can use it by calling<a name="line.160"></a>
-<span class="sourceLineNo">161</span>   * {@link #loadFileInfo()}.<a name="line.161"></a>
-<span class="sourceLineNo">162</span>   * @param path<a name="line.162"></a>
-<span class="sourceLineNo">163</span>   *          Path to HFile.<a name="line.163"></a>
-<span class="sourceLineNo">164</span>   * @param trailer<a name="line.164"></a>
-<span class="sourceLineNo">165</span>   *          File trailer.<a name="line.165"></a>
-<span class="sourceLineNo">166</span>   * @param fsdis<a name="line.166"></a>
-<span class="sourceLineNo">167</span>   *          input stream.<a name="line.167"></a>
-<span class="sourceLineNo">168</span>   * @param fileSize<a name="line.168"></a>
-<span class="sourceLineNo">169</span>   *          Length of the stream.<a name="line.169"></a>
-<span class="sourceLineNo">170</span>   * @param cacheConf<a name="line.170"></a>
-<span class="sourceLineNo">171</span>   *          Cache configuration.<a name="line.171"></a>
-<span class="sourceLineNo">172</span>   * @param hfs<a name="line.172"></a>
-<span class="sourceLineNo">173</span>   *          The file system.<a name="line.173"></a>
-<span class="sourceLineNo">174</span>   * @param conf<a name="line.174"></a>
-<span class="sourceLineNo">175</span>   *          Configuration<a name="line.175"></a>
-<span class="sourceLineNo">176</span>   */<a name="line.176"></a>
-<span class="sourceLineNo">177</span>  @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")<a name="line.177"></a>
-<span class="sourceLineNo">178</span>  public HFileReaderImpl(final Path path, FixedFileTrailer trailer,<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      final FSDataInputStreamWrapper fsdis,<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      final long fileSize, final CacheConfig cacheConf, final HFileSystem hfs,<a name="line.180"></a>
-<span class="sourceLineNo">181</span>      final Configuration conf)<a name="line.181"></a>
-<span class="sourceLineNo">182</span>  throws IOException {<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    this.trailer = trailer;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    this.compressAlgo = trailer.getCompressionCodec();<a name="line.184"></a>
-<span class="sourceLineNo">185</span>    this.cacheConf = cacheConf;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    this.fileSize = fileSize;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    this.path = path;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    this.name = path.getName();<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    this.conf = conf;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    checkFileVersion();<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    this.hfileContext = createHFileContext(fsdis, fileSize, hfs, path, trailer);<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    this.fsBlockReader = new HFileBlock.FSReaderImpl(fsdis, fileSize, hfs, path, hfileContext);<a name="line.192"></a>
-<span class="sourceLineNo">193</span><a name="line.193"></a>
-<span class="sourceLineNo">194</span>    // Comparator class name is stored in the trailer in version 2.<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    comparator = trailer.createComparator();<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    dataBlockIndexReader = new HFileBlockIndex.CellBasedKeyBlockIndexReader(comparator,<a name="line.196"></a>
-<span class="sourceLineNo">197</span>        trailer.getNumDataIndexLevels(), this);<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    metaBlockIndexReader = new HFileBlockIndex.ByteArrayKeyBlockIndexReader(1);<a name="line.198"></a>
-<span class="sourceLineNo">199</span><a name="line.199"></a>
-<span class="sourceLineNo">200</span>    // Parse load-on-open data.<a name="line.200"></a>
-<span class="sourceLineNo">201</span><a name="line.201"></a>
-<span class="sourceLineNo">202</span>    HFileBlock.BlockIterator blockIter = fsBlockReader.blockRange(<a name="line.202"></a>
-<span class="sourceLineNo">203</span>        trailer.getLoadOnOpenDataOffset(),<a name="line.203"></a>
-<span class="sourceLineNo">204</span>        fileSize - trailer.getTrailerSize());<a name="line.204"></a>
-<span class="sourceLineNo">205</span><a name="line.205"></a>
-<span class="sourceLineNo">206</span>    // Data index. We also read statistics about the block index written after<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    // the root level.<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    dataBlockIndexReader.readMultiLevelIndexRoot(<a name="line.208"></a>
-<span class="sourceLineNo">209</span>        blockIter.nextBlockWithBlockType(BlockType.ROOT_INDEX),<a name="line.209"></a>
-<span class="sourceLineNo">210</span>        trailer.getDataIndexCount());<a name="line.210"></a>
-<span class="sourceLineNo">211</span><a name="line.211"></a>
-<span class="sourceLineNo">212</span>    // Meta index.<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    metaBlockIndexReader.readRootIndex(<a name="line.213"></a>
-<span class="sourceLineNo">214</span>        blockIter.nextBlockWithBlockType(BlockType.ROOT_INDEX),<a name="line.214"></a>
-<span class="sourceLineNo">215</span>        trailer.getMetaIndexCount());<a name="line.215"></a>
-<span class="sourceLineNo">216</span><a name="line.216"></a>
-<span class="sourceLineNo">217</span>    // File info<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    fileInfo = new FileInfo();<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    fileInfo.read(blockIter.nextBlockWithBlockType(BlockType.FILE_INFO).getByteStream());<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    byte[] creationTimeBytes = fileInfo.get(FileInfo.CREATE_TIME_TS);<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    this.hfileContext.setFileCreateTime(creationTimeBytes == null?  0:<a name="line.221"></a>
-<span class="sourceLineNo">222</span>        Bytes.toLong(creationTimeBytes));<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    if (fileInfo.get(FileInfo.LASTKEY) != null) {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>      lastKeyCell = new KeyValue.KeyOnlyKeyValue(fileInfo.get(FileInfo.LASTKEY));<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    }<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    avgKeyLen = Bytes.toInt(fileInfo.get(FileInfo.AVG_KEY_LEN));<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    avgValueLen = Bytes.toInt(fileInfo.get(FileInfo.AVG_VALUE_LEN));<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    byte [] keyValueFormatVersion = fileInfo.get(HFileWriterImpl.KEY_VALUE_VERSION);<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    includesMemstoreTS = keyValueFormatVersion != null &amp;&amp;<a name="line.229"></a>
-<span class="sourceLineNo">230</span>        Bytes.toInt(keyValueFormatVersion) == HFileWriterImpl.KEY_VALUE_VER_WITH_MEMSTORE;<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    fsBlockReader.setIncludesMemstoreTS(includesMemstoreTS);<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    if (includesMemstoreTS) {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      decodeMemstoreTS = Bytes.toLong(fileInfo.get(HFileWriterImpl.MAX_MEMSTORE_TS_KEY)) &gt; 0;<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    }<a name="line.234"></a>
-<span class="sourceLineNo">235</span><a name="line.235"></a>
-<span class="sourceLineNo">236</span>    // Read data block encoding algorithm name from file info.<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    dataBlockEncoder = HFileDataBlockEncoderImpl.createFromFileInfo(fileInfo);<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    fsBlockReader.setDataBlockEncoder(dataBlockEncoder);<a name="line.238"></a>
-<span class="sourceLineNo">239</span><a name="line.239"></a>
-<span class="sourceLineNo">240</span>    // Store all other load-on-open blocks for further consumption.<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    HFileBlock b;<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    while ((b = blockIter.nextBlock()) != null) {<a name="line.242"></a>
-<span class="sourceLineNo">243</span>      loadOnOpenBlocks.add(b);<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>    // Prefetch file blocks upon open if requested<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    if (cacheConf.shouldPrefetchOnOpen()) {<a name="line.247"></a>
-<span class="sourceLineNo">248</span>      PrefetchExecutor.request(path, new Runnable() {<a name="line.248"></a>
-<span class="sourceLineNo">249</span>        public void run() {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>          try {<a name="line.250"></a>
-<span class="sourceLineNo">251</span>            long offset = 0;<a name="line.251"></a>
-<span class="sourceLineNo">252</span>            long end = fileSize - getTrailer().getTrailerSize();<a name="line.252"></a>
-<span class="sourceLineNo">253</span>            HFileBlock prevBlock = null;<a name="line.253"></a>
-<span class="sourceLineNo">254</span>            while (offset &lt; end) {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>              if (Thread.interrupted()) {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>                break;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>              }<a name="line.257"></a>
-<span class="sourceLineNo">258</span>              long onDiskSize = -1;<a name="line.258"></a>
-<span class="sourceLineNo">259</span>              if (prevBlock != null) {<a name="line.259"></a>
-<span class="sourceLineNo">260</span>                onDiskSize = prevBlock.getNextBlockOnDiskSizeWithHeader();<a name="line.260"></a>
-<span class="sourceLineNo">261</span>              }<a name="line.261"></a>
-<span class="sourceLineNo">262</span>              HFileBlock block = readBlock(offset, onDiskSize, true, false, false, false,<a name="line.262"></a>
-<span class="sourceLineNo">263</span>                null, null);<a name="line.263"></a>
-<span class="sourceLineNo">264</span>              // Need not update the current block. Ideally here the readBlock won't find the<a name="line.264"></a>
-<span class="sourceLineNo">265</span>              // block in cache. We call this readBlock so that block data is read from FS and<a name="line.265"></a>
-<span class="sourceLineNo">266</span>              // cached in BC. So there is no reference count increment that happens here.<a name="line.266"></a>
-<span class="sourceLineNo">267</span>              // The return will ideally be a noop because the block is not of MemoryType SHARED.<a name="line.267"></a>
-<span class="sourceLineNo">268</span>              returnBlock(block);<a name="line.268"></a>
-<span class="sourceLineNo">269</span>              prevBlock = block;<a name="line.269"></a>
-<span class="sourceLineNo">270</span>              offset += block.getOnDiskSizeWithHeader();<a name="line.270"></a>
-<span class="sourceLineNo">271</span>            }<a name="line.271"></a>
-<span class="sourceLineNo">272</span>          } catch (IOException e) {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>            // IOExceptions are probably due to region closes (relocation, etc.)<a name="line.273"></a>
-<span class="sourceLineNo">274</span>            if (LOG.isTraceEnabled()) {<a name="line.274"></a>
-<span class="sourceLineNo">275</span>              LOG.trace("Exception encountered while prefetching " + path + ":", e);<a name="line.275"></a>
-<span class="sourceLineNo">276</span>            }<a name="line.276"></a>
-<span class="sourceLineNo">277</span>          } catch (Exception e) {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>            // Other exceptions are interesting<a name="line.278"></a>
-<span class="sourceLineNo">279</span>            LOG.warn("Exception encountered while prefetching " + path + ":", e);<a name="line.279"></a>
-<span class="sourceLineNo">280</span>          } finally {<a name="line.280"></a>
-<span class="sourceLineNo">281</span>            PrefetchExecutor.complete(path);<a name="line.281"></a>
-<span class="sourceLineNo">282</span>          }<a name="line.282"></a>
-<span class="sourceLineNo">283</span>        }<a name="line.283"></a>
-<span class="sourceLineNo">284</span>      });<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    }<a name="line.285"></a>
-<span class="sourceLineNo">286</span><a name="line.286"></a>
-<span class="sourceLineNo">287</span>    byte[] tmp = fileInfo.get(FileInfo.MAX_TAGS_LEN);<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    // max tag length is not present in the HFile means tags were not at all written to file.<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    if (tmp != null) {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>      hfileContext.setIncludesTags(true);<a name="line.290"></a>
-<span class="sourceLineNo">291</span>      tmp = fileInfo.get(FileInfo.TAGS_COMPRESSED);<a name="line.291"></a>
-<span class="sourceLineNo">292</span>      if (tmp != null &amp;&amp; Bytes.toBoolean(tmp)) {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>        hfileContext.setCompressTags(true);<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      }<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    }<a name="line.295"></a>
-<span class="sourceLineNo">296</span>  }<a name="line.296"></a>
-<span class="sourceLineNo">297</span><a name="line.297"></a>
-<span class="sourceLineNo">298</span>  /**<a name="line.298"></a>
-<span class="sourceLineNo">299</span>   * File version check is a little sloppy. We read v3 files but can also read v2 files if their<a name="line.299"></a>
-<span class="sourceLineNo">300</span>   * content has been pb'd; files written with 0.98.<a name="line.300"></a>
-<span class="sourceLineNo">301</span>   */<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  private void checkFileVersion() {<a name="line.302"></a>
-<span class="sourceLineNo">303</span>    int majorVersion = trailer.getMajorVersion();<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    if (majorVersion == getMajorVersion()) return;<a name="line.304"></a>
-<span class="sourceLineNo">305</span>    int minorVersion = trailer.getMinorVersion();<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    if (majorVersion == 2 &amp;&amp; minorVersion &gt;= MIN_V2_MINOR_VERSION_WITH_PB) return;<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    // We can read v3 or v2 versions of hfile.<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    throw new IllegalArgumentException("Invalid HFile version: major=" +<a name="line.308"></a>
-<span class="sourceLineNo">309</span>      trailer.getMajorVersion() + ", minor=" + trailer.getMinorVersion() + ": expected at least " +<a name="line.309"></a>
-<span class="sourceLineNo">310</span>      "major=2 and minor=" + MAX_MINOR_VERSION);<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  }<a name="line.311"></a>
-<span class="sourceLineNo">312</span><a name="line.312"></a>
-<span class="sourceLineNo">313</span>  @SuppressWarnings("serial")<a name="line.313"></a>
-<span class="sourceLineNo">314</span>  public static class BlockIndexNotLoadedException extends IllegalStateException {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    public BlockIndexNotLoadedException() {<a name="line.315"></a>
-<span class="sourceLineNo">316</span>      // Add a message in case anyone relies on it as opposed to class name.<a name="line.316"></a>
-<span class="sourceLineNo">317</span>      super("Block index not loaded");<a name="line.317"></a>
-<span class="sourceLineNo">318</span>    }<a name="line.318"></a>
-<span class="sourceLineNo">319</span>  }<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>  private String toStringFirstKey() {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    if(getFirstKey() == null)<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      return null;<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    return CellUtil.getCellKeyAsString(getFirstKey());<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  }<a name="line.325"></a>
-<span class="sourceLineNo">326</span><a name="line.326"></a>
-<span class="sourceLineNo">327</span>  private String toStringLastKey() {<a name="line.327"></a>
-<span class="sourceLineNo">328</span>    return CellUtil.toString(getLastKey(), false);<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>  @Override<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  public String toString() {<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    return "reader=" + path.toString() +<a name="line.333"></a>
-<span class="sourceLineNo">334</span>        (!isFileInfoLoaded()? "":<a name="line.334"></a>
-<span class="sourceLineNo">335</span>          ", compression=" + compressAlgo.getName() +<a name="line.335"></a>
-<span class="sourceLineNo">336</span>          ", cacheConf=" + cacheConf +<a name="line.336"></a>
-<span class="sourceLineNo">337</span>          ", firstKey=" + toStringFirstKey() +<a name="line.337"></a>
-<span class="sourceLineNo">338</span>          ", lastKey=" + toStringLastKey()) +<a name="line.338"></a>
-<span class="sourceLineNo">339</span>          ", avgKeyLen=" + avgKeyLen +<a name="line.339"></a>
-<span class="sourceLineNo">340</span>          ", avgValueLen=" + avgValueLen +<a name="line.340"></a>
-<span class="sourceLineNo">341</span>          ", entries=" + trailer.getEntryCount() +<a name="line.341"></a>
-<span class="sourceLineNo">342</span>          ", length=" + fileSize;<a name="line.342"></a>
-<span class="sourceLineNo">343</span>  }<a name="line.343"></a>
-<span class="sourceLineNo">344</span><a name="line.344"></a>
-<span class="sourceLineNo">345</span>  @Override<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  public long length() {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    return fileSize;<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 void returnBlock(HFileBlock block) {<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    BlockCache blockCache = this.cacheConf.getBlockCache();<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    if (blockCache != null &amp;&amp; block != null) {<a name="line.353"></a>
-<span class="sourceLineNo">354</span>      BlockCacheKey cacheKey = new BlockCacheKey(this.getFileContext().getHFileName(),<a name="line.354"></a>
-<span class="sourceLineNo">355</span>          block.getOffset(), this.isPrimaryReplicaReader());<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      blockCache.returnBlock(cacheKey, block);<a name="line.356"></a>
-<span class="sourceLineNo">357</span>    }<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  }<a name="line.358"></a>
-<span class="sourceLineNo">359</span>  /**<a name="line.359"></a>
-<span class="sourceLineNo">360</span>   * @return the first key in the file. May be null if file has no entries. Note<a name="line.360"></a>
-<span class="sourceLineNo">361</span>   *         that this is not the first row key, but rather the byte form of the<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   *         first KeyValue.<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   */<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  @Override<a name="line.364"></a>
-<span class="sourceLineNo">365</span>  public Cell getFirstKey() {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    if (dataBlockIndexReader == null) {<a name="line.366"></a>
-<span class="sourceLineNo">367</span>      throw new BlockIndexNotLoadedException();<a name="line.367"></a>
-<span class="sourceLineNo">368</span>    }<a name="line.368"></a>
-<span class="sourceLineNo">369</span>    return dataBlockIndexReader.isEmpty() ? null<a name="line.369"></a>
-<span class="sourceLineNo">370</span>        : dataBlockIndexReader.getRootBlockKey(0);<a name="line.370"></a>
-<span class="sourceLineNo">371</span>  }<a name="line.371"></a>
-<span class="sourceLineNo">372</span><a name="line.372"></a>
-<span class="sourceLineNo">373</span>  /**<a name="line.373"></a>
-<span class="sourceLineNo">374</span>   * TODO left from {@link HFile} version 1: move this to StoreFile after Ryan's<a name="line.374"></a>
-<span class="sourceLineNo">375</span>   * patch goes in to eliminate {@link KeyValue} here.<a name="line.375"></a>
-<span class="sourceLineNo">376</span>   *<a name="line.376"></a>
-<span class="sourceLineNo">377</span>   * @return the first row key, or null if the file is empty.<a name="line.377"></a>
-<span class="sourceLineNo">378</span>   */<a name="line.378"></a>
-<span class="sourceLineNo">379</span>  @Override<a name="line.379"></a>
-<span class="sourceLineNo">380</span>  public byte[] getFirstRowKey() {<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    Cell firstKey = getFirstKey();<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    // We have to copy the row part to form the row key alone<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    return firstKey == null? null: CellUtil.cloneRow(firstKey);<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>  /**<a name="line.386"></a>
-<span class="sourceLineNo">387</span>   * TODO left from {@link HFile} version 1: move this to StoreFile after<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * Ryan's patch goes in to eliminate {@link KeyValue} here.<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   *<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   * @return the last row key, or null if the file is empty.<a name="line.390"></a>
-<span class="sourceLineNo">391</span>   */<a name="line.391"></a>
-<span class="sourceLineNo">392</span>  @Override<a name="line.392"></a>
-<span class="sourceLineNo">393</span>  public byte[] getLastRowKey() {<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    Cell lastKey = getLastKey();<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    return lastKey == null? null: CellUtil.cloneRow(lastKey);<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  }<a name="line.396"></a>
-<span class="sourceLineNo">397</span><a name="line.397"></a>
-<span class="sourceLineNo">398</span>  /** @return number of KV entries in this HFile */<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  @Override<a name="line.399"></a>
-<span class="sourceLineNo">400</span>  public long getEntries() {<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    return trailer.getEntryCount();<a name="line.401"></a>
-<span class="sourceLineNo">402</span>  }<a name="line.402"></a>
-<span class="sourceLineNo">403</span><a name="line.403"></a>
-<span class="sourceLineNo">404</span>  /** @return comparator */<a name="line.404"></a>
-<span class="sourceLineNo">405</span>  @Override<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  public CellComparator getComparator() {<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    return comparator;<a name="line.407"></a>
-<span class="sourceLineNo">408</span>  }<a name="line.408"></a>
-<span class="sourceLineNo">409</span><a name="line.409"></a>
-<span class="sourceLineNo">410</span>  /** @return compression algorithm */<a name="line.410"></a>
-<span class="sourceLineNo">411</span>  @Override<a name="line.411"></a>
-<span class="sourceLineNo">412</span>  public Compression.Algorithm getCompressionAlgorithm() {<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    return compressAlgo;<a name="line.413"></a>
-<span class="sourceLineNo">414</span>  }<a name="line.414"></a>
-<span class="sourceLineNo">415</span><a name="line.415"></a>
-<span class="sourceLineNo">416</span>  /**<a name="line.416"></a>
-<span class="sourceLineNo">417</span>   * @return the total heap size of data and meta block indexes in bytes. Does<a name="line.417"></a>
-<span class="sourceLineNo">418</span>   *         not take into account non-root blocks of a multilevel data index.<a name="line.418"></a>
-<span class="sourceLineNo">419</span>   */<a name="line.419"></a>
-<span class="sourceLineNo">420</span>  public long indexSize() {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    return (dataBlockIndexReader != null ? dataBlockIndexReader.heapSize() : 0)<a name="line.421"></a>
-<span class="sourceLineNo">422</span>        + ((metaBlockIndexReader != null) ? metaBlockIndexReader.heapSize()<a name="line.422"></a>
-<span class="sourceLineNo">423</span>            : 0);<a name="line.423"></a>
-<span class="sourceLineNo">424</span>  }<a name="line.424"></a>
-<span class="sourceLineNo">425</span><a name="line.425"></a>
-<span class="sourceLineNo">426</span>  @Override<a name="line.426"></a>
-<span class="sourceLineNo">427</span>  public String getName() {<a name="line.427"></a>
-<span class="sourceLineNo">428</span>    return name;<a name="line.428"></a>
-<span class="sourceLineNo">429</span>  }<a name="line.429"></a>
-<span class="sourceLineNo">430</span><a name="line.430"></a>
-<span class="sourceLineNo">431</span>  @Override<a name="line.431"></a>
-<span class="sourceLineNo">432</span>  public HFileBlockIndex.BlockIndexReader getDataBlockIndexReader() {<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    return dataBlockIndexReader;<a name="line.433"></a>
-<span class="sourceLineNo">434</span>  }<a name="line.434"></a>
-<span class="sourceLineNo">435</span><a name="line.435"></a>
-<span class="sourceLineNo">436</span>  @Override<a name="line.436"></a>
-<span class="sourceLineNo">437</span>  public FixedFileTrailer getTrailer() {<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    return trailer;<a name="line.438"></a>
-<span class="sourceLineNo">439</span>  }<a name="line.439"></a>
-<span class="sourceLineNo">440</span><a name="line.440"></a>
-<span class="sourceLineNo">441</span>  @Override<a name="line.441"></a>
-<span class="sourceLineNo">442</span>  public boolean isPrimaryReplicaReader() {<a name="line.442"></a>
-<span class="sourceLineNo">443</span>    return isPrimaryReplicaReader;<a name="line.443"></a>
-<span class="sourceLineNo">444</span>  }<a name="line.444"></a>
-<span class="sourceLineNo">445</span><a name="line.445"></a>
-<span class="sourceLineNo">446</span>  @Override<a name="line.446"></a>
-<span class="sourceLineNo">447</span>  public void setPrimaryReplicaReader(boolean isPrimaryReplicaReader) {<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    this.isPrimaryReplicaReader = isPrimaryReplicaReader;<a name="line.448"></a>
-<span class="sourceLineNo">449</span>  }<a name="line.449"></a>
-<span class="sourceLineNo">450</span><a name="line.450"></a>
-<span class="sourceLineNo">451</span>  @Override<a name="line.451"></a>
-<span class="sourceLineNo">452</span>  public FileInfo loadFileInfo() throws IOException {<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    return fileInfo;<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>   * An exception thrown when an operation requiring a scanner to be seeked<a name="line.457"></a>
-<span class="sourceLineNo">458</span>   * is invoked on a scanner that is not seeked.<a name="line.458"></a>
-<span class="sourceLineNo">459</span>   */<a name="line.459"></a>
-<span class="sourceLineNo">460</span>  @SuppressWarnings("serial")<a name="line.460"></a>
-<span class="sourceLineNo">461</span>  public static class NotSeekedException extends IllegalStateException {<a name="line.461"></a>
-<span class="sourceLineNo">462</span>    public NotSeekedException() {<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      super("Not seeked to a key/value");<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>  protected static class HFileScannerImpl implements HFileScanner {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    private ByteBuff blockBuffer;<a name="line.468"></a>
-<span class="sourceLineNo">469</span>    protected final boolean cacheBlocks;<a name="line.469"></a>
-<span class="sourceLineNo">470</span>    protected final boolean pread;<a name="line.470"></a>
-<span class="sourceLineNo">471</span>    protected final boolean isCompaction;<a name="line.471"></a>
-<span class="sourceLineNo">472</span>    private int currKeyLen;<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    private int currValueLen;<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    private int currMemstoreTSLen;<a name="line.474"></a>
-<span class="sourceLineNo">475</span>    private long currMemstoreTS;<a name="line.475"></a>
-<span class="sourceLineNo">476</span>    // Updated but never read?<a name="line.476"></a>
-<span class="sourceLineNo">477</span>    protected AtomicInteger blockFetches = new AtomicInteger(0);<a name="line.477"></a>
-<span class="sourceLineNo">478</span>    protected final HFile.Reader reader;<a name="line.478"></a>
-<span class="sourceLineNo">479</span>    private int currTagsLen;<a name="line.479"></a>
-<span class="sourceLineNo">480</span>    // buffer backed keyonlyKV<a name="line.480"></a>
-<span class="sourceLineNo">481</span>    private ByteBufferedKeyOnlyKeyValue bufBackedKeyOnlyKv = new ByteBufferedKeyOnlyKeyValue();<a name="line.481"></a>
-<span class="sourceLineNo">482</span>    // A pair for reusing in blockSeek() so that we don't garbage lot of objects<a name="line.482"></a>
-<span class="sourceLineNo">483</span>    final ObjectIntPair&lt;ByteBuffer&gt; pair = new ObjectIntPair&lt;ByteBuffer&gt;();<a name="line.483"></a>
-<span class="sourceLineNo">484</span><a name="line.484"></a>
-<span class="sourceLineNo">485</span>    /**<a name="line.485"></a>
-<span class="sourceLineNo">486</span>     * The next indexed key is to keep track of the indexed key of the next data block.<a name="line.486"></a>
-<span class="sourceLineNo">487</span>     * If the nextIndexedKey is HConstants.NO_NEXT_INDEXED_KEY, it means that the<a name="line.487"></a>
-<span class="sourceLineNo">488</span>     * current data block is the last data block.<a name="line.488"></a>
-<span class="sourceLineNo">489</span>     *<a name="line.489"></a>
-<span class="sourceLineNo">490</span>     * If the nextIndexedKey is null, it means the nextIndexedKey has not been loaded yet.<a name="line.490"></a>
-<span class="sourceLineNo">491</span>     */<a name="line.491"></a>
-<span class="sourceLineNo">492</span>    protected Cell nextIndexedKey;<a name="line.492"></a>
-<span class="sourceLineNo">493</span>    // Current block being used<a name="line.493"></a>
-<span class="sourceLineNo">494</span>    protected HFileBlock curBlock;<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    // Previous blocks that were used in the course of the read<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    protected final ArrayList&lt;HFileBlock&gt; prevBlocks = new ArrayList&lt;HFileBlock&gt;();<a name="line.496"></a>
-<span class="sourceLineNo">497</span><a name="line.497"></a>
-<span class="sourceLineNo">498</span>    public HFileScannerImpl(final HFile.Reader reader, final boolean cacheBlocks,<a name="line.498"></a>
-<span class="sourceLineNo">499</span>        final boolean pread, final boolean isCompaction) {<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      this.reader = reader;<a name="line.500"></a>
-<span class="sourceLineNo">501</span>      this.cacheBlocks = cacheBlocks;<a name="line.501"></a>
-<span class="sourceLineNo">502</span>      this.pread = pread;<a name="line.502"></a>
-<span class="sourceLineNo">503</span>      this.isCompaction = isCompaction;<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>    void updateCurrBlockRef(HFileBlock block) {<a name="line.506"></a>
-<span class="sourceLineNo">507</span>      if (block != null &amp;&amp; this.curBlock != null &amp;&amp;<a name="line.507"></a>
-<span class="sourceLineNo">508</span>          block.getOffset() == this.curBlock.getOffset()) {<a name="line.508"></a>
-<span class="sourceLineNo">509</span>        return;<a name="line.509"></a>
-<span class="sourceLineNo">510</span>      }<a name="line.510"></a>
-<span class="sourceLineNo">511</span>      // We don't have to keep ref to EXCLUSIVE type of block<a name="line.511"></a>
-<span class="sourceLineNo">512</span>      if (this.curBlock != null &amp;&amp; this.curBlock.usesSharedMemory()) {<a name="line.512"></a>
-<span class="sourceLineNo">513</span>        prevBlocks.add(this.curBlock);<a name="line.513"></a>
-<span class="sourceLineNo">514</span>      }<a name="line.514"></a>
-<span class="sourceLineNo">515</span>      this.curBlock = block;<a name="line.515"></a>
-<span class="sourceLineNo">516</span>    }<a name="line.516"></a>
-<span class="sourceLineNo">517</span><a name="line.517"></a>
-<span class="sourceLineNo">518</span>    void reset() {<a name="line.518"></a>
-<span class="sourceLineNo">519</span>      // We don't have to keep ref to EXCLUSIVE type of block<a name="line.519"></a>
-<span class="sourceLineNo">520</span>      if (this.curBlock != null &amp;&amp; this.curBlock.usesSharedMemory()) {<a name="line.520"></a>
-<span class="sourceLineNo">521</span>        this.prevBlocks.add(this.curBlock);<a name="line.521"></a>
-<span class="sourceLineNo">522</span>      }<a name="line.522"></a>
-<span class="sourceLineNo">523</span>      this.curBlock = null;<a name="line.523"></a>
-<span class="sourceLineNo">524</span>    }<a name="line.524"></a>
-<span class="sourceLineNo">525</span><a name="line.525"></a>
-<span class="sourceLineNo">526</span>    private void returnBlockToCache(HFileBlock block) {<a name="line.526"></a>
-<span class="sourceLineNo">527</span>      if (LOG.isTraceEnabled()) {<a name="line.527"></a>
-<span class="sourceLineNo">528</span>        LOG.trace("Returning the block : " + block);<a name="line.528"></a>
-<span class="sourceLineNo">529</span>      }<a name="line.529"></a>
-<span class="sourceLineNo">530</span>      this.reader.returnBlock(block);<a name="line.530"></a>
-<span class="sourceLineNo">531</span>    }<a name="line.531"></a>
-<span class="sourceLineNo">532</span><a name="line.532"></a>
-<span class="sourceLineNo">533</span>    private void returnBlocks(boolean returnAll) {<a name="line.533"></a>
-<span class="sourceLineNo">534</span>      for (int i = 0; i &lt; this.prevBlocks.size(); i++) {<a name="line.534"></a>
-<span class="sourceLineNo">535</span>        returnBlockToCache(this.prevBlocks.get(i));<a name="line.535"></a>
-<span class="sourceLineNo">536</span>      }<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      this.prevBlocks.clear();<a name="line.537"></a>
-<span class="sourceLineNo">538</span>      if (returnAll &amp;&amp; this.curBlock != null) {<a name="line.538"></a>
-<span class="sourceLineNo">539</span>        returnBlockToCache(this.curBlock);<a name="line.539"></a>
-<span class="sourceLineNo">540</span>        this.curBlock = null;<a name="line.540"></a>
-<span class="sourceLineNo">541</span>      }<a name="line.541"></a>
-<span class="sourceLineNo">542</span>    }<a name="line.542"></a>
-<span class="sourceLineNo">543</span>    @Override<a name="line.543"></a>
-<span class="sourceLineNo">544</span>    public boolean isSeeked(){<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      return blockBuffer != null;<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>    @Override<a name="line.548"></a>
-<span class="sourceLineNo">549</span>    public String toString() {<a name="line.549"></a>
-<span class="sourceLineNo">550</span>      return "HFileScanner for reader " + String.valueOf(getReader());<a name="line.550"></a>
-<span class="sourceLineNo">551</span>    }<a name="line.551"></a>
-<span class="sourceLineNo">552</span><a name="line.552"></a>
-<span class="sourceLineNo">553</span>    protected void assertSeeked() {<a name="line.553"></a>
-<span class="sourceLineNo">554</span>      if (!isSeeked())<a name="line.554"></a>
-<span class="sourceLineNo">555</span>        throw new NotSeekedException();<a name="line.555"></a>
-<span class="sourceLineNo">556</span>    }<a name="line.556"></a>
-<span class="sourceLineNo">557</span><a name="line.557"></a>
-<span class="sourceLineNo">558</span>    @Override<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    public HFile.Reader getReader() {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>      return reader;<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    }<a name="line.561"></a>
-<span class="sourceLineNo">562</span><a name="line.562"></a>
-<span class="sourceLineNo">563</span>    protected int getCellBufSize() {<a name="line.563"></a>
-<span class="sourceLineNo">564</span>      int kvBufSize = KEY_VALUE_LEN_SIZE + currKeyLen + currValueLen;<a name="line.564"></a>
-<span class="sourceLineNo">565</span>      if (this.reader.getFileContext().isIncludesTags()) {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>        kvBufSize += Bytes.SIZEOF_SHORT + currTagsLen;<a name="line.566"></a>
-<span class="sourceLineNo">567</span>      }<a name="line.567"></a>
-<span class="sourceLineNo">568</span>      return kvBufSize;<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>    @Override<a name="line.571"></a>
-<span class="sourceLineNo">572</span>    public void close() {<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      this.returnBlocks(true);<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    }<a name="line.574"></a>
-<span class="sourceLineNo">575</span><a name="line.575"></a>
-<span class="sourceLineNo">576</span>    protected int getCurCellSize() {<a name="line.576"></a>
-<span class="sourceLineNo">577</span>      int curCellSize =  KEY_VALUE_LEN_SIZE + currKeyLen + currValueLen<a name="line.577"></a>
-<span class="sourceLineNo">578</span>          + currMemstoreTSLen;<a name="line.578"></a>
-<span class="sourceLineNo">579</span>      if (this.reader.getFileContext().isIncludesTags()) {<a name="line.579"></a>
-<span class="sourceLineNo">580</span>        curCellSize += Bytes.SIZEOF_SHORT + currTagsLen;<a name="line.580"></a>
-<span class="sourceLineNo">581</span>      }<a name="line.581"></a>
-<span class="sourceLineNo">582</span>      return curCellSize;<a name="line.582"></a>
-<span class="sourceLineNo">583</span>    }<a name="line.583"></a>
-<span class="sourceLineNo">584</span><a name="line.584"></a>
-<span class="sourceLineNo">585</span>    protected void readKeyValueLen() {<a name="line.585"></a>
-<span class="sourceLineNo">586</span>      // This is a hot method. We go out of our way to make this method short so it can be<a name="line.586"></a>
-<span class="sourceLineNo">587</span>      // inlined and is not too big to compile. We also manage position in ByteBuffer ourselves<a name="line.587"></a>
-<span class="sourceLineNo">588</span>      // because it is faster than going via range-checked ByteBuffer methods or going through a<a name="line.588"></a>
-<span class="sourceLineNo">589</span>      // byte buffer array a byte at a time.<a name="line.589"></a>
-<span class="sourceLineNo">590</span>      // Get a long at a time rather than read two individual ints. In micro-benchmarking, even<a name="line.590"></a>
-<span class="sourceLineNo">591</span>      // with the extra bit-fiddling, this is order-of-magnitude faster than getting two ints.<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      // Trying to imitate what was done - need to profile if this is better or<a name="line.592"></a>
-<span class="sourceLineNo">593</span>      // earlier way is better by doing mark and reset?<a name="line.593"></a>
-<span class="sourceLineNo">594</span>      // But ensure that you read long instead of two ints<a name="line.594"></a>
-<span class="sourceLineNo">595</span>      long ll = blockBuffer.getLongAfterPosition(0);<a name="line.595"></a>
-<span class="sourceLineNo">596</span>      // Read top half as an int of key length and bottom int as value length<a name="line.596"></a>
-<span class="sourceLineNo">597</span>      this.currKeyLen = (int)(ll &gt;&gt; Integer.SIZE);<a name="line.597"></a>
-<span class="sourceLineNo">598</span>      this.currValueLen = (int)(Bytes.MASK_FOR_LOWER_INT_IN_LONG ^ ll);<a name="line.598"></a>
-<span class="sourceLineNo">599</span>      checkKeyValueLen();<a name="line.599"></a>
-<span class="sourceLineNo">600</span>      // Move position past the key and value lengths and then beyond the key and value<a name="line.600"></a>
-<span class="sourceLineNo">601</span>      int p = (Bytes.SIZEOF_LONG + currKeyLen + currValueLen);<a name="line.601"></a>
-<span class="sourceLineNo">602</span>      if (reader.getFileContext().isIncludesTags()) {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>        // Tags length is a short.<a name="line.603"></a>
-<span class="sourceLineNo">604</span>        this.currTagsLen = blockBuffer.getShortAfterPosition(p);<a name="line.604"></a>
-<span class="sourceLineNo">605</span>        checkTagsLen();<a name="line.605"></a>
-<span class="sourceLineNo">606</span>        p += (Bytes.SIZEOF_SHORT + currTagsLen);<a name="line.606"></a>
-<span class="sourceLineNo">607</span>      }<a name="line.607"></a>
-<span class="sourceLineNo">608</span>      readMvccVersion(p);<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>    private final void checkTagsLen() {<a name="line.611"></a>
-<span class="sourceLineNo">612</span>      if (checkLen(this.currTagsLen)) {<a name="line.612"></a>
-<span class="sourceLineNo">613</span>        throw new IllegalStateException("Invalid currTagsLen " + this.currTagsLen +<a name="line.613"></a>
-<span class="sourceLineNo">614</span>          ". Block offset: " + curBlock.getOffset() + ", block length: " +<a name="line.614"></a>
-<span class="sourceLineNo">615</span>            this.blockBuffer.limit() +<a name="line.615"></a>
-<span class="sourceLineNo">616</span>          ", position: " + this.blockBuffer.position() + " (without header).");<a name="line.616"></a>
-<span class="sourceLineNo">617</span>      }<a name="line.617"></a>
-<span class="sourceLineNo">618</span>    }<a name="line.618"></a>
-<span class="sourceLineNo">619</span><a name="line.619"></a>
-<span class="sourceLineNo">620</span>    /**<a name="line.620"></a>
-<span class="sourceLineNo">621</span>     * Read mvcc. Does checks to see if we even need to read the mvcc at all.<a name="line.621"></a>
-<span class="sourceLineNo">622</span>     * @param offsetFromPos<a name="line.622"></a>
-<span class="sourceLineNo">623</span>     */<a name="line.623"></a>
-<span class="sourceLineNo">624</span>    protected void readMvccVersion(final int offsetFromPos) {<a name="line.624"></a>
-<span class="sourceLineNo">625</span>      // See if we even need to decode mvcc.<a name="line.625"></a>
-<span class="sourceLineNo">626</span>      if (!this.reader.shouldIncludeMemstoreTS()) return;<a name="line.626"></a>
-<span class="sourceLineNo">627</span>      if (!this.reader.isDecodeMemstoreTS()) {<a name="line.627"></a>
-<span class="sourceLineNo">628</span>        currMemstoreTS = 0;<a name="line.628"></a>
-<span class="sourceLineNo">629</span>        currMemstoreTSLen = 1;<a name="line.629"></a>
-<span class="sourceLineNo">630</span>        return;<a name="line.630"></a>
-<span class="sourceLineNo">631</span>      }<a name="line.631"></a>
-<span class="sourceLineNo">632</span>      _readMvccVersion(offsetFromPos);<a name="line.632"></a>
-<span class="sourceLineNo">633</span>    }<a name="line.633"></a>
-<span class="sourceLineNo">634</span><a name="line.634"></a>
-<span class="sourceLineNo">635</span>    /**<a name="line.635"></a>
-<span class="sourceLineNo">636</span>     * Actually do the mvcc read. Does no checks.<a name="line.636"></a>
-<span class="sourceLineNo">637</span>     * @param offsetFromPos<a name="line.637"></a>
-<span class="sourceLineNo">638</span>     */<a name="line.638"></a>
-<span class="sourceLineNo">639</span>    private void _readMvccVersion(int offsetFromPos) {<a name="line.639"></a>
-<span class="sourceLineNo">640</span>      // This is Bytes#bytesToVint inlined so can save a few instructions in this hot method; i.e.<a name="line.640"></a>
-<span class="sourceLineNo">641</span>      // previous if one-byte vint, we'd redo the vint call to find int size.<a name="line.641"></a>
-<span class="sourceLineNo">642</span>      // Also the method is kept small so can be inlined.<a name="line.642"></a>
-<span class="sourceLineNo">643</span>      byte firstByte = blockBuffer.getByteAfterPosition(offsetFromPos);<a name="line.643"></a>
-<span class="sourceLineNo">644</span>      int len = WritableUtils.decodeVIntSize(firstByte);<a name="line.644"></a>
-<span class="sourceLineNo">645</span>      if (len == 1) {<a name="line.645"></a>
-<span class="sourceLineNo">646</span>        this.currMemstoreTS = firstByte;<a name="line.646"></a>
-<span class="sourceLineNo">647</span>      } else {<a name="line.647"></a>
-<span class="sourceLineNo">648</span>        int remaining = len -1;<a name="line.648"></a>
-<span class="sourceLineNo">649</span>        long i = 0;<a name="line.649"></a>
-<span class="sourceLineNo">650</span>        offsetFromPos++;<a name="line.650"></a>
-<span class="sourceLineNo">651</span>        if (remaining &gt;= Bytes.SIZEOF_INT) {<a name="line.651"></a>
-<span class="sourceLineNo">652</span>          i = blockBuffer.getIntAfterPosition(offsetFromPos);<a name="line.652"></a>
-<span class="sourceLineNo">653</span>          remaining -= Bytes.SIZEOF_INT;<a name="line.653"></a>
-<span class="sourceLineNo">654</span>          offsetFromPos += Bytes.SIZEOF_INT;<a name="line.654"></a>
-<span class="sourceLineNo">655</span>        }<a name="line.655"></a>
-<span class="sourceLineNo">656</span>        if (remaining &gt;= Bytes.SIZEOF_SHORT) {<a name="line.656"></a>
-<span class="sourceLineNo">657</span>          short s = blockBuffer.getShortAfterPosition(offsetFromPos);<a name="line.657"></a>
-<span class="sourceLineNo">658</span>          i = i &lt;&lt; 16;<a name="line.658"></a>
-<span class="sourceLineNo">659</span>          i = i | (s &amp; 0xFFFF);<a name="line.659"></a>
-<span class="sourceLineNo">660</span>          remaining -= Bytes.SIZEOF_SHORT;<a name="line.660"></a>
-<span class="sourceLineNo">661</span>          offsetFromPos += Bytes.SIZEOF_SHORT;<a name="line.661"></a>
-<span class="sourceLineNo">662</span>        }<a name="line.662"></a>
-<span class="sourceLineNo">663</span>        for (int idx = 0; idx &lt; remaining; idx++) {<a name="line.663"></a>
-<span class="sourceLineNo">664</span>          byte b = blockBuffer.getByteAfterPosition(offsetFromPos + idx);<a name="line.664"></a>
-<span class="sourceLineNo">665</span>          i = i &lt;&lt; 8;<a name="line.665"></a>
-<span class="sourceLineNo">666</span>          i = i | (b &amp; 0xFF);<a name="line.666"></a>
-<span class="sourceLineNo">667</span>        }<a name="line.667"></a>
-<span class="sourceLineNo">668</span>        currMemstoreTS = (WritableUtils.isNegativeVInt(firstByte) ? ~i : i);<a name="line.668"></a>
-<span class="sourceLineNo">669</span>      }<a name="line.669"></a>
-<span class="sourceLineNo">670</span>      this.currMemstoreTSLen = len;<a name="line.670"></a>
-<span class="sourceLineNo">671</span>    }<a name="line.671"></a>
-<span class="sourceLineNo">672</span><a name="line.672"></a>
-<span class="sourceLineNo">673</span>    /**<a name="line.673"></a>
-<span class="sourceLineNo">674</span>     * Within a loaded block, seek looking for the last key that is smaller than<a name="line.674"></a>
-<span class="sourceLineNo">675</span>     * (or equal to?) the key we are interested in.<a name="line.675"></a>
-<span class="sourceLineNo">676</span>     * A note on the seekBefore: if you have seekBefore = true, AND the first<a name="line.676"></a>
-<span class="sourceLineNo">677</span>     * key in the block = key, then you'll get thrown exceptions. The caller has<a name="line.677"></a>
-<span class="sourceLineNo">678</span>     * to check for that case and load the previous block as appropriate.<a name="line.678"></a>
-<span class="sourceLineNo">679</span>     * @param key<a name="line.679"></a>
-<span class="sourceLineNo">680</span>     *          the key to find<a name="line.680"></a>
-<span class="sourceLineNo">681</span>     * @param seekBefore<a name="line.681"></a>
-<span class="sourceLineNo">682</span>     *          find the key before the given key in case of exact match.<a name="line.682"></a>
-<span class="sourceLineNo">683</span>     * @return 0 in case of an exact key match, 1 in case of an inexact match,<a name="line.683"></a>
-<span class="sourceLineNo">684</span>     *         -2 in case of an inexact match and furthermore, the input key<a name="line.684"></a>
-<span class="sourceLineNo">685</span>     *         less than the first key of current block(e.g. using a faked index<a name="line.685"></a>
-<span class="sourceLineNo">686</span>     *         key)<a name="line.686"></a>
-<span class="sourceLineNo">687</span>     */<a name="line.687"></a>
-<span class="sourceLineNo">688</span>    protected int blockSeek(Cell key, boolean seekBefore) {<a name="line.688"></a>
-<span class="sourceLineNo">689</span>      int klen, vlen, tlen = 0;<a name="line.689"></a>
-<span class="sourceLineNo">690</span>      int lastKeyValueSize = -1;<a name="line.690"></a>
-<span class="sourceLineNo">691</span>      int offsetFromPos;<a name="line.691"></a>
-<span class="sourceLineNo">692</span>      do {<a name="line.692"></a>
-<span class="sourceLineNo">693</span>        offsetFromPos = 0;<a name="line.693"></a>
-<span class="sourceLineNo">694</span>        // Better to ensure that we use the BB Utils here<a name="line.694"></a>
-<span class="sourceLineNo">695</span>        long ll = blockBuffer.getLongAfterPosition(offsetFromPos);<a name="line.695"></a>
-<span class="sourceLineNo">696</span>        klen = (int)(ll &gt;&gt; Integer.SIZE);<a name="line.696"></a>
-<span class="sourceLineNo">697</span>        vlen = (int)(Bytes.MASK_FOR_LOWER_INT_IN_LONG ^ ll);<a name="line.697"></a>
-<span class="sourceLineNo">698</span>        if (klen &lt; 0 || vlen &lt; 0 || klen &gt; blockBuffer.limit()<a name="line.698"></a>
-<span class="sourceLineNo">699</span>            || vlen &gt; blockBuffer.limit()) {<a name="line.699"></a>
-<span class="sourceLineNo">700</span>          throw new IllegalStateException("Invalid klen " + klen + " or vlen "<a name="line.700"></a>
-<span class="sourceLineNo">701</span>              + vlen + ". Block offset: "<a name="line.701"></a>
-<span class="sourceLineNo">702</span>              + curBlock.getOffset() + ", block length: " + blockBuffer.limit() + ", position: "<a name="line.702"></a>
-<span class="sourceLineNo">703</span>              + blockBuffer.position() + " (without header).");<a name="line.703"></a>
-<span class="sourceLineNo">704</span>        }<a name="line.704"></a>
-<span class="sourceLineNo">705</span>        offsetFromPos += Bytes.SIZEOF_LONG;<a name="line.705"></a>
-<span class="sourceLineNo">706</span>        blockBuffer.asSubByteBuffer(blockBuffer.position() + offsetFromPos, klen, pair);<a name="line.706"></a>
-<span class="sourceLineNo">707</span>        bufBackedKeyOnlyKv.setKey(pair.getFirst(), pair.getSecond(), klen);<a name="line.707"></a>
-<span class="sourceLineNo">708</span>        int comp = reader.getComparator().compareKeyIgnoresMvcc(key, bufBackedKeyOnlyKv);<a name="line.708"></a>
-<span class="sourceLineNo">709</span>        offsetFromPos += klen + vlen;<a name="line.709"></a>
-<span class="sourceLineNo">710</span>        if (this.reader.getFileContext().isIncludesTags()) {<a name="line.710"></a>
-<span class="sourceLineNo">711</span>          // Read short as unsigned, high byte first<a name="line.711"></a>
-<span class="sourceLineNo">712</span>          tlen = ((blockBuffer.getByteAfterPosition(offsetFromPos) &amp; 0xff) &lt;&lt; 8)<a name="line.712"></a>
-<span class="sourceLineNo">713</span>              ^ (blockBuffer.getByteAfterPosition(offsetFromPos + 1) &amp; 0xff);<a name="line.713"></a>
-<span class="sourceLineNo">714</span>          if (tlen &lt; 0 || tlen &gt; blockBuffer.limit()) {<a name="line.714"></a>
-<span class="sourceLineNo">715</span>            throw new IllegalStateException("Invalid tlen " + tlen + ". Block offset: "<a name="line.715"></a>
-<span class="sourceLineNo">716</span>                + curBlock.getOffset() + ", block length: " + blockBuffer.limit() + ", position: "<a name="line.716"></a>
-<span class="sourceLineNo">717</span>                + blockBuffer.position() + " (without header).");<a name="line.717"></a>
-<span class="sourceLineNo">718</span>          }<a name="line.718"></a>
-<span class="sourceLineNo">719</span>          // add the two bytes read for the tags.<a name="line.719"></a>
-<span class="sourceLineNo">720</span>          offsetFromPos += tlen + (Bytes.SIZEOF_SHORT);<a name="line.720"></a>
-<span class="sourceLineNo">721</span>        }<a name="line.721"></a>
-<span class="sourceLineNo">722</span>        if (this.reader.shouldIncludeMemstoreTS()) {<a name="line.722"></a>
-<span class="sourceLineNo">723</span>          // Directly read the mvcc based on current position<a name="line.723"></a>
-<span class="sourceLineNo">724</span>          readMvccVersion(offsetFromPos);<a name="line.724"></a>
-<span class="sourceLineNo">725</span>        }<a name="line.725"></a>
-<span class="sourceLineNo">726</span>        if (comp == 0) {<a name="line.726"></a>
-<span class="sourceLineNo">727</span>          if (seekBefore) {<a name="line.727"></a>
-<span class="sourceLineNo">728</span>            if (lastKeyValueSize &lt; 0) {<a name="line.728"></a>
-<span class="sourceLineNo">729</span>              throw new IllegalStateException("blockSeek with seekBefore "<a name="line.729"></a>
-<span class="sourceLineNo">730</span>                  + "at the first key of the block: key=" + CellUtil.getCellKeyAsString(key)<a name="line.730"></a>
-<span class="sourceLineNo">731</span>                  + ", blockOffset=" + curBlock.getOffset() + ", onDiskSize="<a name="line.731"></a>
-<span class="sourceLineNo">732</span>                  + curBlock.getOnDiskSizeWithHeader());<a name="line.732"></a>
-<span class="sourceLineNo">733</span>            }<a name="line.733"></a>
-<span class="sourceLineNo">734</span>            blockBuffer.moveBack(lastKeyValueSize);<a name="line.734"></a>
-<span class="sourceLineNo">735</span>            readKeyValueLen();<a name="line.735"></a>
-<span class="sourceLineNo">736</span>            return 1; // non exact match.<a name="line.736"></a>
-<span class="sourceLineNo">737</span>          }<a name="line.737"></a>
-<span class="sourceLineNo">738</span>          currKeyLen = klen;<a name="line.738"></a>
-<span class="sourceLineNo">739</span>          currValueLen = vlen;<a name="line.739"></a>
-<span class="sourceLineNo">740</span>          currTagsLen = tlen;<a name="line.740"></a>
-<span class="sourceLineNo">741</span>          return 0; // indicate exact match<a name="line.741"></a>
-<span class="sourceLineNo">742</span>        } else if (comp &lt; 0) {<a name="line.742"></a>
-<span class="sourceLineNo">743</span>          if (lastKeyValueSize &gt; 0) {<a name="line.743"></a>
-<span class="sourceLineNo">744</span>            blockBuffer.moveBack(lastKeyValueSize);<a name="line.744"></a>
-<span class="sourceLineNo">745</span>          }<a name="line.745"></a>
-<span class="sourceLineNo">746</span>          readKeyValueLen();<a name="line.746"></a>
-<span class="sourceLineNo">747</span>          if (lastKeyValueSize == -1 &amp;&amp; blockBuffer.position() == 0) {<a name="line.747"></a>
-<span class="sourceLineNo">748</span>            return HConstants.INDEX_KEY_MAGIC;<a name="line.748"></a>
-<span class="sourceLineNo">749</span>          }<a name="line.749"></a>
-<span class="sourceLineNo">750</span>          return 1;<a name="line.750"></a>
-<span class="sourceLineNo">751</span>        }<a name="line.751"></a>
-<span class="sourceLineNo">752</span>        // The size of this key/value tuple, including key/value length fields.<a name="line.752"></a>
-<span class="sourceLineNo">753</span>        lastKeyValueSize = klen + vlen + currMemstoreTSLen + KEY_VALUE_LEN_SIZE;<a name="line.753"></a>
-<span class="sourceLineNo">754</span>        // include tag length also if tags included with KV<a name="line.754"></a>
-<span class="sourceLineNo">755</span>        if (reader.getFileContext().isIncludesTags()) {<a name="line.755"></a>
-<span class="sourceLineNo">756</span>          lastKeyValueSize += tlen + Bytes.SIZEOF_SHORT;<a name="line.756"></a>
-<span class="sourceLineNo">757</span>        }<a name="line.757"></a>
-<span class="sourceLineNo">758</span>        blockBuffer.skip(lastKeyValueSize);<a name="line.758"></a>
-<span class="sourceLineNo">759</span>      } while (blockBuffer.hasRemaining());<a name="line.759"></a>
-<span class="sourceLineNo">760</span><a name="line.760"></a>
-<span class="sourceLineNo">761</span>      // Seek to the last key we successfully read. This will happen if this is<a name="line.761"></a>
-<span class="sourceLineNo">762</span>      // the last key/value pair in the file, in which case the following call<a name="line.762"></a>
-<span class="sourceLineNo">763</span>      // to next() has to return false.<a name="line.763"></a>
-<span class="sourceLineNo">764</span>      blockBuffer.moveBack(lastKeyValueSize);<a name="line.764"></a>
-<span class="sourceLineNo">765</span>      readKeyValueLen();<a name="line.765"></a>
-<span class="sourceLineNo">766</span>      return 1; // didn't exactly find it.<a name="line.766"></a>
-<span class="sourceLineNo">767</span>    }<a name="line.767"></a>
-<span class="sourceLineNo">768</span><a name="line.768"></a>
-<span class="sourceLineNo">769</span>    @Override<a name="line.769"></a>
-<span class="sourceLineNo">770</span>    public Cell getNextIndexedKey() {<a name="line.770"></a>
-<span class="sourceLineNo">771</span>      return nextIndexedKey;<a name="line.771"></a>
-<span class="sourceLineNo">772</span>    }<a name="line.772"></a>
-<span class="sourceLineNo">773</span><a name="line.773"></a>
-<span class="sourceLineNo">774</span>    @Override<a name="line.774"></a>
-<span class="sourceLineNo">775</span>    public int seekTo(Cell key) throws IOException {<a name="line.775"></a>
-<span class="sourceLineNo">776</span>      return seekTo(key, true);<a name="line.776"></a>
-<span class="sourceLineNo">777</span>    }<a name="line.777"></a>
-<span class="sourceLineNo">778</span><a name="line.778"></a>
-<span class="sourceLineNo">779</span>    @Override<a name="line.779"></a>
-<span class="sourceLineNo">780</span>    public int reseekTo(Cell key) throws IOException {<a name="line.780"></a>
-<span class="sourceLineNo">781</span>      int compared;<a name="line.781"></a>
-<span class="sourceLineNo">782</span>      if (isSeeked()) {<a name="line.782"></a>
-<span class="sourceLineNo">783</span>        compared = compareKey(reader.getComparator(), key);<a name="line.783"></a>
-<span class="sourceLineNo">784</span>        if (compared &lt; 1) {<a name="line.784"></a>
-<span class="sourceLineNo">785</span>          // If the required key is less than or equal to current key, then<a name="line.785"></a>
-<span class="sourceLineNo">786</span>          // don't do anything.<a name="line.786"></a>
-<span class="sourceLineNo">787</span>          return compared;<a name="line.787"></a>
-<span class="sourceLineNo">788</span>        } else {<a name="line.788"></a>
-<span class="sourceLineNo">789</span>          // The comparison with no_next_index_key has to be checked<a name="line.789"></a>
-<span class="sourceLineNo">790</span>          if (this.nextIndexedKey != null &amp;&amp;<a name="line.790"></a>
-<span class="sourceLineNo">791</span>              (this.nextIndexedKey == HConstants.NO_NEXT_INDEXED_KEY || reader<a name="line.791"></a>
-<span class="sourceLineNo">792</span>              .getComparator().compareKeyIgnoresMvcc(key, nextIndexedKey) &lt; 0)) {<a name="line.792"></a>
-<span class="sourceLineNo">793</span>            // The reader shall continue to scan the current data block instead<a name="line.793"></a>
-<span class="sourceLineNo">794</span>            // of querying the<a name="line.794"></a>
-<span class="sourceLineNo">795</span>            // block index as long as it knows the target key is strictly<a name="line.795"></a>
-<span class="sourceLineNo">796</span>            // smaller than<a name="line.796"></a>
-<span class="sourceLineNo">797</span>            // the next indexed key or the current data block is the last data<a name="line.797"></a>
-<span class="sourceLineNo">798</span>            // block.<a name="line.798"></a>
-<span class="sourceLineNo">799</span>            return loadBlockAndSeekToKey(this.curBlock, nextIndexedKey, false, key,<a name="line.799"></a>
-<span class="sourceLineNo">800</span>                false);<a name="line.800"></a>
-<span class="sourceLineNo">801</span>          }<a name="line.801"></a>
-<span class="sourceLineNo">802</span><a name="line.802"></a>
-<span class="sourceLineNo">803</span>        }<a name="line.803"></a>
-<span class="sourceLineNo">804</span>      }<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      // Don't rewind on a reseek operation, because reseek implies that we are<a name="line.805"></a>
-<span class="sourceLineNo">806</span>      // always going forward in the file.<a name="line.806"></a>
-<span class="sourceLineNo">807</span>      return seekTo(key, false);<a name="line.807"></a>
-<span class="sourceLineNo">808</span>    }<a name="line.808"></a>
-<span class="sourceLineNo">809</span><a name="line.809"></a>
-<span class="sourceLineNo">810</span>    /**<a name="line.810"></a>
-<span class="sourceLineNo">811</span>     * An internal API function. Seek to the given key, optionally rewinding to<a name="line.811"></a>
-<span class="sourceLineNo">812</span>     * the first key of the block before doing the seek.<a name="line.812"></a>
-<span class="sourceLineNo">813</span>     *<a name="line.813"></a>
-<span class="sourceLineNo">814</span>     * @param key - a cell representing the key that we need to fetch<a name="line.814"></a>
-<span class="sourceLineNo">815</span>     * @param rewind whether to rewind to the first key of the block before<a name="line.815"></a>
-<span class="sourceLineNo">816</span>     *        doing the seek. If this is false, we are assuming we never go<a name="line.816"></a>
-<span class="sourceLineNo">817</span>     *        back, otherwise the result is undefined.<a name="line.817"></a>
-<span class="sourceLineNo">818</span>     * @return -1 if the key is earlier than the first key of the file,<a name="line.818"></a>
-<span class="sourceLineNo">819</span>     *         0 if we are at the given key, 1 if we are past the given key<a name="line.819"></a>
-<span class="sourceLineNo">820</span>     *         -2 if the key is earlier than the first key of the file while<a name="line.820"></a>
-<span class="sourceLineNo">821</span>     *         using a faked index key<a name="line.821"></a>
-<span class="sourceLineNo">822</span>     * @throws IOException<a name="line.822"></a>
-<span class="sourceLineNo">823</span>     */<a name="line.823"></a>
-<span class="sourceLineNo">824</span>    public int seekTo(Cell key, boolean rewind) throws IOException {<a name="line.824"></a>
-<span class="sourceLineNo">825</span>      HFileBlockIndex.BlockIndexReader indexReader = reader.getDataBlockIndexReader();<a name="line.825"></a>
-<span class="sourceLineNo">826</span>      BlockWithScanInfo blockWithScanInfo = indexReader.loadDataBlockWithScanInfo(key, curBlock,<a name="line.826"></a>
-<span class="sourceLineNo">827</span>          cacheBlocks, pread, isCompaction, getEffectiveDataBlockEncoding());<a name="line.827"></a>
-<span class="sourceLineNo">828</span>      if (blockWithScanInfo == null || blockWithScanInfo.getHFileBlock() == null) {<a name="line.828"></a>
-<span class="sourceLineNo">829</span>        // This happens if the key e.g. falls before the beginning of the<a name="line.829"></a>
-<span class="sourceLineNo">830</span>        // file.<a name="line.830"></a>
-<span class="sourceLineNo">831</span>        return -1;<a name="line.831"></a>
-<span class="sourceLineNo">832</span>      }<a name="line.832"></a>
-<span class="sourceLineNo">833</span>      return loadBlockAndSeekToKey(blockWithScanInfo.getHFileBlock(),<a name="line.833"></a>
-<span class="sourceLineNo">834</span>          blockWithScanInfo.getNextIndexedKey(), rewind, key, false);<a name="line.834"></a>
-<span class="sourceLineNo">835</span>    }<a name="line.835"></a>
-<span class="sourceLineNo">836</span><a name="line.836"></a>
-<span class="sourceLineNo">837</span>    @Override<a name="line.837"></a>
-<span class="sourceLineNo">838</span>    public boolean seekBefore(Cell key) throws IOException {<a name="line.838"></a>
-<span class="sourceLineNo">839</span>      HFileBlock seekToBlock = reader.getDataBlockIndexReader().seekToDataBlock(key, curBlock,<a name="line.839"></a>
-<span class="sourceLineNo">840</span>          cacheBlocks, pread, isCompaction, reader.getEffectiveEncodingInCache(isCompaction));<a name="line.840"></a>
-<span class="sourceLineNo">841</span>      if (seekToBlock == null) {<a name="line.841"></a>
-<span class="sourceLineNo">842</span>        return false;<a name="line.842"></a>
-<span class="sourceLineNo">843</span>      }<a name="line.843"></a>
-<span class="sourceLineNo">844</span>      Cell firstKey = getFirstKeyCellInBlock(seekToBlock);<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      if (reader.getComparator()<a name="line.845"></a>
-<span class="sourceLineNo">846</span>           .compareKeyIgnoresMvcc(firstKey, key) &gt;= 0) {<a name="line.846"></a>
-<span class="sourceLineNo">847</span>        long previousBlockOffset = seekToBlock.getPrevBlockOffset();<a name="line.847"></a>
-<span class="sourceLineNo">848</span>        // The key we are interested in<a name="line.848"></a>
-<span class="sourceLineNo">849</span>        if (previousBlockOffset == -1) {<a name="line.849"></a>
-<span class="sourceLineNo">850</span>          // we have a 'problem', the key we want is the first of the file.<a name="line.850"></a>
-<span class="sourceLineNo">851</span>          return false;<a name="line.851"></a>
-<span class="sourceLineNo">852</span>        }<a name="line.852"></a>
-<span class="sourceLineNo">853</span><a name="line.853"></a>
-<span class="sourceLineNo">854</span>        // The first key in the current block 'seekToBlock' is greater than the given <a name="line.854"></a>
-<span class="sourceLineNo">855</span>        // seekBefore key. We will go ahead by reading the next block that satisfies the<a name="line.855"></a>
-<span class="sourceLineNo">856</span>        // given key. Return the current block before reading the next one.<a name="line.856"></a>
-<span class="sourceLineNo">857</span>        reader.returnBlock(seekToBlock);<a name="line.857"></a>
-<span class="sourceLineNo">858</span>        // It is important that we compute and pass onDiskSize to the block<a name="line.858"></a>
-<span class="sourceLineNo">859</span>        // reader so that it does not have to read the header separately to<a name="line.859"></a>
-<span class="sourceLineNo">860</span>        // figure out the size.  Currently, we do not have a way to do this<a name="line.860"></a>
-<span class="sourceLineNo">861</span>        // correctly in the general case however.<a name="line.861"></a>
-<span class="sourceLineNo">862</span>        // TODO: See https://issues.apache.org/jira/browse/HBASE-14576<a name="line.862"></a>
-<span class="sourceLineNo">863</span>        int prevBlockSize = -1;<a name="line.863"></a>
-<span class="sourceLineNo">864</span>        seekToBlock = reader.readBlock(previousBlockOffset,<a name="line.864"></a>
-<span class="sourceLineNo">865</span>            prevBlockSize, cacheBlocks,<a name="line.865"></a>
-<span class="sourceLineNo">866</span>            pread, isCompaction, true, BlockType.DATA, getEffectiveDataBlockEncoding());<a name="line.866"></a>
-<span class="sourceLineNo">867</span>        // TODO shortcut: seek forward in this block to the last key of the<a name="line.867"></a>
-<span class="sourceLineNo">868</span>        // block.<a name="line.868"></a>
-<span class="sourceLineNo">869</span>      }<a name="line.869"></a>
-<span class="sourceLineNo">870</span>      loadBlockAndSeekToKey(seekToBlock, firstKey, true, key, true);<a name="line.870"></a>
-<span class="sourceLineNo">871</span>      return true;<a name="line.871"></a>
-<span class="sourceLineNo">872</span>    }<a name="line.872"></a>
-<span class="sourceLineNo">873</span><a name="line.873"></a>
-<span class="sourceLineNo">874</span>    /**<a name="line.874"></a>
-<span class="sourceLineNo">875</span>     * Scans blocks in the "scanned" section of the {@link HFile} until the next<a name="line.875"></a>
-<span class="sourceLineNo">876</span>     * data block is found.<a name="line.876"></a>
-<span class="sourceLineNo">877</span>     *<a name="line.877"></a>
-<span class="sourceLineNo">878</span>     * @return the next block, or null if there are no more data blocks<a name="line.878"></a>
-<span class="sourceLineNo">879</span>     * @throws IOException<a name="line.879"></a>
-<span class="sourceLineNo">880</span>     */<a name="line.880"></a>
-<span class="sourceLineNo">881</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="NP_NULL_ON_SOME_PATH",<a name="line.881"></a>
-<span class="sourceLineNo">882</span>        justification="Yeah, unnecessary null check; could do w/ clean up")<a name="line.882"></a>
-<span class="sourceLineNo">883</span>    protected HFileBlock readNextDataBlock() throws IOException {<a name="line.883"></a>
-<span class="sourceLineNo">884</span>      long lastDataBlockOffset = reader.getTrailer().getLastDataBlockOffset();<a name="line.884"></a>
-<span class="sourceLineNo">885</span>      if (curBlock == null)<a name="line.885"></a>
-<span class="sourceLineNo">886</span>        return null;<a name="line.886"></a>
-<span class="sourceLineNo">887</span><a name="line.887"></a>
-<span class="sourceLineNo">888</span>      HFileBlock block = this.curBlock;<a name="line.888"></a>
-<span class="sourceLineNo">889</span><a name="line.889"></a>
-<span class="sourceLineNo">890</span>      do {<a name="line.890"></a>
-<span class="sourceLineNo">891</span>        if (block.getOffset() &gt;= lastDataBlockOffset) {<a name="line.891"></a>
-<span class="sourceLineNo">892</span>          return null;<a name="line.892"></a>
-<span class="sourceLineNo">893</span>        }<a name="line.893"></a>
-<span class="sourceLineNo">894</span><a name="line.894"></a>
-<span class="sourceLineNo">895</span>        if (block.getOffset() &lt; 0) {<a name="line.895"></a>
-<span class="sourceLineNo">896</span>          throw new IOException("Invalid block file offset: " + block);<a name="line.896"></a>
-<span class="sourceLineNo">897</span>        }<a name="line.897"></a>
-<span class="sourceLineNo">898</span><a name="line.898"></a>
-<span class="sourceLineNo">899</span>        // We are reading the next block without block type validation, because<a name="line.899"></a>
-<span class="sourceLineNo">900</span>        // it might turn out to be a non-data block.<a name="line.900"></a>
-<span class="sourceLineNo">901</span>        block = reader.readBlock(block.getOffset()<a name="line.901"></a>
-<span class="sourceLineNo">902</span>            + block.getOnDiskSizeWithHeader(),<a name="line.902"></a>
-<span class="sourceLineNo">903</span>            block.getNextBlockOnDiskSizeWithHeader(), cacheBlocks, pread,<a name="line.903"></a>
-<span class="sourceLineNo">904</span>            isCompaction, true, null, getEffectiveDataBlockEncoding());<a name="line.904"></a>
-<span class="sourceLineNo">905</span>        if (block != null &amp;&amp; !block.getBlockType().isData()) { // Findbugs: NP_NULL_ON_SOME_PATH<a name="line.905"></a>
-<span class="sourceLineNo">906</span>          // Whatever block we read we will be returning it unless<a name="line.906"></a>
-<span class="sourceLineNo">907</span>          // it is a datablock. Just in case the blocks are non data blocks<a name="line.907"></a>
-<span class="sourceLineNo">908</span>          reader.returnBlock(block);<a name="line.908"></a>
-<span class="sourceLineNo">909</span>        }<a name="line.909"></a>
-<span class="sourceLineNo">910</span>      } while (!block.getBlockType().isData());<a name="line.910"></a>
-<span class="sourceLineNo">911</span><a name="line.911"></a>
-<span class="sourceLineNo">912</span>      return block;<a name="line.912"></a>
-<span class="sourceLineNo">913</span>    }<a name="line.913"></a>
-<span class="sourceLineNo">914</span><a name="line.914"></a>
-<span class="sourceLineNo">915</span>    public DataBlockEncoding getEffectiveDataBlockEncoding() {<a name="line.915"></a>
-<span class="sourceLineNo">916</span>      return this.reader.getEffectiveEncodingInCache(isCompaction);<a name="line.916"></a>
-<span class="sourceLineNo">917</span>    }<a name="line.917"></a>
-<span class="sourceLineNo">918</span><a name="line.918"></a>
-<span class="sourceLineNo">919</span>    @Override<a name="line.919"></a>
-<span class="sourceLineNo">920</span>    public Cell getCell() {<a name="line.920"></a>
-<span class="sourceLineNo">921</span>      if (!isSeeked())<a name="line.921"></a>
-<span class="sourceLineNo">922</span>        return null;<a name="line.922"></a>
-<span class="sourceLineNo">923</span><a name="line.923"></a>
-<span class="sourceLineNo">924</span>      Cell ret;<a name="line.924"></a>
-<span class="sourceLineNo">925</span>      int cellBufSize = getCellBufSize();<a name="line.925"></a>
-<span class="sourceLineNo">926</span>      long seqId = 0l;<a name="line.926"></a>
-<span class="sourceLineNo">927</span>      if (this.reader.shouldIncludeMemstoreTS()) {<a name="line.927"></a>
-<span class="sourceLineNo">928</span>        seqId = currMemstoreTS;<a name="line.928"></a>
-<span class="sourceLineNo">929</span>      }<a name="line.929"></a>
-<span class="sourceLineNo">930</span>      if (blockBuffer.hasArray()) {<a name="line.930"></a>
-<span class="sourceLineNo">931</span>        // TODO : reduce the varieties of KV here. Check if based on a boolean<a name="line.931"></a>
-<span class="sourceLineNo">932</span>        // we can handle the 'no tags' case.<a name="line.932"></a>
-<span class="sourceLineNo">933</span>        if (currTagsLen &gt; 0) {<a name="line.933"></a>
-<span class="sourceLineNo">934</span>          if (this.curBlock.usesSharedMemory()) {<a name="line.934"></a>
-<span class="sourceLineNo">935</span>            ret = new ShareableMemoryKeyValue(blockBuffer.array(), blockBuffer.arrayOffset()<a name="line.935"></a>
-<span class="sourceLineNo">936</span>              + blockBuffer.position(), getCellBufSize(), seqId);<a name="line.936"></a>
-<span class="sourceLineNo">937</span>          } else {<a name="line.937"></a>
-<span class="sourceLineNo">938</span>            ret = new SizeCachedKeyValue(blockBuffer.array(), blockBuffer.arrayOffset()<a name="line.938"></a>
-<span class="sourceLineNo">939</span>                    + blockBuffer.position(), cellBufSize, seqId);<a name="line.939"></a>
-<span class="sourceLineNo">940</span>          }<a name="line.940"></a>
-<span class="sourceLineNo">941</span>        } else {<a name="line.941"></a>
-<span class="sourceLineNo">942</span>          if (this.curBlock.usesSharedMemory()) {<a name="line.942"></a>
-<span class="sourceLineNo">943</span>            ret = new ShareableMemoryNoT

<TRUNCATED>

[50/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/apache_hbase_reference_guide.pdf
----------------------------------------------------------------------
diff --git a/apache_hbase_reference_guide.pdf b/apache_hbase_reference_guide.pdf
index 6f7d04e..2e11296 100644
--- a/apache_hbase_reference_guide.pdf
+++ b/apache_hbase_reference_guide.pdf
@@ -5,16 +5,16 @@
 /Author (Apache HBase Team)
 /Creator (Asciidoctor PDF 1.5.0.alpha.6, based on Prawn 1.2.1)
 /Producer (Apache HBase Team)
-/CreationDate (D:20160129151016+00'00')
-/ModDate (D:20160129151016+00'00')
+/CreationDate (D:20160201151328+00'00')
+/ModDate (D:20160201151328+00'00')
 >>
 endobj
 2 0 obj
 << /Type /Catalog
 /Pages 3 0 R
 /Names 25 0 R
-/Outlines 3920 0 R
-/PageLabels 4122 0 R
+/Outlines 3922 0 R
+/PageLabels 4124 0 R
 /PageMode /UseOutlines
 /ViewerPreferences [/FitWindow]
 >>
@@ -22,7 +22,7 @@ endobj
 3 0 obj
 << /Type /Pages
 /Count 646
-/Kids [7 0 R 13 0 R 15 0 R 17 0 R 19 0 R 21 0 R 23 0 R 39 0 R 42 0 R 46 0 R 58 0 R 62 0 R 64 0 R 66 0 R 68 0 R 75 0 R 78 0 R 80 0 R 85 0 R 88 0 R 90 0 R 92 0 R 101 0 R 105 0 R 110 0 R 112 0 R 128 0 R 133 0 R 140 0 R 143 0 R 146 0 R 155 0 R 166 0 R 182 0 R 186 0 R 190 0 R 192 0 R 196 0 R 202 0 R 204 0 R 206 0 R 208 0 R 210 0 R 213 0 R 219 0 R 221 0 R 223 0 R 225 0 R 227 0 R 229 0 R 231 0 R 233 0 R 237 0 R 241 0 R 243 0 R 245 0 R 247 0 R 249 0 R 251 0 R 253 0 R 255 0 R 258 0 R 263 0 R 265 0 R 267 0 R 269 0 R 274 0 R 278 0 R 281 0 R 286 0 R 289 0 R 293 0 R 308 0 R 319 0 R 326 0 R 336 0 R 347 0 R 352 0 R 354 0 R 356 0 R 365 0 R 370 0 R 373 0 R 378 0 R 382 0 R 393 0 R 405 0 R 420 0 R 426 0 R 428 0 R 430 0 R 437 0 R 448 0 R 459 0 R 470 0 R 473 0 R 476 0 R 480 0 R 484 0 R 487 0 R 490 0 R 492 0 R 495 0 R 499 0 R 501 0 R 505 0 R 514 0 R 516 0 R 522 0 R 524 0 R 528 0 R 536 0 R 538 0 R 541 0 R 544 0 R 547 0 R 550 0 R 565 0 R 572 0 R 579 0 R 590 0 R 597 0 R 605 0 R 613 0 R 616 0 R 620 0 R 623 0
  R 635 0 R 643 0 R 649 0 R 654 0 R 658 0 R 660 0 R 675 0 R 687 0 R 693 0 R 700 0 R 703 0 R 711 0 R 719 0 R 724 0 R 729 0 R 734 0 R 736 0 R 738 0 R 740 0 R 748 0 R 757 0 R 761 0 R 768 0 R 776 0 R 782 0 R 786 0 R 793 0 R 797 0 R 802 0 R 810 0 R 812 0 R 816 0 R 827 0 R 832 0 R 834 0 R 837 0 R 841 0 R 847 0 R 850 0 R 862 0 R 866 0 R 871 0 R 879 0 R 884 0 R 888 0 R 892 0 R 894 0 R 897 0 R 899 0 R 903 0 R 905 0 R 908 0 R 913 0 R 917 0 R 922 0 R 926 0 R 933 0 R 937 0 R 942 0 R 955 0 R 960 0 R 964 0 R 969 0 R 971 0 R 980 0 R 983 0 R 988 0 R 991 0 R 1000 0 R 1003 0 R 1009 0 R 1016 0 R 1019 0 R 1021 0 R 1030 0 R 1032 0 R 1034 0 R 1037 0 R 1039 0 R 1041 0 R 1043 0 R 1045 0 R 1047 0 R 1050 0 R 1053 0 R 1058 0 R 1061 0 R 1063 0 R 1065 0 R 1067 0 R 1072 0 R 1081 0 R 1084 0 R 1086 0 R 1088 0 R 1093 0 R 1095 0 R 1098 0 R 1100 0 R 1102 0 R 1104 0 R 1107 0 R 1113 0 R 1118 0 R 1125 0 R 1130 0 R 1144 0 R 1155 0 R 1159 0 R 1172 0 R 1181 0 R 1197 0 R 1201 0 R 1211 0 R 1224 0 R 1227 0 R 1239 0 R 1248 0 R 
 1256 0 R 1260 0 R 1269 0 R 1274 0 R 1278 0 R 1284 0 R 1290 0 R 1297 0 R 1305 0 R 1307 0 R 1318 0 R 1320 0 R 1325 0 R 1329 0 R 1334 0 R 1344 0 R 1350 0 R 1356 0 R 1358 0 R 1360 0 R 1372 0 R 1379 0 R 1389 0 R 1395 0 R 1408 0 R 1417 0 R 1421 0 R 1431 0 R 1442 0 R 1445 0 R 1451 0 R 1455 0 R 1458 0 R 1463 0 R 1469 0 R 1473 0 R 1478 0 R 1483 0 R 1486 0 R 1489 0 R 1491 0 R 1500 0 R 1507 0 R 1513 0 R 1518 0 R 1522 0 R 1525 0 R 1531 0 R 1536 0 R 1541 0 R 1543 0 R 1545 0 R 1548 0 R 1550 0 R 1559 0 R 1562 0 R 1568 0 R 1575 0 R 1579 0 R 1584 0 R 1587 0 R 1589 0 R 1594 0 R 1597 0 R 1599 0 R 1601 0 R 1603 0 R 1610 0 R 1621 0 R 1626 0 R 1633 0 R 1636 0 R 1638 0 R 1640 0 R 1642 0 R 1645 0 R 1647 0 R 1649 0 R 1651 0 R 1655 0 R 1659 0 R 1668 0 R 1670 0 R 1672 0 R 1674 0 R 1676 0 R 1682 0 R 1684 0 R 1689 0 R 1691 0 R 1693 0 R 1700 0 R 1705 0 R 1710 0 R 1714 0 R 1717 0 R 1720 0 R 1724 0 R 1726 0 R 1729 0 R 1731 0 R 1733 0 R 1735 0 R 1739 0 R 1741 0 R 1745 0 R 1747 0 R 1749 0 R 1751 0 R 1753 0 R 1758 0 
 R 1760 0 R 1762 0 R 1770 0 R 1780 0 R 1783 0 R 1798 0 R 1813 0 R 1817 0 R 1822 0 R 1825 0 R 1828 0 R 1833 0 R 1835 0 R 1842 0 R 1844 0 R 1847 0 R 1849 0 R 1851 0 R 1853 0 R 1855 0 R 1859 0 R 1861 0 R 1870 0 R 1876 0 R 1882 0 R 1893 0 R 1905 0 R 1917 0 R 1937 0 R 1939 0 R 1941 0 R 1945 0 R 1962 0 R 1969 0 R 1976 0 R 1985 0 R 1989 0 R 2000 0 R 2010 0 R 2015 0 R 2024 0 R 2037 0 R 2054 0 R 2064 0 R 2067 0 R 2076 0 R 2091 0 R 2098 0 R 2101 0 R 2106 0 R 2111 0 R 2121 0 R 2129 0 R 2132 0 R 2134 0 R 2138 0 R 2151 0 R 2159 0 R 2165 0 R 2169 0 R 2172 0 R 2174 0 R 2176 0 R 2178 0 R 2180 0 R 2185 0 R 2187 0 R 2197 0 R 2207 0 R 2214 0 R 2226 0 R 2231 0 R 2235 0 R 2248 0 R 2255 0 R 2261 0 R 2263 0 R 2274 0 R 2281 0 R 2292 0 R 2296 0 R 2305 0 R 2311 0 R 2321 0 R 2329 0 R 2337 0 R 2343 0 R 2348 0 R 2352 0 R 2354 0 R 2361 0 R 2365 0 R 2369 0 R 2375 0 R 2382 0 R 2387 0 R 2391 0 R 2401 0 R 2406 0 R 2411 0 R 2424 0 R 2431 0 R 2435 0 R 2440 0 R 2447 0 R 2450 0 R 2455 0 R 2463 0 R 2469 0 R 2471 0 R 2478 
 0 R 2485 0 R 2492 0 R 2499 0 R 2506 0 R 2513 0 R 2515 0 R 2524 0 R 2530 0 R 2533 0 R 2543 0 R 2547 0 R 2552 0 R 2554 0 R 2563 0 R 2567 0 R 2571 0 R 2573 0 R 2575 0 R 2584 0 R 2590 0 R 2597 0 R 2599 0 R 2605 0 R 2609 0 R 2611 0 R 2618 0 R 2621 0 R 2626 0 R 2631 0 R 2635 0 R 2637 0 R 2642 0 R 2645 0 R 2654 0 R 2656 0 R 2659 0 R 2662 0 R 2664 0 R 2677 0 R 2682 0 R 2687 0 R 2693 0 R 2698 0 R 2713 0 R 2727 0 R 2731 0 R 2746 0 R 2752 0 R 2756 0 R 2772 0 R 2774 0 R 2781 0 R 2790 0 R 2794 0 R 2801 0 R 2808 0 R 2818 0 R 2825 0 R 2832 0 R 2837 0 R 2842 0 R 2844 0 R 2849 0 R 2852 0 R 2858 0 R 2866 0 R 2874 0 R 2880 0 R 2885 0 R 2894 0 R 2902 0 R 2908 0 R 2916 0 R 2921 0 R 2925 0 R 2932 0 R 2936 0 R 2941 0 R 2949 0 R 2951 0 R 2953 0 R 2959 0 R 2961 0 R 2971 0 R 2977 0 R 2982 0 R 2988 0 R 2998 0 R 3005 0 R 3019 0 R 3024 0 R 3035 0 R 3047 0 R 3054 0 R 3056 0 R 3058 0 R 3063 0 R 3081 0 R 3085 0 R 3088 0 R 3093 0 R 3095 0 R 3099 0 R 3101 0 R 3105 0 R 3109 0 R 3113 0 R 3118 0 R 3125 0 R 3131 0 R 313
 5 0 R 3138 0 R 3140 0 R 3143 0 R 3146 0 R 3150 0 R 3158 0 R 3167 0 R 3171 0 R 3176 0 R 3183 0 R 3185 0 R 3194 0 R 3199 0 R 3203 0 R 3209 0 R 3214 0 R 3218 0 R 3223 0 R 3227 0 R 3238 0 R 3251 0 R 3270 0 R 3276 0 R 3279 0 R 3282 0 R 3287 0 R 3292 0 R 3297 0 R 3299 0 R 3301 0 R 3303 0 R 3305 0 R 3307 0 R 3316 0 R 3320 0 R 3328 0 R 3331 0 R 3333 0 R 3341 0 R 3346 0 R 3350 0 R 3352 0 R 3354 0 R 3356 0 R 3359 0 R 3366 0 R 3373 0 R 3383 0 R 3388 0 R 3391 0 R 3394 0 R 3398 0 R 3402 0 R 3406 0 R 3421 0 R 3425 0 R 3448 0 R 3452 0 R 3456 0 R 3464 0 R 3472 0 R 3481 0 R 3483 0 R 3486 0 R 3489 0 R 3505 0 R 3511 0 R 3518 0 R]
+/Kids [7 0 R 13 0 R 15 0 R 17 0 R 19 0 R 21 0 R 23 0 R 39 0 R 43 0 R 47 0 R 58 0 R 62 0 R 64 0 R 66 0 R 68 0 R 75 0 R 78 0 R 80 0 R 85 0 R 88 0 R 90 0 R 92 0 R 101 0 R 106 0 R 111 0 R 113 0 R 129 0 R 134 0 R 141 0 R 144 0 R 147 0 R 156 0 R 167 0 R 183 0 R 187 0 R 191 0 R 193 0 R 197 0 R 203 0 R 205 0 R 207 0 R 209 0 R 211 0 R 214 0 R 220 0 R 222 0 R 224 0 R 226 0 R 228 0 R 230 0 R 232 0 R 234 0 R 238 0 R 242 0 R 244 0 R 246 0 R 248 0 R 250 0 R 252 0 R 254 0 R 256 0 R 259 0 R 264 0 R 266 0 R 268 0 R 270 0 R 275 0 R 279 0 R 282 0 R 287 0 R 290 0 R 294 0 R 309 0 R 320 0 R 327 0 R 337 0 R 348 0 R 353 0 R 355 0 R 357 0 R 367 0 R 372 0 R 375 0 R 380 0 R 384 0 R 395 0 R 407 0 R 422 0 R 428 0 R 430 0 R 432 0 R 439 0 R 450 0 R 461 0 R 472 0 R 475 0 R 478 0 R 482 0 R 486 0 R 489 0 R 492 0 R 494 0 R 497 0 R 501 0 R 503 0 R 507 0 R 516 0 R 518 0 R 524 0 R 526 0 R 530 0 R 538 0 R 540 0 R 543 0 R 546 0 R 549 0 R 552 0 R 567 0 R 574 0 R 581 0 R 592 0 R 599 0 R 607 0 R 615 0 R 618 0 R 622 0 R 625 0
  R 637 0 R 645 0 R 651 0 R 656 0 R 660 0 R 662 0 R 677 0 R 689 0 R 695 0 R 702 0 R 705 0 R 713 0 R 721 0 R 726 0 R 731 0 R 736 0 R 738 0 R 740 0 R 742 0 R 750 0 R 759 0 R 763 0 R 770 0 R 778 0 R 784 0 R 788 0 R 795 0 R 799 0 R 804 0 R 812 0 R 814 0 R 818 0 R 829 0 R 834 0 R 836 0 R 839 0 R 843 0 R 849 0 R 852 0 R 864 0 R 868 0 R 873 0 R 881 0 R 886 0 R 890 0 R 894 0 R 896 0 R 899 0 R 901 0 R 905 0 R 907 0 R 910 0 R 915 0 R 919 0 R 924 0 R 928 0 R 935 0 R 939 0 R 944 0 R 957 0 R 962 0 R 966 0 R 971 0 R 973 0 R 982 0 R 985 0 R 990 0 R 993 0 R 1002 0 R 1005 0 R 1011 0 R 1018 0 R 1021 0 R 1023 0 R 1032 0 R 1034 0 R 1036 0 R 1039 0 R 1041 0 R 1043 0 R 1045 0 R 1047 0 R 1049 0 R 1052 0 R 1055 0 R 1060 0 R 1063 0 R 1065 0 R 1067 0 R 1069 0 R 1074 0 R 1083 0 R 1086 0 R 1088 0 R 1090 0 R 1095 0 R 1097 0 R 1100 0 R 1102 0 R 1104 0 R 1106 0 R 1109 0 R 1115 0 R 1120 0 R 1127 0 R 1132 0 R 1146 0 R 1157 0 R 1161 0 R 1174 0 R 1183 0 R 1199 0 R 1203 0 R 1213 0 R 1226 0 R 1229 0 R 1241 0 R 1250 0 R 
 1258 0 R 1262 0 R 1271 0 R 1276 0 R 1280 0 R 1286 0 R 1292 0 R 1299 0 R 1307 0 R 1309 0 R 1320 0 R 1322 0 R 1327 0 R 1331 0 R 1336 0 R 1346 0 R 1352 0 R 1358 0 R 1360 0 R 1362 0 R 1374 0 R 1381 0 R 1391 0 R 1397 0 R 1410 0 R 1419 0 R 1423 0 R 1433 0 R 1444 0 R 1447 0 R 1453 0 R 1457 0 R 1460 0 R 1465 0 R 1471 0 R 1475 0 R 1480 0 R 1485 0 R 1488 0 R 1491 0 R 1493 0 R 1502 0 R 1509 0 R 1515 0 R 1520 0 R 1524 0 R 1527 0 R 1533 0 R 1538 0 R 1543 0 R 1545 0 R 1547 0 R 1550 0 R 1552 0 R 1561 0 R 1564 0 R 1570 0 R 1577 0 R 1581 0 R 1586 0 R 1589 0 R 1591 0 R 1596 0 R 1599 0 R 1601 0 R 1603 0 R 1605 0 R 1612 0 R 1623 0 R 1628 0 R 1635 0 R 1638 0 R 1640 0 R 1642 0 R 1644 0 R 1647 0 R 1649 0 R 1651 0 R 1653 0 R 1657 0 R 1661 0 R 1670 0 R 1672 0 R 1674 0 R 1676 0 R 1678 0 R 1684 0 R 1686 0 R 1691 0 R 1693 0 R 1695 0 R 1702 0 R 1707 0 R 1712 0 R 1716 0 R 1719 0 R 1722 0 R 1726 0 R 1728 0 R 1731 0 R 1733 0 R 1735 0 R 1737 0 R 1741 0 R 1743 0 R 1747 0 R 1749 0 R 1751 0 R 1753 0 R 1755 0 R 1760 0 
 R 1762 0 R 1764 0 R 1772 0 R 1782 0 R 1785 0 R 1800 0 R 1815 0 R 1819 0 R 1824 0 R 1827 0 R 1830 0 R 1835 0 R 1837 0 R 1844 0 R 1846 0 R 1849 0 R 1851 0 R 1853 0 R 1855 0 R 1857 0 R 1861 0 R 1863 0 R 1872 0 R 1878 0 R 1884 0 R 1895 0 R 1907 0 R 1919 0 R 1939 0 R 1941 0 R 1943 0 R 1947 0 R 1964 0 R 1971 0 R 1978 0 R 1987 0 R 1991 0 R 2002 0 R 2012 0 R 2017 0 R 2026 0 R 2039 0 R 2056 0 R 2066 0 R 2069 0 R 2078 0 R 2093 0 R 2100 0 R 2103 0 R 2108 0 R 2113 0 R 2123 0 R 2131 0 R 2134 0 R 2136 0 R 2140 0 R 2153 0 R 2161 0 R 2167 0 R 2171 0 R 2174 0 R 2176 0 R 2178 0 R 2180 0 R 2182 0 R 2187 0 R 2189 0 R 2199 0 R 2209 0 R 2216 0 R 2228 0 R 2233 0 R 2237 0 R 2250 0 R 2257 0 R 2263 0 R 2265 0 R 2276 0 R 2283 0 R 2294 0 R 2298 0 R 2307 0 R 2313 0 R 2323 0 R 2331 0 R 2339 0 R 2345 0 R 2350 0 R 2354 0 R 2356 0 R 2363 0 R 2367 0 R 2371 0 R 2377 0 R 2384 0 R 2389 0 R 2393 0 R 2403 0 R 2408 0 R 2413 0 R 2426 0 R 2433 0 R 2437 0 R 2442 0 R 2449 0 R 2452 0 R 2457 0 R 2465 0 R 2471 0 R 2473 0 R 2480 
 0 R 2487 0 R 2494 0 R 2501 0 R 2508 0 R 2515 0 R 2517 0 R 2526 0 R 2532 0 R 2535 0 R 2545 0 R 2549 0 R 2554 0 R 2556 0 R 2565 0 R 2569 0 R 2573 0 R 2575 0 R 2577 0 R 2586 0 R 2592 0 R 2599 0 R 2601 0 R 2607 0 R 2611 0 R 2613 0 R 2620 0 R 2623 0 R 2628 0 R 2633 0 R 2637 0 R 2639 0 R 2644 0 R 2647 0 R 2656 0 R 2658 0 R 2661 0 R 2664 0 R 2666 0 R 2679 0 R 2684 0 R 2689 0 R 2695 0 R 2700 0 R 2715 0 R 2729 0 R 2733 0 R 2748 0 R 2754 0 R 2758 0 R 2774 0 R 2776 0 R 2783 0 R 2792 0 R 2796 0 R 2803 0 R 2810 0 R 2820 0 R 2827 0 R 2834 0 R 2839 0 R 2844 0 R 2846 0 R 2851 0 R 2854 0 R 2860 0 R 2868 0 R 2876 0 R 2882 0 R 2887 0 R 2896 0 R 2904 0 R 2910 0 R 2918 0 R 2923 0 R 2927 0 R 2934 0 R 2938 0 R 2943 0 R 2951 0 R 2953 0 R 2955 0 R 2961 0 R 2963 0 R 2973 0 R 2979 0 R 2984 0 R 2990 0 R 3000 0 R 3007 0 R 3021 0 R 3026 0 R 3037 0 R 3049 0 R 3056 0 R 3058 0 R 3060 0 R 3065 0 R 3083 0 R 3087 0 R 3090 0 R 3095 0 R 3097 0 R 3101 0 R 3103 0 R 3107 0 R 3111 0 R 3115 0 R 3120 0 R 3127 0 R 3133 0 R 313
 7 0 R 3140 0 R 3142 0 R 3145 0 R 3148 0 R 3152 0 R 3160 0 R 3169 0 R 3173 0 R 3178 0 R 3185 0 R 3187 0 R 3196 0 R 3201 0 R 3205 0 R 3211 0 R 3216 0 R 3220 0 R 3225 0 R 3229 0 R 3240 0 R 3253 0 R 3272 0 R 3278 0 R 3281 0 R 3284 0 R 3289 0 R 3294 0 R 3299 0 R 3301 0 R 3303 0 R 3305 0 R 3307 0 R 3309 0 R 3318 0 R 3322 0 R 3330 0 R 3333 0 R 3335 0 R 3343 0 R 3348 0 R 3352 0 R 3354 0 R 3356 0 R 3358 0 R 3361 0 R 3368 0 R 3375 0 R 3385 0 R 3390 0 R 3393 0 R 3396 0 R 3400 0 R 3404 0 R 3408 0 R 3423 0 R 3427 0 R 3450 0 R 3454 0 R 3458 0 R 3466 0 R 3474 0 R 3483 0 R 3485 0 R 3488 0 R 3491 0 R 3507 0 R 3513 0 R 3520 0 R]
 >>
 endobj
 4 0 obj
@@ -180,22 +180,22 @@ endobj
 << /Type /Font
 /BaseFont /AAAAAA+NotoSerif-Bold
 /Subtype /TrueType
-/FontDescriptor 4124 0 R
+/FontDescriptor 4126 0 R
 /FirstChar 32
 /LastChar 255
-/Widths 4126 0 R
-/ToUnicode 4125 0 R
+/Widths 4128 0 R
+/ToUnicode 4127 0 R
 >>
 endobj
 11 0 obj
 << /Type /Font
 /BaseFont /AAAAAB+NotoSerif
 /Subtype /TrueType
-/FontDescriptor 4128 0 R
+/FontDescriptor 4130 0 R
 /FirstChar 32
 /LastChar 255
-/Widths 4130 0 R
-/ToUnicode 4129 0 R
+/Widths 4132 0 R
+/ToUnicode 4131 0 R
 >>
 endobj
 12 0 obj
@@ -17779,7 +17779,7 @@ endobj
 /F1.1 34 0 R
 >>
 >>
-/Annots [3520 0 R 3521 0 R 3522 0 R 3523 0 R 3524 0 R 3525 0 R 3526 0 R 3527 0 R 3528 0 R 3529 0 R 3530 0 R 3531 0 R 3532 0 R 3533 0 R 3534 0 R 3535 0 R 3536 0 R 3537 0 R 3538 0 R 3539 0 R 3540 0 R 3541 0 R 3542 0 R 3543 0 R 3544 0 R 3545 0 R 3546 0 R 3547 0 R 3548 0 R 3549 0 R 3550 0 R 3551 0 R 3552 0 R 3553 0 R 3554 0 R 3555 0 R 3556 0 R 3557 0 R 3558 0 R 3559 0 R 3560 0 R 3561 0 R 3562 0 R 3563 0 R 3564 0 R 3565 0 R 3566 0 R 3567 0 R 3568 0 R 3569 0 R 3570 0 R 3571 0 R 3572 0 R 3573 0 R 3574 0 R 3575 0 R 3576 0 R 3577 0 R 3578 0 R 3579 0 R 3580 0 R 3581 0 R 3582 0 R 3583 0 R 3584 0 R 3585 0 R 3586 0 R 3587 0 R 3588 0 R 3589 0 R 3590 0 R 3591 0 R 3592 0 R 3593 0 R 3594 0 R 3595 0 R 3596 0 R 3597 0 R 3598 0 R 3599 0 R 3600 0 R 3601 0 R 3602 0 R 3603 0 R]
+/Annots [3522 0 R 3523 0 R 3524 0 R 3525 0 R 3526 0 R 3527 0 R 3528 0 R 3529 0 R 3530 0 R 3531 0 R 3532 0 R 3533 0 R 3534 0 R 3535 0 R 3536 0 R 3537 0 R 3538 0 R 3539 0 R 3540 0 R 3541 0 R 3542 0 R 3543 0 R 3544 0 R 3545 0 R 3546 0 R 3547 0 R 3548 0 R 3549 0 R 3550 0 R 3551 0 R 3552 0 R 3553 0 R 3554 0 R 3555 0 R 3556 0 R 3557 0 R 3558 0 R 3559 0 R 3560 0 R 3561 0 R 3562 0 R 3563 0 R 3564 0 R 3565 0 R 3566 0 R 3567 0 R 3568 0 R 3569 0 R 3570 0 R 3571 0 R 3572 0 R 3573 0 R 3574 0 R 3575 0 R 3576 0 R 3577 0 R 3578 0 R 3579 0 R 3580 0 R 3581 0 R 3582 0 R 3583 0 R 3584 0 R 3585 0 R 3586 0 R 3587 0 R 3588 0 R 3589 0 R 3590 0 R 3591 0 R 3592 0 R 3593 0 R 3594 0 R 3595 0 R 3596 0 R 3597 0 R 3598 0 R 3599 0 R 3600 0 R 3601 0 R 3602 0 R 3603 0 R 3604 0 R 3605 0 R]
 >>
 endobj
 14 0 obj
@@ -34939,7 +34939,7 @@ endobj
 /F1.1 34 0 R
 >>
 >>
-/Annots [3604 0 R 3605 0 R 3606 0 R 3607 0 R 3608 0 R 3609 0 R 3610 0 R 3611 0 R 3612 0 R 3613 0 R 3614 0 R 3615 0 R 3616 0 R 3617 0 R 3618 0 R 3619 0 R 3620 0 R 3621 0 R 3622 0 R 3623 0 R 3624 0 R 3625 0 R 3626 0 R 3627 0 R 3628 0 R 3629 0 R 3630 0 R 3631 0 R 3632 0 R 3633 0 R 3634 0 R 3635 0 R 3636 0 R 3637 0 R 3638 0 R 3639 0 R 3640 0 R 3641 0 R 3642 0 R 3643 0 R 3644 0 R 3645 0 R 3646 0 R 3647 0 R 3648 0 R 3649 0 R 3650 0 R 3651 0 R 3652 0 R 3653 0 R 3654 0 R 3655 0 R 3656 0 R 3657 0 R 3658 0 R 3659 0 R 3660 0 R 3661 0 R 3662 0 R 3663 0 R 3664 0 R 3665 0 R 3666 0 R 3667 0 R 3668 0 R 3669 0 R 3670 0 R 3671 0 R 3672 0 R 3673 0 R 3674 0 R 3675 0 R 3676 0 R 3677 0 R 3678 0 R 3679 0 R 3680 0 R 3681 0 R 3682 0 R 3683 0 R 3684 0 R 3685 0 R 3686 0 R 3687 0 R 3688 0 R 3689 0 R 3690 0 R 3691 0 R]
+/Annots [3606 0 R 3607 0 R 3608 0 R 3609 0 R 3610 0 R 3611 0 R 3612 0 R 3613 0 R 3614 0 R 3615 0 R 3616 0 R 3617 0 R 3618 0 R 3619 0 R 3620 0 R 3621 0 R 3622 0 R 3623 0 R 3624 0 R 3625 0 R 3626 0 R 3627 0 R 3628 0 R 3629 0 R 3630 0 R 3631 0 R 3632 0 R 3633 0 R 3634 0 R 3635 0 R 3636 0 R 3637 0 R 3638 0 R 3639 0 R 3640 0 R 3641 0 R 3642 0 R 3643 0 R 3644 0 R 3645 0 R 3646 0 R 3647 0 R 3648 0 R 3649 0 R 3650 0 R 3651 0 R 3652 0 R 3653 0 R 3654 0 R 3655 0 R 3656 0 R 3657 0 R 3658 0 R 3659 0 R 3660 0 R 3661 0 R 3662 0 R 3663 0 R 3664 0 R 3665 0 R 3666 0 R 3667 0 R 3668 0 R 3669 0 R 3670 0 R 3671 0 R 3672 0 R 3673 0 R 3674 0 R 3675 0 R 3676 0 R 3677 0 R 3678 0 R 3679 0 R 3680 0 R 3681 0 R 3682 0 R 3683 0 R 3684 0 R 3685 0 R 3686 0 R 3687 0 R 3688 0 R 3689 0 R 3690 0 R 3691 0 R 3692 0 R 3693 0 R]
 >>
 endobj
 16 0 obj
@@ -53747,7 +53747,7 @@ endobj
 /F1.1 34 0 R
 >>
 >>
-/Annots [3692 0 R 3693 0 R 3694 0 R 3695 0 R 3696 0 R 3697 0 R 3698 0 R 3699 0 R 3700 0 R 3701 0 R 3702 0 R 3703 0 R 3704 0 R 3705 0 R 3706 0 R 3707 0 R 3708 0 R 3709 0 R 3710 0 R 3711 0 R 3712 0 R 3713 0 R 3714 0 R 3715 0 R 3716 0 R 3717 0 R 3718 0 R 3719 0 R 3720 0 R 3721 0 R 3722 0 R 3723 0 R 3724 0 R 3725 0 R 3726 0 R 3727 0 R 3728 0 R 3729 0 R 3730 0 R 3731 0 R 3732 0 R 3733 0 R 3734 0 R 3735 0 R 3736 0 R 3737 0 R 3738 0 R 3739 0 R 3740 0 R 3741 0 R 3742 0 R 3743 0 R 3744 0 R 3745 0 R 3746 0 R 3747 0 R 3748 0 R 3749 0 R 3750 0 R 3751 0 R 3752 0 R 3753 0 R 3754 0 R 3755 0 R 3756 0 R 3757 0 R 3758 0 R 3759 0 R 3760 0 R 3761 0 R 3762 0 R 3763 0 R 3764 0 R 3765 0 R 3766 0 R 3767 0 R 3768 0 R 3769 0 R 3770 0 R 3771 0 R 3772 0 R 3773 0 R 3774 0 R 3775 0 R 3776 0 R 3777 0 R 3778 0 R 3779 0 R]
+/Annots [3694 0 R 3695 0 R 3696 0 R 3697 0 R 3698 0 R 3699 0 R 3700 0 R 3701 0 R 3702 0 R 3703 0 R 3704 0 R 3705 0 R 3706 0 R 3707 0 R 3708 0 R 3709 0 R 3710 0 R 3711 0 R 3712 0 R 3713 0 R 3714 0 R 3715 0 R 3716 0 R 3717 0 R 3718 0 R 3719 0 R 3720 0 R 3721 0 R 3722 0 R 3723 0 R 3724 0 R 3725 0 R 3726 0 R 3727 0 R 3728 0 R 3729 0 R 3730 0 R 3731 0 R 3732 0 R 3733 0 R 3734 0 R 3735 0 R 3736 0 R 3737 0 R 3738 0 R 3739 0 R 3740 0 R 3741 0 R 3742 0 R 3743 0 R 3744 0 R 3745 0 R 3746 0 R 3747 0 R 3748 0 R 3749 0 R 3750 0 R 3751 0 R 3752 0 R 3753 0 R 3754 0 R 3755 0 R 3756 0 R 3757 0 R 3758 0 R 3759 0 R 3760 0 R 3761 0 R 3762 0 R 3763 0 R 3764 0 R 3765 0 R 3766 0 R 3767 0 R 3768 0 R 3769 0 R 3770 0 R 3771 0 R 3772 0 R 3773 0 R 3774 0 R 3775 0 R 3776 0 R 3777 0 R 3778 0 R 3779 0 R 3780 0 R 3781 0 R]
 >>
 endobj
 18 0 obj
@@ -71318,7 +71318,7 @@ endobj
 /F1.1 34 0 R
 >>
 >>
-/Annots [3780 0 R 3781 0 R 3782 0 R 3783 0 R 3784 0 R 3785 0 R 3786 0 R 3787 0 R 3788 0 R 3789 0 R 3790 0 R 3791 0 R 3792 0 R 3793 0 R 3794 0 R 3795 0 R 3796 0 R 3797 0 R 3798 0 R 3799 0 R 3800 0 R 3801 0 R 3802 0 R 3803 0 R 3804 0 R 3805 0 R 3806 0 R 3807 0 R 3808 0 R 3809 0 R 3810 0 R 3811 0 R 3812 0 R 3813 0 R 3814 0 R 3815 0 R 3816 0 R 3817 0 R 3818 0 R 3819 0 R 3820 0 R 3821 0 R 3822 0 R 3823 0 R 3824 0 R 3825 0 R 3826 0 R 3827 0 R 3828 0 R 3829 0 R 3830 0 R 3831 0 R 3832 0 R 3833 0 R 3834 0 R 3835 0 R 3836 0 R 3837 0 R 3838 0 R 3839 0 R 3840 0 R 3841 0 R 3842 0 R 3843 0 R 3844 0 R 3845 0 R 3846 0 R 3847 0 R 3848 0 R 3849 0 R 3850 0 R 3851 0 R 3852 0 R 3853 0 R 3854 0 R 3855 0 R 3856 0 R 3857 0 R 3858 0 R 3859 0 R 3860 0 R 3861 0 R 3862 0 R 3863 0 R 3864 0 R 3865 0 R 3866 0 R 3867 0 R 3868 0 R 3869 0 R]
+/Annots [3782 0 R 3783 0 R 3784 0 R 3785 0 R 3786 0 R 3787 0 R 3788 0 R 3789 0 R 3790 0 R 3791 0 R 3792 0 R 3793 0 R 3794 0 R 3795 0 R 3796 0 R 3797 0 R 3798 0 R 3799 0 R 3800 0 R 3801 0 R 3802 0 R 3803 0 R 3804 0 R 3805 0 R 3806 0 R 3807 0 R 3808 0 R 3809 0 R 3810 0 R 3811 0 R 3812 0 R 3813 0 R 3814 0 R 3815 0 R 3816 0 R 3817 0 R 3818 0 R 3819 0 R 3820 0 R 3821 0 R 3822 0 R 3823 0 R 3824 0 R 3825 0 R 3826 0 R 3827 0 R 3828 0 R 3829 0 R 3830 0 R 3831 0 R 3832 0 R 3833 0 R 3834 0 R 3835 0 R 3836 0 R 3837 0 R 3838 0 R 3839 0 R 3840 0 R 3841 0 R 3842 0 R 3843 0 R 3844 0 R 3845 0 R 3846 0 R 3847 0 R 3848 0 R 3849 0 R 3850 0 R 3851 0 R 3852 0 R 3853 0 R 3854 0 R 3855 0 R 3856 0 R 3857 0 R 3858 0 R 3859 0 R 3860 0 R 3861 0 R 3862 0 R 3863 0 R 3864 0 R 3865 0 R 3866 0 R 3867 0 R 3868 0 R 3869 0 R 3870 0 R 3871 0 R]
 >>
 endobj
 20 0 obj
@@ -80698,11 +80698,11 @@ endobj
 /F1.1 34 0 R
 >>
 >>
-/Annots [3870 0 R 3871 0 R 3872 0 R 3873 0 R 3874 0 R 3875 0 R 3876 0 R 3877 0 R 3878 0 R 3879 0 R 3880 0 R 3881 0 R 3882 0 R 3883 0 R 3884 0 R 3885 0 R 3886 0 R 3887 0 R 3888 0 R 3889 0 R 3890 0 R 3891 0 R 3892 0 R 3893 0 R 3894 0 R 3895 0 R 3896 0 R 3897 0 R 3898 0 R 3899 0 R 3900 0 R 3901 0 R 3902 0 R 3903 0 R 3904 0 R 3905 0 R 3906 0 R 3907 0 R 3908 0 R 3909 0 R 3910 0 R 3911 0 R 3912 0 R 3913 0 R 3914 0 R 3915 0 R 3916 0 R 3917 0 R 3918 0 R 3919 0 R]
+/Annots [3872 0 R 3873 0 R 3874 0 R 3875 0 R 3876 0 R 3877 0 R 3878 0 R 3879 0 R 3880 0 R 3881 0 R 3882 0 R 3883 0 R 3884 0 R 3885 0 R 3886 0 R 3887 0 R 3888 0 R 3889 0 R 3890 0 R 3891 0 R 3892 0 R 3893 0 R 3894 0 R 3895 0 R 3896 0 R 3897 0 R 3898 0 R 3899 0 R 3900 0 R 3901 0 R 3902 0 R 3903 0 R 3904 0 R 3905 0 R 3906 0 R 3907 0 R 3908 0 R 3909 0 R 3910 0 R 3911 0 R 3912 0 R 3913 0 R 3914 0 R 3915 0 R 3916 0 R 3917 0 R 3918 0 R 3919 0 R 3920 0 R 3921 0 R]
 >>
 endobj
 22 0 obj
-<< /Length 13682
+<< /Length 14523
 >>
 stream
 q
@@ -81396,6 +81396,36 @@ ET
 
 0.000 0.000 0.000 SCN
 0.000 0.000 0.000 scn
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+0.505 Tw
+
+BT
+48.24 81.73599999999976 Td
+/F1.0 10.5 Tf
+[<54686520706872> 20.01953125 <61736573202f737570706f727465642f2c202f6e6f7420737570706f727465642f2c202f7465737465642f2c20616e64202f6e6f74207465737465642f206f63637572207365766572> 20.01953125 <616c20706c61636573207468726f7567686f75742074686973>] TJ
+ET
+
+
+0.000 Tw
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+0.257 Tw
+
+BT
+48.24 65.95599999999976 Td
+/F1.0 10.5 Tf
+[<67756964652e20496e2074686520696e746572657374206f6620636c6172697479> 89.84375 <2c20686572652069732061206272696566206578706c616e6174696f6e206f6620776861742069732067656e6572> 20.01953125 <616c6c79206d65616e742062> 20.01953125 <7920746865736520706872> 20.01953125 <617365732c>] TJ
+ET
+
+
+0.000 Tw
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
 q
 0.000 0.000 0.000 scn
 0.000 0.000 0.000 SCN
@@ -81450,7 +81480,7 @@ endobj
 >>
 endobj
 26 0 obj
-<< /Kids [1188 0 R 2483 0 R 1189 0 R 2031 0 R 3290 0 R]
+<< /Kids [1190 0 R 2485 0 R 1191 0 R 2033 0 R 3292 0 R]
 >>
 endobj
 27 0 obj
@@ -81501,11 +81531,11 @@ endobj
 << /Type /Font
 /BaseFont /AAAAAC+mplus1mn-regular
 /Subtype /TrueType
-/FontDescriptor 4132 0 R
+/FontDescriptor 4134 0 R
 /FirstChar 32
 /LastChar 255
-/Widths 4134 0 R
-/ToUnicode 4133 0 R
+/Widths 4136 0 R
+/ToUnicode 4135 0 R
 >>
 endobj
 32 0 obj
@@ -81531,11 +81561,11 @@ endobj
 << /Type /Font
 /BaseFont /AAAAAD+NotoSerif
 /Subtype /TrueType
-/FontDescriptor 4136 0 R
+/FontDescriptor 4138 0 R
 /FirstChar 32
 /LastChar 255
-/Widths 4138 0 R
-/ToUnicode 4137 0 R
+/Widths 4140 0 R
+/ToUnicode 4139 0 R
 >>
 endobj
 35 0 obj
@@ -81572,7 +81602,7 @@ endobj
 >>
 endobj
 38 0 obj
-<< /Length 570
+<< /Length 7300
 >>
 stream
 q
@@ -81586,7 +81616,319 @@ f
 0.200 0.200 0.200 SCN
 
 BT
-48.24 724.4639999999999 Td
+48.24 744.786 Td
+/F1.0 10.5 Tf
+<696e2074686520636f6e74657874206f662048426173652e> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+q
+0.5 w
+0.933 0.933 0.933 SCN
+101.010 665.850 m
+101.010 728.970 l
+S
+Q
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+60.24 693.336 Td
+/F2.0 10.5 Tf
+[<4e4f> 20.01953125 <5445>] TJ
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+0.353 Tw
+
+BT
+113.01 717.006 Td
+/F1.0 10.5 Tf
+[<436f6d6d65726369616c20746563686e6963616c20737570706f727420666f72204170616368652048426173652069732070726f76696465642062> 20.01953125 <79206d616e> 20.01953125 <79204861646f6f702076656e646f72732e>] TJ
+ET
+
+
+0.000 Tw
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+1.139 Tw
+
+BT
+113.01 701.226 Td
+/F1.0 10.5 Tf
+<54686973206973206e6f74207468652073656e736520696e20776869636820746865207465726d202f737570706f72742f206973207573656420696e2074686520636f6e74657874206f662074686520417061636865> Tj
+ET
+
+
+0.000 Tw
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+3.056 Tw
+
+BT
+113.01 685.446 Td
+/F1.0 10.5 Tf
+<48426173652070726f6a6563742e2054686520417061636865204842617365207465616d20617373756d6573206e6f20726573706f6e736962696c69747920666f7220796f7572204842617365> Tj
+ET
+
+
+0.000 Tw
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+113.01 669.666 Td
+/F1.0 10.5 Tf
+[<636c7573746572732c20796f757220636f6e6669677572> 20.01953125 <6174696f6e2c206f7220796f757220646174612e>] TJ
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+48.24 641.886 Td
+/F4.0 10.5 Tf
+<537570706f72746564> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+2.213 Tw
+
+BT
+63.24 622.106 Td
+/F1.0 10.5 Tf
+[<496e2074686520636f6e74657874206f66204170616368652048426173652c202f737570706f727465642f206d65616e7320746861742048426173652069732064657369676e656420746f20776f726b20696e20746865207761> 20.01953125 <79>] TJ
+ET
+
+
+0.000 Tw
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+63.24 606.326 Td
+/F1.0 10.5 Tf
+<6465736372696265642c20616e6420646576696174696f6e2066726f6d2074686520646566696e6564206265686176696f72206f722066756e6374696f6e616c6974792073686f756c64206265207265706f727465642061732061206275672e> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+48.24 578.546 Td
+/F4.0 10.5 Tf
+<4e6f7420537570706f72746564> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+0.087 Tw
+
+BT
+63.24 558.7660000000001 Td
+/F1.0 10.5 Tf
+<496e2074686520636f6e74657874206f66204170616368652048426173652c202f6e6f7420737570706f727465642f206d65616e7320746861742061207573652063617365206f7220757365207061747465726e206973206e6f74206578706563746564> Tj
+ET
+
+
+0.000 Tw
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+4.195 Tw
+
+BT
+63.24 542.9860000000001 Td
+/F1.0 10.5 Tf
+<746f20776f726b20616e642073686f756c6420626520636f6e7369646572656420616e20616e74697061747465726e2e20496620796f75207468696e6b20746869732064657369676e6174696f6e2073686f756c64206265> Tj
+ET
+
+
+0.000 Tw
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+2.260 Tw
+
+BT
+63.24 527.2060000000001 Td
+/F1.0 10.5 Tf
+<7265636f6e7369646572656420666f72206120676976656e2066656174757265206f7220757365207061747465726e2c2066696c652061204a495241206f7220737461727420612064697363757373696f6e206f6e206f6e65206f6620746865> Tj
+ET
+
+
+0.000 Tw
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+63.24 511.42600000000016 Td
+/F1.0 10.5 Tf
+<6d61696c696e67206c697374732e> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+48.24 483.64600000000013 Td
+/F4.0 10.5 Tf
+[<54> 29.78515625 <6573746564>] TJ
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+0.363 Tw
+
+BT
+63.24 463.86600000000016 Td
+/F1.0 10.5 Tf
+[<496e2074686520636f6e74657874206f66204170616368652048426173652c202f7465737465642f206d65616e7320746861742061206665617475726520697320636f76657265642062> 20.01953125 <7920756e6974206f7220696e74656772> 20.01953125 <6174696f6e2074657374732c>] TJ
+ET
+
+
+0.000 Tw
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+63.24 448.0860000000001 Td
+/F1.0 10.5 Tf
+<616e6420686173206265656e2070726f76656e20746f20776f726b2061732065787065637465642e> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+48.24 420.30600000000015 Td
+/F4.0 10.5 Tf
+[<4e6f742054> 29.78515625 <6573746564>] TJ
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+2.520 Tw
+
+BT
+63.24 400.5260000000001 Td
+/F1.0 10.5 Tf
+[<496e2074686520636f6e74657874206f66204170616368652048426173652c202f6e6f74207465737465642f206d65616e73207468617420612066656174757265206f7220757365207061747465726e206d61> 20.01953125 <79206f72206d61> 20.01953125 <79>] TJ
+ET
+
+
+0.000 Tw
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+0.504 Tw
+
+BT
+63.24 384.7460000000001 Td
+/F1.0 10.5 Tf
+[<6e6f74776f726b20696e206120676976656e207761> 20.01953125 <79> 89.84375 <2c20616e64206d61> 20.01953125 <79206f72206d61> 20.01953125 <79206e6f7420636f727275707420796f75722064617461206f72206361757365206f706572> 20.01953125 <6174696f6e616c206973737565732e20497420697320616e>] TJ
+ET
+
+
+0.000 Tw
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+1.017 Tw
+
+BT
+63.24 368.9660000000001 Td
+/F1.0 10.5 Tf
+[<756e6b6e6f776e2c20616e6420746865726520617265206e6f2067756172> 20.01953125 <616e746565732e20496620796f752063616e2070726f766964652070726f6f662074686174206120666561747572652064657369676e61746564206173202f6e6f74>] TJ
+ET
+
+
+0.000 Tw
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+0.573 Tw
+
+BT
+63.24 353.18600000000015 Td
+/F1.0 10.5 Tf
+[<7465737465642f20646f657320776f726b20696e206120676976656e207761> 20.01953125 <79> 89.84375 <2c20706c65617365207375626d69742074686520746573747320616e642f6f7220746865206d65747269637320736f2074686174206f746865722075736572732063616e>] TJ
+ET
+
+
+0.000 Tw
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+63.24 337.4060000000001 Td
+/F1.0 10.5 Tf
+<6761696e206365727461696e74792061626f75742073756368206665617475726573206f7220757365207061747465726e732e> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+48.24 287.65400000000017 Td
 /F2.0 27 Tf
 <47657474696e672053746172746564> Tj
 ET
@@ -81629,17 +81971,29 @@ endobj
 /MediaBox [0 0 612.0 792.0]
 /Contents 38 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
-/Font << /F2.0 10 0 R
-/F1.0 11 0 R
+/Font << /F1.0 11 0 R
+/F2.0 10 0 R
+/F4.0 40 0 R
 >>
 >>
 >>
 endobj
 40 0 obj
-[39 0 R /XYZ 0 792.0 null]
+<< /Type /Font
+/BaseFont /AAAAAE+NotoSerif-Italic
+/Subtype /TrueType
+/FontDescriptor 4142 0 R
+/FirstChar 32
+/LastChar 255
+/Widths 4144 0 R
+/ToUnicode 4143 0 R
+>>
 endobj
 41 0 obj
-<< /Length 1431
+[39 0 R /XYZ 0 321.59000000000015 null]
+endobj
+42 0 obj
+<< /Length 1467
 >>
 stream
 q
@@ -81653,7 +82007,7 @@ f
 0.200 0.200 0.200 SCN
 
 BT
-48.24 730.304 Td
+48.24000000000001 730.304 Td
 /F2.0 22 Tf
 <4368617074657220312e20496e74726f64756374696f6e> Tj
 ET
@@ -81666,7 +82020,7 @@ ET
 0.791 Tw
 
 BT
-48.24 700.1159999999999 Td
+48.24000000000001 700.1159999999999 Td
 /F1.0 10.5 Tf
 <517569636b7374617274> Tj
 ET
@@ -81694,7 +82048,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-48.24 684.3359999999999 Td
+48.24000000000001 684.3359999999999 Td
 /F1.0 10.5 Tf
 <70736575646f2d64697374726962757465642073696e676c652d6d616368696e6520696e7374616e63652c20616e642066696e616c6c7920612066756c6c792d646973747269627574656420636c75737465722e> Tj
 ET
@@ -81731,32 +82085,32 @@ Q
 
 endstream
 endobj
-42 0 obj
+43 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 41 0 R
+/Contents 42 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F2.0 10 0 R
 /F1.0 11 0 R
 >>
 >>
-/Annots [44 0 R]
+/Annots [45 0 R]
 >>
 endobj
-43 0 obj
-[42 0 R /XYZ 0 792.0 null]
-endobj
 44 0 obj
+[43 0 R /XYZ 0 792.0 null]
+endobj
+45 0 obj
 << /Border [0 0 0]
 /Dest (#quickstart)
 /Subtype /Link
-/Rect [48.24 697.0499999999998 100.30950000000001 711.3299999999999]
+/Rect [48.24000000000001 697.0499999999998 100.30950000000001 711.3299999999999]
 /Type /Annot
 >>
 endobj
-45 0 obj
-<< /Length 13398
+46 0 obj
+<< /Length 13494
 >>
 stream
 q
@@ -81770,7 +82124,7 @@ f
 0.200 0.200 0.200 SCN
 
 BT
-48.24 730.304 Td
+48.24000000000001 730.304 Td
 /F2.0 22 Tf
 <4368617074657220322e20517569636b205374617274202d205374616e64616c6f6e65204842617365> Tj
 ET
@@ -81783,7 +82137,7 @@ ET
 0.016 Tw
 
 BT
-48.24 700.1159999999999 Td
+48.24000000000001 700.1159999999999 Td
 /F1.0 10.5 Tf
 <546869732067756964652064657363726962657320746865207365747570206f662061207374616e64616c6f6e6520484261736520696e7374616e63652072756e6e696e6720616761696e737420746865206c6f63616c2066696c6573797374656d2e2054686973> Tj
 ET
@@ -81798,7 +82152,7 @@ ET
 3.716 Tw
 
 BT
-48.24 684.3359999999999 Td
+48.24000000000001 684.3359999999999 Td
 /F1.0 10.5 Tf
 [<6973206e6f7420616e20617070726f70726961746520636f6e6669677572> 20.01953125 <6174696f6e20666f7220612070726f64756374696f6e20696e7374616e6365206f662048426173652c206275742077696c6c20616c6c6f7720796f7520746f>] TJ
 ET
@@ -81813,7 +82167,7 @@ ET
 0.886 Tw
 
 BT
-48.24 668.5559999999999 Td
+48.24000000000001 668.5559999999999 Td
 /F1.0 10.5 Tf
 <6578706572696d656e7420776974682048426173652e20546869732073656374696f6e2073686f777320796f7520686f7720746f206372656174652061207461626c6520696e204842617365207573696e672074686520> Tj
 ET
@@ -81856,7 +82210,7 @@ ET
 0.184 Tw
 
 BT
-48.24 652.776 Td
+48.24000000000001 652.776 Td
 /F1.0 10.5 Tf
 [<434c492c20696e7365727420726f777320696e746f20746865207461626c652c20706572666f726d2070757420616e64207363616e206f706572> 20.01953125 <6174696f6e7320616761696e737420746865207461626c652c20656e61626c65206f722064697361626c6520746865>] TJ
 ET
@@ -81871,7 +82225,7 @@ ET
 0.763 Tw
 
 BT
-48.24 636.9959999999999 Td
+48.24000000000001 636.9959999999999 Td
 /F1.0 10.5 Tf
 [<7461626c652c20616e6420737461727420616e642073746f702048426173652e2041706172742066726f6d20646f776e6c6f6164696e672048426173652c20746869732070726f6365647572652073686f756c642074616b> 20.01953125 <65206c657373207468616e>] TJ
 ET
@@ -81884,7 +82238,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-48.24 621.2159999999999 Td
+48.24000000000001 621.2159999999999 Td
 /F1.0 10.5 Tf
 <3130206d696e757465732e> Tj
 ET
@@ -81906,7 +82260,7 @@ Q
 0.200 0.200 0.200 SCN
 
 BT
-60.24 574.656 Td
+60.24000000000001 574.656 Td
 /F2.0 10.5 Tf
 [<57> 60.05859375 <41524e494e47>] TJ
 ET
@@ -82468,34 +82822,23 @@ Q
 
 endstream
 endobj
-46 0 obj
+47 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 45 0 R
+/Contents 46 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F2.0 10 0 R
 /F1.0 11 0 R
 /F3.0 31 0 R
-/F4.0 48 0 R
+/F4.0 40 0 R
 >>
 >>
 /Annots [49 0 R 50 0 R 51 0 R 52 0 R 53 0 R 54 0 R 56 0 R]
 >>
 endobj
-47 0 obj
-[46 0 R /XYZ 0 792.0 null]
-endobj
 48 0 obj
-<< /Type /Font
-/BaseFont /AAAAAE+NotoSerif-Italic
-/Subtype /TrueType
-/FontDescriptor 4140 0 R
-/FirstChar 32
-/LastChar 255
-/Widths 4142 0 R
-/ToUnicode 4141 0 R
->>
+[47 0 R /XYZ 0 792.0 null]
 endobj
 49 0 obj
 << /Border [0 0 0]
@@ -82564,7 +82907,7 @@ endobj
 >>
 endobj
 55 0 obj
-[46 0 R /XYZ 0 149.09999999999997 null]
+[47 0 R /XYZ 0 149.09999999999997 null]
 endobj
 56 0 obj
 << /Border [0 0 0]
@@ -83732,7 +84075,7 @@ endobj
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F2.0 10 0 R
 /F1.0 11 0 R
-/F4.0 48 0 R
+/F4.0 40 0 R
 /F3.0 31 0 R
 >>
 >>
@@ -84811,7 +85154,7 @@ endobj
 /MediaBox [0 0 612.0 792.0]
 /Contents 61 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
-/Font << /F4.0 48 0 R
+/Font << /F4.0 40 0 R
 /F3.0 31 0 R
 /F1.0 11 0 R
 /F2.0 10 0 R
@@ -87022,7 +87365,7 @@ endobj
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F1.0 11 0 R
 /F3.0 31 0 R
-/F4.0 48 0 R
+/F4.0 40 0 R
 /F2.0 10 0 R
 >>
 >>
@@ -87972,7 +88315,7 @@ endobj
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F3.0 31 0 R
 /F1.0 11 0 R
-/F4.0 48 0 R
+/F4.0 40 0 R
 >>
 >>
 /Annots [76 0 R]
@@ -88803,7 +89146,7 @@ endobj
 /Font << /F2.0 10 0 R
 /F1.0 11 0 R
 /F3.0 31 0 R
-/F4.0 48 0 R
+/F4.0 40 0 R
 >>
 >>
 >>
@@ -90160,7 +90503,7 @@ endobj
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F3.0 31 0 R
 /F1.0 11 0 R
-/F4.0 48 0 R
+/F4.0 40 0 R
 /F2.0 10 0 R
 >>
 >>
@@ -91578,7 +91921,7 @@ endobj
 /Contents 84 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F1.0 11 0 R
-/F4.0 48 0 R
+/F4.0 40 0 R
 /F3.0 31 0 R
 >>
 >>
@@ -92643,7 +92986,7 @@ endobj
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F1.0 11 0 R
 /F3.0 31 0 R
-/F4.0 48 0 R
+/F4.0 40 0 R
 >>
 >>
 >>
@@ -93302,7 +93645,7 @@ endobj
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F3.0 31 0 R
 /F1.0 11 0 R
-/F4.0 48 0 R
+/F4.0 40 0 R
 >>
 >>
 >>
@@ -94090,7 +94433,7 @@ endobj
 /MediaBox [0 0 612.0 792.0]
 /Contents 91 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
-/Font << /F4.0 48 0 R
+/Font << /F4.0 40 0 R
 /F3.0 31 0 R
 /F2.0 10 0 R
 /F1.0 11 0 R
@@ -94155,7 +94498,7 @@ endobj
 [92 0 R /XYZ 0 115.2400000000001 null]
 endobj
 100 0 obj
-<< /Length 2108
+<< /Length 2571
 >>
 stream
 q
@@ -94168,7 +94511,7 @@ f
 /DeviceRGB CS
 0.200 0.200 0.200 SCN
 
-1.709 Tw
+2.103 Tw
 
 BT
 48.24000000000001 744.786 Td
@@ -94183,12 +94526,12 @@ ET
 0.259 0.545 0.792 scn
 0.259 0.545 0.792 SCN
 
-1.709 Tw
+2.103 Tw
 
 BT
-213.83358544921876 744.786 Td
+215.80127118389424 744.786 Td
 /F1.0 10.5 Tf
-<5b67657474696e675f737461727465645d> Tj
+<47657474696e672053746172746564> Tj
 ET
 
 
@@ -94198,10 +94541,10 @@ ET
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
-1.709 Tw
+2.103 Tw
 
 BT
-295.6390854492188 744.786 Td
+292.8843254206731 744.786 Td
 /F1.0 10.5 Tf
 [<206368617074657220746f2066757274686572206578706c61696e20636f6e6669677572> 20.01953125 <6174696f6e206f6620417061636865>] TJ
 ET
@@ -94258,10 +94601,36 @@ ET
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
+7.390 Tw
+
 BT
 48.24000000000001 713.226 Td
 /F1.0 10.5 Tf
-[<74657374696e6720616e64206465706c6f> 20.01953125 <796d656e7420676f657320736d6f6f74686c79> 89.84375 <2c20616e642070726576656e742064617461206c6f73732e>] TJ
+[<74657374696e6720616e64206465706c6f> 20.01953125 <796d656e7420676f657320736d6f6f74686c79> 89.84375 <2c20616e642070726576656e742064617461206c6f73732e2046> 40.0390625 <616d696c696172697a6520796f757273656c662077697468>] TJ
+ET
+
+
+0.000 Tw
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.259 0.545 0.792 scn
+0.259 0.545 0.792 SCN
+
+BT
+48.24000000000001 697.446 Td
+/F1.0 10.5 Tf
+<5b68626173655f737570706f727465645f7465737465645f646566696e6974696f6e735d> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+234.38400000000001 697.446 Td
+/F1.0 10.5 Tf
+<2061732077656c6c2e> Tj
 ET
 
 0.000 0.000 0.000 SCN
@@ -94305,14 +94674,14 @@ endobj
 /Font << /F1.0 11 0 R
 >>
 >>
-/Annots [102 0 R 103 0 R]
+/Annots [102 0 R 103 0 R 104 0 R]
 >>
 endobj
 102 0 obj
 << /Border [0 0 0]
 /Dest (#getting_started)
 /Subtype /Link
-/Rect [213.83358544921876 741.7199999999999 295.6390854492188 756.0]
+/Rect [215.80127118389424 741.7199999999999 292.8843254206731 756.0]
 /Type /Annot
 >>
 endobj
@@ -94325,6 +94694,14 @@ endobj
 >>
 endobj
 104 0 obj
+<< /Border [0 0 0]
+/Dest (#hbase_supported_tested_definitions)
+/Subtype /Link
+/Rect [48.24000000000001 694.38 234.38400000000001 708.6600000000001]
+/Type /Annot
+>>
+endobj
+105 0 obj
 << /Length 15298
 >>
 stream
@@ -95159,25 +95536,25 @@ Q
 
 endstream
 endobj
-105 0 obj
+106 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 104 0 R
+/Contents 105 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F2.0 10 0 R
 /F1.0 11 0 R
-/F4.0 48 0 R
+/F4.0 40 0 R
 /F3.0 31 0 R
 >>
 >>
-/Annots [107 0 R 108 0 R]
+/Annots [108 0 R 109 0 R]
 >>
 endobj
-106 0 obj
-[105 0 R /XYZ 0 792.0 null]
-endobj
 107 0 obj
+[106 0 R /XYZ 0 792.0 null]
+endobj
+108 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -95188,7 +95565,7 @@ endobj
 /Type /Annot
 >>
 endobj
-108 0 obj
+109 0 obj
 << /Border [0 0 0]
 /Dest (#security)
 /Subtype /Link
@@ -95196,7 +95573,7 @@ endobj
 /Type /Annot
 >>
 endobj
-109 0 obj
+110 0 obj
 << /Length 3945
 >>
 stream
@@ -95447,21 +95824,21 @@ Q
 
 endstream
 endobj
-110 0 obj
+111 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 109 0 R
+/Contents 110 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F2.0 10 0 R
-/F4.0 48 0 R
+/F4.0 40 0 R
 /F1.0 11 0 R
 /F3.0 31 0 R
 >>
 >>
 >>
 endobj
-111 0 obj
+112 0 obj
 << /Length 24329
 >>
 stream
@@ -97137,25 +97514,25 @@ Q
 
 endstream
 endobj
-112 0 obj
+113 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 111 0 R
+/Contents 112 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F2.0 10 0 R
 /F1.0 11 0 R
-/F4.0 48 0 R
+/F4.0 40 0 R
 /F3.0 31 0 R
 >>
 >>
-/Annots [114 0 R 115 0 R 116 0 R 117 0 R 118 0 R 119 0 R 120 0 R 121 0 R 122 0 R 123 0 R 124 0 R 125 0 R 126 0 R]
+/Annots [115 0 R 116 0 R 117 0 R 118 0 R 119 0 R 120 0 R 121 0 R 122 0 R 123 0 R 124 0 R 125 0 R 126 0 R 127 0 R]
 >>
 endobj
-113 0 obj
-[112 0 R /XYZ 0 792.0 null]
-endobj
 114 0 obj
+[113 0 R /XYZ 0 792.0 null]
+endobj
+115 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -97166,7 +97543,7 @@ endobj
 /Type /Annot
 >>
 endobj
-115 0 obj
+116 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -97177,7 +97554,7 @@ endobj
 /Type /Annot
 >>
 endobj
-116 0 obj
+117 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -97188,7 +97565,7 @@ endobj
 /Type /Annot
 >>
 endobj
-117 0 obj
+118 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -97199,7 +97576,7 @@ endobj
 /Type /Annot
 >>
 endobj
-118 0 obj
+119 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -97210,7 +97587,7 @@ endobj
 /Type /Annot
 >>
 endobj
-119 0 obj
+120 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -97221,7 +97598,7 @@ endobj
 /Type /Annot
 >>
 endobj
-120 0 obj
+121 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -97232,7 +97609,7 @@ endobj
 /Type /Annot
 >>
 endobj
-121 0 obj
+122 0 obj
 << /Border [0 0 0]
 /Dest (#passwordless.ssh.quickstart)
 /Subtype /Link
@@ -97240,7 +97617,7 @@ endobj
 /Type /Annot
 >>
 endobj
-122 0 obj
+123 0 obj
 << /Border [0 0 0]
 /Dest (#passwordless.ssh.quickstart)
 /Subtype /Link
@@ -97248,7 +97625,7 @@ endobj
 /Type /Annot
 >>
 endobj
-123 0 obj
+124 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -97259,7 +97636,7 @@ endobj
 /Type /Annot
 >>
 endobj
-124 0 obj
+125 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -97270,7 +97647,7 @@ endobj
 /Type /Annot
 >>
 endobj
-125 0 obj
+126 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -97281,7 +97658,7 @@ endobj
 /Type /Annot
 >>
 endobj
-126 0 obj
+127 0 obj
 << /Border [0 0 0]
 /Dest (#loopback.ip)
 /Subtype /Link
@@ -97289,7 +97666,7 @@ endobj
 /Type /Annot
 >>
 endobj
-127 0 obj
+128 0 obj
 << /Length 17115
 >>
 stream
@@ -98160,21 +98537,21 @@ Q
 
 endstream
 endobj
-128 0 obj
+129 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 127 0 R
+/Contents 128 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
-/Font << /F4.0 48 0 R
+/Font << /F4.0 40 0 R
 /F1.0 11 0 R
 /F3.0 31 0 R
 >>
 >>
-/Annots [129 0 R 130 0 R 131 0 R]
+/Annots [130 0 R 131 0 R 132 0 R]
 >>
 endobj
-129 0 obj
+130 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -98185,7 +98562,7 @@ endobj
 /Type /Annot
 >>
 endobj
-130 0 obj
+131 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -98196,7 +98573,7 @@ endobj
 /Type /Annot
 >>
 endobj
-131 0 obj
+132 0 obj
 << /Border [0 0 0]
 /Dest (#trouble.rs.runtime.filehandles)
 /Subtype /Link
@@ -98204,7 +98581,7 @@ endobj
 /Type /Annot
 >>
 endobj
-132 0 obj
+133 0 obj
 << /Length 13539
 >>
 stream
@@ -98904,22 +99281,22 @@ Q
 
 endstream
 endobj
-133 0 obj
+134 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 132 0 R
+/Contents 133 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F1.0 11 0 R
-/F4.0 48 0 R
+/F4.0 40 0 R
 /F3.0 31 0 R
 /F2.0 10 0 R
 >>
 >>
-/Annots [134 0 R 136 0 R 137 0 R 138 0 R]
+/Annots [135 0 R 137 0 R 138 0 R 139 0 R]
 >>
 endobj
-134 0 obj
+135 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -98930,10 +99307,10 @@ endobj
 /Type /Annot
 >>
 endobj
-135 0 obj
-[133 0 R /XYZ 0 281.27000000000004 null]
-endobj
 136 0 obj
+[134 0 R /XYZ 0 281.27000000000004 null]
+endobj
+137 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -98944,7 +99321,7 @@ endobj
 /Type /Annot
 >>
 endobj
-137 0 obj
+138 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -98955,7 +99332,7 @@ endobj
 /Type /Annot
 >>
 endobj
-138 0 obj
+139 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -98966,7 +99343,7 @@ endobj
 /Type /Annot
 >>
 endobj
-139 0 obj
+140 0 obj
 << /Length 47374
 >>
 stream
@@ -102567,21 +102944,21 @@ Q
 
 endstream
 endobj
-140 0 obj
+141 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 139 0 R
+/Contents 140 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F1.0 11 0 R
 /F2.0 10 0 R
-/F4.0 48 0 R
+/F4.0 40 0 R
 >>
 >>
-/Annots [141 0 R]
+/Annots [142 0 R]
 >>
 endobj
-141 0 obj
+142 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -102592,7 +102969,7 @@ endobj
 /Type /Annot
 >>
 endobj
-142 0 obj
+143 0 obj
 << /Length 61420
 >>
 stream
@@ -106892,24 +107269,24 @@ Q
 
 endstream
 endobj
-143 0 obj
+144 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 142 0 R
+/Contents 143 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F2.0 10 0 R
-/F4.0 48 0 R
+/F4.0 40 0 R
 /F1.0 11 0 R
 /F3.0 31 0 R
 >>
 >>
 >>
 endobj
-144 0 obj
-[143 0 R /XYZ 0 614.76 null]
-endobj
 145 0 obj
+[144 0 R /XYZ 0 614.76 null]
+endobj
+146 0 obj
 << /Length 14699
 >>
 stream
@@ -107689,29 +108066,29 @@ Q
 
 endstream
 endobj
-146 0 obj
+147 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 145 0 R
+/Contents 146 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F3.0 31 0 R
 /F1.0 11 0 R
 /F2.0 10 0 R
 /F1.1 34 0 R
-/F4.0 48 0 R
+/F4.0 40 0 R
 >>
 >>
-/Annots [149 0 R 150 0 R 152 0 R 153 0 R]
+/Annots [150 0 R 151 0 R 153 0 R 154 0 R]
 >>
 endobj
-147 0 obj
-[146 0 R /XYZ 0 567.26 null]
-endobj
 148 0 obj
-[146 0 R /XYZ 0 475.6400000000001 null]
+[147 0 R /XYZ 0 567.26 null]
 endobj
 149 0 obj
+[147 0 R /XYZ 0 475.6400000000001 null]
+endobj
+150 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -107722,7 +108099,7 @@ endobj
 /Type /Annot
 >>
 endobj
-150 0 obj
+151 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -107733,10 +108110,10 @@ endobj
 /Type /Annot
 >>
 endobj
-151 0 obj
-[146 0 R /XYZ 0 352.46000000000004 null]
-endobj
 152 0 obj
+[147 0 R /XYZ 0 352.46000000000004 null]
+endobj
+153 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -107747,7 +108124,7 @@ endobj
 /Type /Annot
 >>
 endobj
-153 0 obj
+154 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -107758,7 +108135,7 @@ endobj
 /Type /Annot
 >>
 endobj
-154 0 obj
+155 0 obj
 << /Length 15380
 >>
 stream
@@ -108588,25 +108965,25 @@ Q
 
 endstream
 endobj
-155 0 obj
+156 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 154 0 R
+/Contents 155 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F1.0 11 0 R
-/F4.0 48 0 R
+/F4.0 40 0 R
 /F3.0 31 0 R
 /F2.0 10 0 R
 >>
 >>
-/Annots [157 0 R 159 0 R 160 0 R 162 0 R 163 0 R 164 0 R]
+/Annots [158 0 R 160 0 R 161 0 R 163 0 R 164 0 R 165 0 R]
 >>
 endobj
-156 0 obj
-[155 0 R /XYZ 0 713.19 null]
-endobj
 157 0 obj
+[156 0 R /XYZ 0 713.19 null]
+endobj
+158 0 obj
 << /Border [0 0 0]
 /Dest (#hbase.secure.configuration)
 /Subtype /Link
@@ -108614,10 +108991,10 @@ endobj
 /Type /Annot
 >>
 endobj
-158 0 obj
-[155 0 R /XYZ 0 621.5700000000002 null]
-endobj
 159 0 obj
+[156 0 R /XYZ 0 621.5700000000002 null]
+endobj
+160 0 obj
 << /Border [0 0 0]
 /Dest (#casestudies.max.transfer.threads)
 /Subtype /Link
@@ -108625,7 +109002,7 @@ endobj
 /Type /Annot
 >>
 endobj
-160 0 obj
+161 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -108636,10 +109013,10 @@ endobj
 /Type /Annot
 >>
 endobj
-161 0 obj
-[155 0 R /XYZ 0 229.13000000000028 null]
-endobj
 162 0 obj
+[156 0 R /XYZ 0 229.13000000000028 null]
+endobj
+163 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -108650,7 +109027,7 @@ endobj
 /Type /Annot
 >>
 endobj
-163 0 obj
+164 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -108661,7 +109038,7 @@ endobj
 /Type /Annot
 >>
 endobj
-164 0 obj
+165 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -108672,7 +109049,7 @@ endobj
 /Type /Annot
 >>
 endobj
-165 0 obj
+166 0 obj
 << /Length 15947
 >>
 stream
@@ -109594,36 +109971,36 @@ Q
 
 endstream
 endobj
-166 0 obj
+167 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 165 0 R
+/Contents 166 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F2.0 10 0 R
 /F1.0 11 0 R
-/F4.0 48 0 R
+/F4.0 40 0 R
 /F3.0 31 0 R
 /F1.1 34 0 R
 >>
 >>
-/Annots [170 0 R 171 0 R 173 0 R 175 0 R 176 0 R 178 0 R 179 0 R]
+/Annots [171 0 R 172 0 R 174 0 R 176 0 R 177 0 R 179 0 R 180 0 R]
 >>
 endobj
-167 0 obj
-[166 0 R /XYZ 0 792.0 null]
-endobj
 168 0 obj
+[167 0 R /XYZ 0 792.0 null]
+endobj
+169 0 obj
 << /Limits [(acid) (api-before-hbase-1-0-0)]
-/Names [(acid) 624 0 R (add-metric-name-and-function-to-hadoop-compat-interface) 3003 0 R (add-the-implementation-to-both-hadoop-1-and-hadoop-2-compat-modules) 3006 0 R (add.metrics) 3001 0 R (adding-a-new-chapter-to-the-hbase-reference-guide) 3224 0 R (adding.new.node) 2550 0 R (administration) 1035 0 R (administration-2) 1059 0 R (administration-3) 1089 0 R (amazon-ec2) 3261 0 R (api-as-of-hbase-1-0-0) 1138 0 R (api-before-hbase-1-0-0) 1140 0 R]
+/Names [(acid) 626 0 R (add-metric-name-and-function-to-hadoop-compat-interface) 3005 0 R (add-the-implementation-to-both-hadoop-1-and-hadoop-2-compat-modules) 3008 0 R (add.metrics) 3003 0 R (adding-a-new-chapter-to-the-hbase-reference-guide) 3226 0 R (adding.new.node) 2552 0 R (administration) 1037 0 R (administration-2) 1061 0 R (administration-3) 1091 0 R (amazon-ec2) 3263 0 R (api-as-of-hbase-1-0-0) 1140 0 R (api-before-hbase-1-0-0) 1142 0 R]
 >>
 endobj
-169 0 obj
+170 0 obj
 << /Limits [(hadoop.security) (hbase.env.sh)]
-/Names [(hadoop.security) 156 0 R (hadoop2.hbase_0.94) 144 0 R (handling-of-errors-during-log-splitting) 1308 0 R (hardware) 2395 0 R (hbase-and-hdfs) 2349 0 R (hbase-as-a-mapreduce-job-data-source-and-data-sink) 851 0 R (hbase-hot-spot-region) 2398 0 R (hbase-in-action) 3267 0 R (hbase-managed-zookeeper-configuration) 3132 0 R (hbase-metrics) 2555 0 R (hbase-reference-guide-style-guide-and-cheat-sheet) 3190 0 R (hbase-region-with-non-local-data) 2399 0 R (hbase.accesscontrol.configuration) 1013 0 R (hbase.client.api.surface) 374 0 R (hbase.commit.msg.format) 3172 0 R (hbase.encryption.server) 1078 0 R (hbase.env.sh) 270 0 R]
+/Names [(hadoop.security) 157 0 R (hadoop2.hbase_0.94) 145 0 R (handling-of-errors-during-log-splitting) 1310 0 R (hardware) 2397 0 R (hbase-and-hdfs) 2351 0 R (hbase-as-a-mapreduce-job-data-source-and-data-sink) 853 0 R (hbase-hot-spot-region) 2400 0 R (hbase-in-action) 3269 0 R (hbase-managed-zookeeper-configuration) 3134 0 R (hbase-metrics) 2557 0 R (hbase-reference-guide-style-guide-and-cheat-sheet) 3192 0 R (hbase-region-with-non-local-data) 2401 0 R (hbase.accesscontrol.configuration) 1015 0 R (hbase.client.api.surface) 376 0 R (hbase.commit.msg.format) 3174 0 R (hbase.encryption.server) 1080 0 R (hbase.env.sh) 271 0 R]
 >>
 endobj
-170 0 obj
+171 0 obj
 << /Border [0 0 0]
 /Dest (#standalone)
 /Subtype /Link
@@ -109631,7 +110008,7 @@ endobj
 /Type /Annot
 >>
 endobj
-171 0 obj
+172 0 obj
 << /Border [0 0 0]
 /Dest (#distributed)
 /Subtype /Link
@@ -109639,10 +110016,10 @@ endobj
 /Type /Annot
 >>
 endobj
-172 0 obj
-[166 0 R /XYZ 0 586.8599999999999 null]
-endobj
 173 0 obj
+[167 0 R /XYZ 0 586.8599999999999 null]
+endobj
+174 0 obj
 << /Border [0 0 0]
 /Dest (#quickstart)
 /Subtype /Link
@@ -109650,10 +110027,10 @@ endobj
 /Type /Annot
 >>
 endobj
-174 0 obj
-[166 0 R /XYZ 0 471.65999999999997 null]
-endobj
 175 0 obj
+[167 0 R /XYZ 0 471.65999999999997 null]
+endobj
+176 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -109664,7 +110041,7 @@ endobj
 /Type /Annot
 >>
 endobj
-176 0 obj
+177 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -109675,10 +110052,10 @@ endobj
 /Type /Annot
 >>
 endobj
-177 0 obj
-[166 0 R /XYZ 0 297.1199999999999 null]
-endobj
 178 0 obj
+[167 0 R /XYZ 0 297.1199999999999 null]
+endobj
+179 0 obj
 << /Border [0 0 0]
 /Dest (#quickstart)
 /Subtype /Link
@@ -109686,7 +110063,7 @@ endobj
 /Type /Annot
 >>
 endobj
-179 0 obj
+180 0 obj
 << /Border [0 0 0]
 /Dest (#quickstart_pseudo)
 /Subtype /Link
@@ -109694,10 +110071,10 @@ endobj
 /Type /Annot
 >>
 endobj
-180 0 obj
-[166 0 R /XYZ 0 143.15999999999985 null]
-endobj
 181 0 obj
+[167 0 R /XYZ 0 143.15999999999985 null]
+endobj
+182 0 obj
 << /Length 6327
 >>
 stream
@@ -110066,21 +110443,21 @@ Q
 
 endstream
 endobj
-182 0 obj
+183 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 181 0 R
+/Contents 182 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F1.0 11 0 R
 /F3.0 31 0 R
-/F4.0 48 0 R
+/F4.0 40 0 R
 >>
 >>
-/Annots [183 0 R 184 0 R]
+/Annots [184 0 R 185 0 R]
 >>
 endobj
-183 0 obj
+184 0 obj
 << /Border [0 0 0]
 /Dest (#quickstart_fully_distributed)
 /Subtype /Link
@@ -110088,7 +110465,7 @@ endobj
 /Type /Annot
 >>
 endobj
-184 0 obj
+185 0 obj
 << /Border [0 0 0]
 /Dest (#zookeeper)
 /Subtype /Link
@@ -110096,7 +110473,7 @@ endobj
 /Type /Annot
 >>
 endobj
-185 0 obj
+186 0 obj
 << /Length 21370
 >>
 stream
@@ -111446,21 +111823,21 @@ Q
 
 endstream
 endobj
-186 0 obj
+187 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 185 0 R
+/Contents 186 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
-/Font << /F4.0 48 0 R
+/Font << /F4.0 40 0 R
 /F1.0 11 0 R
 /F3.0 31 0 R
 >>
 >>
-/Annots [187 0 R 188 0 R]
+/Annots [188 0 R 189 0 R]
 >>
 endobj
-187 0 obj
+188 0 obj
 << /Border [0 0 0]
 /Dest (#config.files)
 /Subtype /Link
@@ -111468,7 +111845,7 @@ endobj
 /Type /Annot
 >>
 endobj
-188 0 obj
+189 0 obj
 << /Border [0 0 0]
 /Dest (#quickstart_fully_distributed)
 /Subtype /Link
@@ -111476,7 +111853,7 @@ endobj
 /Type /Annot
 >>
 endobj
-189 0 obj
+190 0 obj
 << /Length 6259
 >>
 stream
@@ -111893,20 +112270,20 @@ Q
 
 endstream
 endobj
-190 0 obj
+191 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 189 0 R
+/Contents 190 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F1.0 11 0 R
 /F3.0 31 0 R
-/F4.0 48 0 R
+/F4.0 40 0 R
 >>
 >>
 >>
 endobj
-191 0 obj
+192 0 obj
 << /Length 12573
 >>
 stream
@@ -112578,25 +112955,25 @@ Q
 
 endstream
 endobj
-192 0 obj
+193 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 191 0 R
+/Contents 192 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F2.0 10 0 R
 /F1.0 11 0 R
-/F4.0 48 0 R
+/F4.0 40 0 R
 /F3.0 31 0 R
 >>
 >>
-/Annots [194 0 R]
+/Annots [195 0 R]
 >>
 endobj
-193 0 obj
-[192 0 R /XYZ 0 792.0 null]
-endobj
 194 0 obj
+[193 0 R /XYZ 0 792.0 null]
+endobj
+195 0 obj
 << /Border [0 0 0]
 /Dest (#shell_exercises)
 /Subtype /Link
@@ -112604,7 +112981,7 @@ endobj
 /Type /Annot
 >>
 endobj
-195 0 obj
+196 0 obj
 << /Length 12538
 >>
 stream
@@ -113300,29 +113677,29 @@ Q
 
 endstream
 endobj
-196 0 obj
+197 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 195 0 R
+/Contents 196 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F2.0 10 0 R
-/F4.0 48 0 R
+/F4.0 40 0 R
 /F1.0 11 0 R
 /F3.0 31 0 R
 /F1.1 34 0 R
 >>
 >>
-/Annots [199 0 R]
+/Annots [200 0 R]
 >>
 endobj
-197 0 obj
-[196 0 R /XYZ 0 792.0 null]
-endobj
 198 0 obj
-[196 0 R /XYZ 0 712.0799999999999 null]
+[197 0 R /XYZ 0 792.0 null]
 endobj
 199 0 obj
+[197 0 R /XYZ 0 712.0799999999999 null]
+endobj
+200 0 obj
 << /Border [0 0 0]
 /Dest (#hbase_default_configurations)
 /Subtype /Link
@@ -113330,10 +113707,10 @@ endobj
 /Type /Annot
 >>
 endobj
-200 0 obj
-[196 0 R /XYZ 0 509.76 null]
-endobj
 201 0 obj
+[197 0 R /XYZ 0 509.76 null]
+endobj
+202 0 obj
 << /Length 9913
 >>
 stream
@@ -113811,11 +114188,11 @@ Q
 
 endstream
 endobj
-202 0 obj
+203 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 201 0 R
+/Contents 202 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F3.0 31 0 R
 /F1.0 11 0 R
@@ -113823,7 +114200,7 @@ endobj
 >>
 >>
 endobj
-203 0 obj
+204 0 obj
 << /Length 9190
 >>
 stream
@@ -114274,11 +114651,11 @@ Q
 
 endstream
 endobj
-204 0 obj
+205 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 203 0 R
+/Contents 204 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F1.0 11 0 R
 /F3.0 31 0 R
@@ -114286,7 +114663,7 @@ endobj
 >>
 >>
 endobj
-205 0 obj
+206 0 obj
 << /Length 12782
 >>
 stream
@@ -114852,11 +115229,11 @@ Q
 
 endstream
 endobj
-206 0 obj
+207 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 205 0 R
+/Contents 206 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F3.0 31 0 R
 /F1.0 11 0 R
@@ -114864,7 +115241,7 @@ endobj
 >>
 >>
 endobj
-207 0 obj
+208 0 obj
 << /Length 9744
 >>
 stream
@@ -115323,11 +115700,11 @@ Q
 
 endstream
 endobj
-208 0 obj
+209 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 207 0 R
+/Contents 208 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F3.0 31 0 R
 /F1.0 11 0 R
@@ -115335,7 +115712,7 @@ endobj
 >>
 >>
 endobj
-209 0 obj
+210 0 obj
 << /Length 11994
 >>
 stream
@@ -115874,20 +116251,20 @@ Q
 
 endstream
 endobj
-210 0 obj
+211 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 209 0 R
+/Contents 210 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F1.0 11 0 R
 /F3.0 31 0 R
 >>
 >>
-/Annots [211 0 R]
+/Annots [212 0 R]
 >>
 endobj
-211 0 obj
+212 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -115898,7 +116275,7 @@ endobj
 /Type /Annot
 >>
 endobj
-212 0 obj
+213 0 obj
 << /Length 9801
 >>
 stream
@@ -116371,20 +116748,20 @@ Q
 
 endstream
 endobj
-213 0 obj
+214 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 212 0 R
+/Contents 213 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F1.0 11 0 R
 /F3.0 31 0 R
 >>
 >>
-/Annots [214 0 R 215 0 R 216 0 R 217 0 R]
+/Annots [215 0 R 216 0 R 217 0 R 218 0 R]
 >>
 endobj
-214 0 obj
+215 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -116395,7 +116772,7 @@ endobj
 /Type /Annot
 >>
 endobj
-215 0 obj
+216 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -116406,7 +116783,7 @@ endobj
 /Type /Annot
 >>
 endobj
-216 0 obj
+217 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -116417,7 +116794,7 @@ endobj
 /Type /Annot
 >>
 endobj
-217 0 obj
+218 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -116428,7 +116805,7 @@ endobj
 /Type /Annot
 >>
 endobj
-218 0 obj
+219 0 obj
 << /Length 10665
 >>
 stream
@@ -116918,11 +117295,11 @@ Q
 
 endstream
 endobj
-219 0 obj
+220 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 218 0 R
+/Contents 219 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F3.0 31 0 R
 /F1.0 11 0 R
@@ -116931,7 +117308,7 @@ endobj
 >>
 >>
 endobj
-220 0 obj
+221 0 obj
 << /Length 10517
 >>
 stream
@@ -117432,11 +117809,11 @@ Q
 
 endstream
 endobj
-221 0 obj
+222 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 220 0 R
+/Contents 221 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F3.0 31 0 R
 /F1.0 11 0 R
@@ -117444,7 +117821,7 @@ endobj
 >>
 >>
 endobj
-222 0 obj
+223 0 obj
 << /Length 9825
 >>
 stream
@@ -117918,11 +118295,11 @@ Q
 
 endstream
 endobj
-223 0 obj
+224 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 222 0 R
+/Contents 223 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F3.0 31 0 R
 /F1.0 11 0 R
@@ -117930,7 +118307,7 @@ endobj
 >>
 >>
 endobj
-224 0 obj
+225 0 obj
 << /Length 11186
 >>
 stream
@@ -118454,11 +118831,11 @@ Q
 
 endstream
 endobj
-225 0 obj
+226 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 224 0 R
+/Contents 225 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F1.0 11 0 R
 /F3.0 31 0 R
@@ -118466,7 +118843,7 @@ endobj
 >>
 >>
 endobj
-226 0 obj
+227 0 obj
 << /Length 11045
 >>
 stream
@@ -118990,11 +119367,11 @@ Q
 
 endstream
 endobj
-227 0 obj
+228 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 226 0 R
+/Contents 227 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F1.0 11 0 R
 /F3.0 31 0 R
@@ -119002,7 +119379,7 @@ endobj
 >>
 >>
 endobj
-228 0 obj
+229 0 obj
 << /Length 12956
 >>
 stream
@@ -119580,11 +119957,11 @@ Q
 
 endstream
 endobj
-229 0 obj
+230 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 228 0 R
+/Contents 229 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F1.0 11 0 R
 /F3.0 31 0 R
@@ -119592,7 +119969,7 @@ endobj
 >>
 >>
 endobj
-230 0 obj
+231 0 obj
 << /Length 9872
 >>
 stream
@@ -120070,11 +120447,11 @@ Q
 
 endstream
 endobj
-231 0 obj
+232 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 230 0 R
+/Contents 231 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F1.0 11 0 R
 /F3.0 31 0 R
@@ -120082,7 +120459,7 @@ endobj
 >>
 >>
 endobj
-232 0 obj
+233 0 obj
 << /Length 9813
 >>
 stream
@@ -120582,20 +120959,20 @@ Q
 
 endstream
 endobj
-233 0 obj
+234 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 232 0 R
+/Contents 233 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F3.0 31 0 R
 /F1.0 11 0 R
 >>
 >>
-/Annots [234 0 R 235 0 R]
+/Annots [235 0 R 236 0 R]
 >>
 endobj
-234 0 obj
+235 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -120606,7 +120983,7 @@ endobj
 /Type /Annot
 >>
 endobj
-235 0 obj
+236 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -120617,7 +120994,7 @@ endobj
 /Type /Annot
 >>
 endobj
-236 0 obj
+237 0 obj
 << /Length 10464
 >>
 stream
@@ -121121,20 +121498,20 @@ Q
 
 endstream
 endobj
-237 0 obj
+238 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 236 0 R
+/Contents 237 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F3.0 31 0 R
 /F1.0 11 0 R
 >>
 >>
-/Annots [238 0 R 239 0 R]
+/Annots [239 0 R 240 0 R]
 >>
 endobj
-238 0 obj
+239 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -121145,7 +121522,7 @@ endobj
 /Type /Annot
 >>
 endobj
-239 0 obj
+240 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -121156,7 +121533,7 @@ endobj
 /Type /Annot
 >>
 endobj
-240 0 obj
+241 0 obj
 << /Length 9043
 >>
 stream
@@ -121600,11 +121977,11 @@ Q
 
 endstream
 endobj
-241 0 obj
+242 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 240 0 R
+/Contents 241 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F1.0 11 0 R
 /F3.0 31 0 R
@@ -121612,7 +121989,7 @@ endobj
 >>
 >>
 endobj
-242 0 obj
+243 0 obj
 << /Length 10945
 >>
 stream
@@ -122117,11 +122494,11 @@ Q
 
 endstream
 endobj
-243 0 obj
+244 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 242 0 R
+/Contents 243 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F1.0 11 0 R
 /F3.0 31 0 R
@@ -122129,7 +122506,7 @@ endobj
 >>
 >>
 endobj
-244 0 obj
+245 0 obj
 << /Length 9728
 >>
 stream
@@ -122588,11 +122965,11 @@ Q
 
 endstream
 endobj
-245 0 obj
+246 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 244 0 R
+/Contents 245 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F1.0 11 0 R
 /F3.0 31 0 R
@@ -122600,7 +122977,7 @@ endobj
 >>
 >>
 endobj
-246 0 obj
+247 0 obj
 << /Length 9827
 >>
 stream
@@ -123074,11 +123451,11 @@ Q
 
 endstream
 endobj
-247 0 obj
+248 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 246 0 R
+/Contents 247 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F1.0 11 0 R
 /F3.0 31 0 R
@@ -123086,7 +123463,7 @@ endobj
 >>
 >>
 endobj
-248 0 obj
+249 0 obj
 << /Length 9168
 >>
 stream
@@ -123533,11 +123910,11 @@ Q
 
 endstream
 endobj
-249 0 obj
+250 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 248 0 R
+/Contents 249 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F3.0 31 0 R
 /F1.0 11 0 R
@@ -123545,7 +123922,7 @@ endobj
 >>
 >>
 endobj
-250 0 obj
+251 0 obj
 << /Length 10254
 >>
 stream
@@ -124019,11 +124396,11 @@ Q
 
 endstream
 endobj
-251 0 obj
+252 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 250 0 R
+/Contents 251 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F3.0 31 0 R
 /F1.0 11 0 R
@@ -124031,7 +124408,7 @@ endobj
 >>
 >>
 endobj
-252 0 obj
+253 0 obj
 << /Length 11311
 >>
 stream
@@ -124536,11 +124913,11 @@ Q
 
 endstream
 endobj
-253 0 obj
+254 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 252 0 R
+/Contents 253 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F1.0 11 0 R
 /F3.0 31 0 R
@@ -124548,7 +124925,7 @@ endobj
 >>
 >>
 endobj
-254 0 obj
+255 0 obj
 << /Length 9144
 >>
 stream
@@ -124991,20 +125368,20 @@ Q
 
 endstream
 endobj
-255 0 obj
+256 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 254 0 R
+/Contents 255 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F3.0 31 0 R
 /F1.0 11 0 R
 >>
 >>
-/Annots [256 0 R]
+/Annots [257 0 R]
 >>
 endobj
-256 0 obj
+257 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -125015,7 +125392,7 @@ endobj
 /Type /Annot
 >>
 endobj
-257 0 obj
+258 0 obj
 << /Length 11293
 >>
 stream
@@ -125539,20 +125916,20 @@ Q
 
 endstream
 endobj
-258 0 obj
+259 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 257 0 R
+/Contents 258 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F1.0 11 0 R
 /F3.0 31 0 R
 >>
 >>
-/Annots [259 0 R 260 0 R 261 0 R]
+/Annots [260 0 R 261 0 R 262 0 R]
 >>
 endobj
-259 0 obj
+260 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -125563,7 +125940,7 @@ endobj
 /Type /Annot
 >>
 endobj
-260 0 obj
+261 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -125574,7 +125951,7 @@ endobj
 /Type /Annot
 >>
 endobj
-261 0 obj
+262 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -125585,7 +125962,7 @@ endobj
 /Type /Annot
 >>
 endobj
-262 0 obj
+263 0 obj
 << /Length 11716
 >>
 stream
@@ -126109,11 +126486,11 @@ Q
 
 endstream
 endobj
-263 0 obj
+264 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 262 0 R
+/Contents 263 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F3.0 31 0 R
 /F1.0 11 0 R
@@ -126121,7 +126498,7 @@ endobj
 >>
 >>
 endobj
-264 0 obj
+265 0 obj
 << /Length 9936
 >>
 stream
@@ -126599,11 +126976,11 @@ Q
 
 endstream
 endobj
-265 0 obj
+266 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 264 0 R
+/Contents 265 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F3.0 31 0 R
 /F1.0 11 0 R
@@ -126611,7 +126988,7 @@ endobj
 >>
 >>
 endobj
-266 0 obj
+267 0 obj
 << /Length 9494
 >>
 stream
@@ -127070,11 +127447,11 @@ Q
 
 endstream
 endobj
-267 0 obj
+268 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 266 0 R
+/Contents 267 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F1.0 11 0 R
 /F3.0 31 0 R
@@ -127082,7 +127459,7 @@ endobj
 >>
 >>
 endobj
-268 0 obj
+269 0 obj
 << /Length 11932
 >>
 stream
@@ -127698,30 +128075,30 @@ Q
 
 endstream
 endobj
-269 0 obj
+270 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 268 0 R
+/Contents 269 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F3.0 31 0 R
 /F1.0 11 0 R
 /F2.0 10 0 R
-/F4.0 48 0 R
+/F4.0 40 0 R
 >>
 >>
 >>
 endobj
-270 0 obj
-[269 0 R /XYZ 0 552.6600000000001 null]
-endobj
 271 0 obj
-[269 0 R /XYZ 0 393.9000000000002 null]
+[270 0 R /XYZ 0 552.6600000000001 null]
 endobj
 272 0 obj
-[269 0 R /XYZ 0 266.70000000000016 null]
+[270 0 R /XYZ 0 393.9000000000002 null]
 endobj
 273 0 obj
+[270 0 R /XYZ 0 266.70000000000016 null]
+endobj
+274 0 obj
 << /Length 35689
 >>
 stream
@@ -130140,25 +130517,25 @@ Q
 
 endstream
 endobj
-274 0 obj
+275 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 273 0 R
+/Contents 274 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F1.0 11 0 R
 /F3.0 31 0 R
-/F4.0 48 0 R
+/F4.0 40 0 R
 /F2.0 10 0 R
 >>
 >>
-/Annots [276 0 R]
+/Annots [277 0 R]
 >>
 endobj
-275 0 obj
-[274 0 R /XYZ 0 309.57000000000016 null]
-endobj
 276 0 obj
+[275 0 R /XYZ 0 309.57000000000016 null]
+endobj
+277 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -130169,7 +130546,7 @@ endobj
 /Type /Annot
 >>
 endobj
-277 0 obj
+278 0 obj
 << /Length 911
 >>
 stream
@@ -130243,19 +130620,19 @@ Q
 
 endstream
 endobj
-278 0 obj
+279 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 277 0 R
+/Contents 278 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F1.0 11 0 R
 >>
 >>
-/Annots [279 0 R]
+/Annots [280 0 R]
 >>
 endobj
-279 0 obj
+280 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -130266,7 +130643,7 @@ endobj
 /Type /Annot
 >>
 endobj
-280 0 obj
+281 0 obj
 << /Length 8021
 >>
 stream
@@ -130845,31 +131222,31 @@ Q
 
 endstream
 endobj
-281 0 obj
+282 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 280 0 R
+/Contents 281 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F2.0 10 0 R
 /F1.0 11 0 R
 /F3.0 31 0 R
-/F4.0 48 0 R
+/F4.0 40 0 R
 /F1.1 34 0 R
 >>
 >>
 >>
 endobj
-282 0 obj
-[281 0 R /XYZ 0 792.0 null]
-endobj
 283 0 obj
-[281 0 R /XYZ 0 712.0799999999999 null]
+[282 0 R /XYZ 0 792.0 null]
 endobj
 284 0 obj
-[281 0 R /XYZ 0 537.5400000000001 null]
+[282 0 R /XYZ 0 712.0799999999999 null]
 endobj
 285 0 obj
+[282 0 R /XYZ 0 537.5400000000001 null]
+endobj
+286 0 obj
 << /Length 15515
 >>
 stream
@@ -131852,24 +132229,24 @@ Q
 
 endstream
 endobj
-286 0 obj
+287 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 285 0 R
+/Contents 286 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F3.0 31 0 R
 /F2.0 10 0 R
-/F4.0 48 0 R
+/F4.0 40 0 R
 /F1.0 11 0 R
 >>
 >>
 >>
 endobj
-287 0 obj
-[286 0 R /XYZ 0 265.05999999999983 null]
-endobj
 288 0 obj
+[287 0 R /XYZ 0 265.05999999999983 null]
+endobj
+289 0 obj
 << /Length 7187
 >>
 stream
@@ -132286,29 +132663,29 @@ Q
 
 endstream
 endobj
-289 0 obj
+290 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 288 0 R
+/Contents 289 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F3.0 31 0 R
 /F2.0 10 0 R
-/F4.0 48 0 R
+/F4.0 40 0 R
 /F1.0 11 0 R
 >>
 >>
 >>
 endobj
-290 0 obj
-[289 0 R /XYZ 0 589.34 null]
-endobj
 291 0 obj
+[290 0 R /XYZ 0 589.34 null]
+endobj
+292 0 obj
 << /Limits [(jdo) (keysize.attributes)]
-/Names [(jdo) 1660 0 R (jira) 2766 0 R (jmx_config) 348 0 R (joins) 621 0 R (junit) 3082 0 R (jvm) 1894 0 R (jython) 1685 0 R (jython-code-examples) 1687 0 R (keeping-track-of-logs) 2627 0 R (keysize) 672 0 R (keysize.attributes) 682 0 R]
+/Names [(jdo) 1662 0 R (jira) 2768 0 R (jmx_config) 349 0 R (joins) 623 0 R (junit) 3084 0 R (jvm) 1896 0 R (jython) 1687 0 R (jython-code-examples) 1689 0 R (keeping-track-of-logs) 2629 0 R (keysize) 674 0 R (keysize.attributes) 684 0 R]
 >>
 endobj
-292 0 obj
+293 0 obj
 << /Length 12975
 >>
 stream
@@ -132929,29 +133306,29 @@ Q
 
 endstream
 endobj
-293 0 obj
+294 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 292 0 R
+/Contents 293 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F2.0 10 0 R
 /F1.0 11 0 R
-/F4.0 48 0 R
+/F4.0 40 0 R
 /F3.0 31 0 R
 /F1.1 34 0 R
 >>
 >>
-/Annots [296 0 R 297 0 R 299 0 R 300 0 R 301 0 R 303 0 R]
+/Annots [297 0 R 298 0 R 300 0 R 301 0 R 302 0 R 304 0 R]
 >>
 endobj
-294 0 obj
-[293 0 R /XYZ 0 792.0 null]
-endobj
 295 0 obj
-[293 0 R /XYZ 0 668.52 null]
+[294 0 R /XYZ 0 792.0 null]
 endobj
 296 0 obj
+[294 0 R /XYZ 0 668.52 null]
+endobj
+297 0 obj
 << /Border [0 0 0]
 /Dest (#os)
 /Subtype /Link
@@ -132959,7 +133336,7 @@ endobj
 /Type /Annot
 >>
 endobj
-297 0 obj
+298 0 obj
 << /Border [0 0 0]
 /Dest (#hadoop)
 /Subtype /Link
@@ -132967,10 +133344,10 @@ endobj
 /Type /Annot
 >>
 endobj
-298 0 obj
-[293 0 R /XYZ 0 600.6600000000001 null]
-endobj
 299 0 obj
+[294 0 R /XYZ 0 600.6600000000001 null]
+endobj
+300 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -132981,7 +133358,7 @@ endobj
 /Type /Annot
 >>
 endobj
-300 0 obj
+301 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -132992,7 +133369,7 @@ endobj
 /Type /Annot
 >>
 endobj
-301 0 obj
+302 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -133003,10 +133380,10 @@ endobj
 /Type /Annot
 >>
 endobj
-302 0 obj
-[293 0 R /XYZ 0 461.7000000000002 null]
-endobj
 303 0 obj
+[294 0 R /XYZ 0 461.7000000000002 null]
+endobj
+304 0 obj
 << /Border [0 0 0]
 /Dest (#fail.fast.expired.active.master)
 /Subtype /Link
@@ -133014,16 +133391,16 @@ endobj
 /Type /Annot
 >>
 endobj
-304 0 obj
-[293 0 R /XYZ 0 354.3000000000002 null]
-endobj
 305 0 obj
-[293 0 R /XYZ 0 314.22000000000014 null]
+[294 0 R /XYZ 0 354.3000000000002 null]
 endobj
 306 0 obj
-[293 0 R /XYZ 0 281.9400000000001 null]
+[294 0 R /XYZ 0 314.22000000000014 null]
 endobj
 307 0 obj
+[294 0 R /XYZ 0 281.9400000000001 null]
+endobj
+308 0 obj
 << /Length 13276
 >>
 stream
@@ -133634,26 +134011,26 @@ Q
 
 endstream
 endobj
-308 0 obj
+309 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 307 0 R
+/Contents 308 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F1.0 11 0 R
 /F2.0 10 0 R
-/F4.0 48 0 R
+/F4.0 40 0 R
 /F3.0 31 0 R
 /F1.1 34 0 R
 >>
 >>
-/Annots [310 0 R 314 0 R]
+/Annots [311 0 R 315 0 R]
 >>
 endobj
-309 0 obj
-[308 0 R /XYZ 0 713.19 null]
-endobj
 310 0 obj
+[309 0 R /XYZ 0 713.19 null]
+endobj
+311 0 obj
 << /Border [0 0 0]
 /Dest (#zookeeper)
 /Subtype /Link
@@ -133661,16 +134038,16 @@ endobj
 /Type /Annot
 >>
 endobj
-311 0 obj
-[308 0 R /XYZ 0 657.0300000000002 null]
-endobj
 312 0 obj
-[308 0 R /XYZ 0 624.7500000000003 null]
+[309 0 R /XYZ 0 657.0300000000002 null]
 endobj
 313 0 obj
-[308 0 R /XYZ 0 537.0300000000004 null]
+[309 0 R /XYZ 0 624.7500000000003 null]
 endobj
 314 0 obj
+[309 0 R /XYZ 0 537.0300000000004 null]
+endobj
+315 0 obj
 << /Border [0 0 0]
 /Dest (#rpc.logging)
 /Subtype /Link
@@ -133678,18 +134055,18 @@ endobj
 /Type /Annot
 >>
 endobj
-315 0 obj
-[308 0 R /XYZ 0 204.2700000000005 null]
-endobj
 316 0 obj
-<< /Limits [(connection-setup) (datamodel)]
-/Names [(connection-setup) 3503 0 R (constraints) 758 0 R (contributing-to-documentation-or-other-strings) 3181 0 R (coprocessor-implementation-overview) 1774 0 R (coprocessor-overview) 1771 0 R (coprocessors) 1236 0 R (copytable) 2467 0 R (count) 511 0 R (counters) 716 0 R (cp) 1763 0 R (cp_analogies) 1773 0 R (cp_example) 1836 0 R (cp_loading) 1814 0 R (creating-a-table-with-region-replication) 1552 0 R (current-limitations) 607 0 R (custom-split-policies) 1368 0 R (data-model-operations) 551 0 R (data.block.encoding.enable) 3357 0 R (data.blocks.in.fscache) 1263 0 R (datamodel) 512 0 R]
->>
+[309 0 R /XYZ 0 204.2700000000005 null]
 endobj
 317 0 obj
-[308 0 R /XYZ 0 112.65000000000046 null]
+<< /Limits [(connection-setup) (datamodel)]
+/Names [(connection-setup) 3505 0 R (constraints) 760 0 R (contributing-to-documentation-or-other-strings) 3183 0 R (coprocessor-implementation-overview) 1776 0 R (coprocessor-overview) 1773 0 R (coprocessors) 1238 0 R (copytable) 2469 0 R (count) 513 0 R (counters) 718 0 R (cp) 1765 0 R (cp_analogies) 1775 0 R (cp_example) 1838 0 R (cp_loading) 1816 0 R (creating-a-table-with-region-replication) 1554 0 R (current-limitations) 609 0 R (custom-split-policies) 1370 0 R (data-model-operations) 553 0 R (data.block.encoding.enable) 3359 0 R (data.blocks.in.fscache) 1265 0 R (datamodel) 514 0 R]
+>>
 endobj
 318 0 obj
+[309 0 R /XYZ 0 112.65000000000046 null]
+endobj
+319 0 obj
 << /Length 16158
 >>
 stream
@@ -134532,22 +134909,22 @@ Q
 
 endstream
 endobj
-319 0 obj
+320 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 318 0 R
+/Contents 319 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F1.0 11 0 R
 /F2.0 10 0 R
-/F4.0 48 0 R
+/F4.0 40 0 R
 /F3.0 31 0 R
 >>
 >>
-/Annots [320 0 R 322 0 R 324 0 R]
+/Annots [321 0 R 323 0 R 325 0 R]
 >>
 endobj
-320 0 obj
+321 0 obj
 << /Border [0 0 0]
 /Dest (#compression)
 /Subtype /Link
@@ -134555,10 +134932,10 @@ endobj
 /Type /Annot
 >>
 endobj
-321 0 obj
-[319 0 R /XYZ 0 701.19 null]
-endobj
 322 0 obj
+[320 0 R /XYZ 0 701.19 null]
+endobj
+323 0 obj
 << /Border [0 0 0]
 /Dest (#wal)
 /Subtype /Link
@@ -134566,10 +134943,10 @@ endobj
 /Type /Annot
 >>
 endobj
-323 0 obj
-[319 0 R /XYZ 0 487.1100000000001 null]
-endobj
 324 0 obj
+[320 0 R /XYZ 0 487.1100000000001 null]
+endobj
+325 0 obj
 << /Border [0 0 0]
 /Dest (#manual_region_splitting_decisions)
 /Subtype /Link
@@ -134577,7 +134954,7 @@ endobj
 /Type /Annot
 >>
 endobj
-325 0 obj
+326 0 obj
 << /Length 12971
 >>
 stream
@@ -135270,25 +135647,25 @@ Q
 
 endstream
 endobj
-326 0 obj
+327 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 325 0 R
+/Contents 326 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F1.0 11 0 R
 /F3.0 31 0 R
 /F2.0 10 0 R
-/F4.0 48 0 R
+/F4.0 40 0 R
 >>
 >>
-/Annots [328 0 R 329 0 R 330 0 R 334 0 R]
+/Annots [329 0 R 330 0 R 331 0 R 335 0 R]
 >>
 endobj
-327 0 obj
-[326 0 R /XYZ 0 574.9499999999999 null]
-endobj
 328 0 obj
+[327 0 R /XYZ 0 574.9499999999999 null]
+endobj
+329 0 obj
 << /Border [0 0 0]
 /Dest (#compaction.parameters)
 /Subtype /Link
@@ -135296,7 +135673,7 @@ endobj
 /Type /Annot
 >>
 endobj
-329 0 obj
+330 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -135307,7 +135684,7 @@ endobj
 /Type /Annot
 >>
 endobj
-330 0 obj
+331 0 obj
 << /Border [0 0 0]
 /Dest (#compaction)
 /Subtype /Link
@@ -135315,16 +135692,16 @@ endobj
 /Type /Annot
 >>
 endobj
-331 0 obj
-[326 0 R /XYZ 0 333.8700000000001 null]
-endobj
 332 0 obj
-[326 0 R /XYZ 0 226.47000000000008 null]
+[327 0 R /XYZ 0 333.8700000000001 null]
 endobj
 333 0 obj
-[326 0 R /XYZ 0 186.39000000000007 null]
+[327 0 R /XYZ 0 226.47000000000008 null]
 endobj
 334 0 obj
+[327 0 R /XYZ 0 186.39000000000007 null]
+endobj
+335 0 obj
 << /Border [0 0 0]
 /Dest (#master.processes.loadbalancer)
 /Subtype /Link
@@ -135332,7 +135709,7 @@ endobj
 /Type /Annot
 >>
 endobj
-335 0 obj
+336 0 obj
 << /Length 16712
 >>
 stream
@@ -136272,11 +136649,11 @@ Q
 
 endstream
 endobj
-336 0 obj
+337 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 335 0 R
+/Contents 336 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F2.0 10 0 R
 /F1.0 11 0 R
@@ -136284,21 +136661,21 @@ endobj
 /F1.1 34 0 R
 >>
 >>
-/Annots [340 0 R 341 0 R 342 0 R 344 0 R 345 0 R]
+/Annots [341 0 R 342 0 R 343 0 R 345 0 R 346 0 R]
 >>
 endobj
-337 0 obj
-[336 0 R /XYZ 0 792.0 null]
-endobj
 338 0 obj
-[336 0 R /XYZ 0 635.2200000000001 null]
+[337 0 R /XYZ 0 792.0 null]
 endobj
 339 0 obj
+[337 0 R /XYZ 0 635.2200000000001 null]
+endobj
+340 0 obj
 << /Limits [(recommended.configurations.hdfs) (regionserver.arch.processes.memstore)]
-/Names [(recommended.configurations.hdfs) 311 0 R (recommended_configurations.zk) 305 0 R (region-overlap-repairs) 3280 0 R (region-replication-for-meta-table-s-region) 1533 0 R (regions.arch) 1335 0 R (regions.arch.assignment) 1346 0 R (regions.arch.assignment.failover) 1348 0 R (regions.arch.assignment.startup) 1347 0 R (regions.arch.balancer) 1351 0 R (regions.arch.locality) 1361 0 R (regions.arch.states) 1353 0 R (regionserver.arch) 1228 0 R (regionserver.arch.api) 1230 0 R (regionserver.arch.processes) 1231 0 R (regionserver.arch.processes.compactsplit) 1232 0 R (regionserver.arch.processes.log) 1235 0 R (regionserver.arch.processes.majorcompact) 1233 0 R (regionserver.arch.processes.memstore) 1234 0 R]
+/Names [(recommended.configurations.hdfs) 312 0 R (recommended_configurations.zk) 306 0 R (region-overlap-repairs) 3282 0 R (region-replication-for-meta-table-s-region) 1535 0 R (regions.arch) 1337 0 R (regions.arch.assignment) 1348 0 R (regions.arch.assignment.failover) 1350 0 R (regions.arch.assignment.startup) 1349 0 R (regions.arch.balancer) 1353 0 R (regions.arch.locality) 1363 0 R (regions.arch.states) 1355 0 R (regionserver.arch) 1230 0 R (regionserver.arch.api) 1232 0 R (regionserver.arch.processes) 1233 0 R (regionserver.arch.processes.compactsplit) 1234 0 R (regionserver.arch.processes.log) 1237 0 R (regionserver.arch.processes.majorcompact) 1235 0 R (regionserver.arch.processes.memstore) 1236 0 R]
 >>
 endobj
-340 0 obj
+341 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -136309,7 +136686,7 @@ endobj
 /Type /Annot
 >>
 endobj
-341 0 obj
+342 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -136320,7 +136697,7 @@ endobj
 /Type /Annot
 >>
 endobj
-342 0 obj
+343 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -136331,10 +136708,10 @@ endobj
 /Type /Annot
 >>
 endobj
-343 0 obj
-[336 0 R /XYZ 0 512.0400000000003 null]
-endobj
 344 0 obj
+[337 0 R /XYZ 0 512.0400000000003 null]
+endobj
+345 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -136345,7 +136722,7 @@ endobj
 /Type /Annot
 >>
 endobj
-345 0 obj
+346 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -136356,7 +136733,7 @@ endobj
 /Type /Annot
 >>
 endobj
-346 0 obj
+347 0 obj
 << /Length 20833
 >>
 stream
@@ -137697,24 +138074,24 @@ Q
 
 endstream
 endobj
-347 0 obj
+348 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 346 0 R
+/Contents 347 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F3.0 31 0 R
 /F2.0 10 0 R
 /F1.0 11 0 R
 >>
 >>
-/Annots [349 0 R 350 0 R]
+/Annots [350 0 R 351 0 R]
 >>
 endobj
-348 0 obj
-[347 0 R /XYZ 0 206.0999999999998 null]
-endobj
 349 0 obj
+[348 0 R /XYZ 0 206.0999999999998 null]
+endobj
+350 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -137725,7 +138102,7 @@ endobj
 /Type /Annot
 >>
 endobj
-350 0 obj
+351 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -137736,7 +138113,7 @@ endobj
 /Type /Annot
 >>
 endobj
-351 0 obj
+352 0 obj
 << /Length 13768
 >>
 stream
@@ -138512,21 +138889,21 @@ Q
 
 endstream
 endobj
-352 0 obj
+353 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 351 0 R
+/Contents 352 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F1.0 11 0 R
-/F4.0 48 0 R
+/F4.0 40 0 R
 /F3.0 31 0 R
 /F2.0 10 0 R
 >>
 >>
 >>
 endobj
-353 0 obj
+354 0 obj
 << /Length 12791
 >>
 stream
@@ -139165,22 +139542,22 @@ Q
 
 endstream
 endobj
-354 0 obj
+355 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 353 0 R
+/Contents 354 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F3.0 31 0 R
 /F1.0 11 0 R
-/F4.0 48 0 R
+/F4.0 40 0 R
 /F2.0 10 0 R
 >>
 >>
 >>
 endobj
-355 0 obj
-<< /Length 8724
+356 0 obj
+<< /Length 9283
 >>
 stream
 q
@@ -139608,52 +139985,94 @@ ET
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
+10.133 Tw
+
 BT
 48.240000000000016 392.8559999999999 Td
 /F1.0 10.5 Tf
 <52657669657720> Tj
 ET
 
+
+0.000 Tw
 0.000 0.000 0.000 SCN
 0.000 0.000 0.000 scn
 0.259 0.545 0.792 scn
 0.259 0.545 0.792 SCN
 
+10.133 Tw
+
 BT
-87.54150000000001 392.8559999999999 Td
+97.67423502604169 392.8559999999999 Td
 /F1.0 10.5 Tf
 [<41706163686520484261736520436f6e6669677572> 20.01953125 <6174696f6e>] TJ
 ET
 
+
+0.000 Tw
 0.000 0.000 0.000 SCN
 0.000 0.000 0.000 scn
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
+10.133 Tw
+
 BT
-230.89779492187503 392.8559999999999 Td
+261.29600000000005 392.8559999999999 Td
 /F1.0 10.5 Tf
 <2c20696e20706172746963756c617220> Tj
 ET
 
+
+0.000 Tw
 0.000 0.000 0.000 SCN
 0.000 0.000 0.000 scn
 0.259 0.545 0.792 scn
 0.259 0.545 0.792 SCN
 
+10.133 Tw
+
 BT
-302.05629492187506 392.8559999999999 Td
+362.85270507812504 392.8559999999999 Td
 /F1.0 10.5 Tf
 <4861646f6f70> Tj
 ET
 
+
+0.000 Tw
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+10.133 Tw
+
+BT
+402.05970507812503 392.8559999999999 Td
+/F1.0 10.5 Tf
+[<2e2046> 40.0390625 <616d696c696172697a6520796f757273656c662077697468>] TJ
+ET
+
+
+0.000 Tw
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.259 0.545 0.792 scn
+0.259 0.545 0.792 SCN
+
+BT
+48.240000000000016 377.0759999999999 Td
+/F1.0 10.5 Tf
+<5b68626173655f737570706f727465645f7465737465645f646566696e6974696f6e735d> Tj
+ET
+
 0.000 0.000 0.000 SCN
 0.000 0.000 0.000 scn
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
 BT
-341.26329492187506 392.8559999999999 Td
+234.38400000000001 377.0759999999999 Td
 /F1.0 10.5 Tf
 <2e> Tj
 ET
@@ -139690,11 +140109,11 @@ Q
 
 endstream
 endobj
-356 0 obj
+357 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 355 0 R
+/Contents 356 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F2.0 10 0 R
 /F1.0 11 0 R
@@ -139702,13 +140121,13 @@ endobj
 /F1.1 34 0 R
 >>
 >>
-/Annots [358 0 R 359 0 R 361 0 R 362 0 R 363 0 R]
+/Annots [359 0 R 360 0 R 362 0 R 363 0 R 364 0 R 365 0 R]
 >>
 endobj
-357 0 obj
-[356 0 R /XYZ 0 792.0 null]
-endobj
 358 0 obj
+[357 0 R /XYZ 0 792.0 null]
+endobj
+359 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -139719,7 +140138,7 @@ endobj
 /Type /Annot
 >>
 endobj
-359 0 obj
+360 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -139730,37 +140149,45 @@ endobj
 /Type /Annot
 >>
 endobj
-360 0 obj
-[356 0 R /XYZ 0 546.06 null]
-endobj
 361 0 obj
+[357 0 R /XYZ 0 546.06 null]
+endobj
+362 0 obj
 << /Border [0 0 0]
 /Dest (#configuration)
 /Subtype /Link
-/Rect [87.54150000000001 389.7899999999999 230.89779492187503 404.0699999999999]
+/Rect [97.67423502604169 389.7899999999999 261.29600000000005 404.0699999999999]
 /Type /Annot
 >>
 endobj
-362 0 obj
+363 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
 /URI (http://hadoop.apache.org)
 >>
 /Subtype /Link
-/Rect [302.05629492187506 389.7899999999999 341.26329492187506 404.0699999999999]
+/Rect [362.85270507812504 389.7899999999999 402.05970507812503 404.0699999999999]
 /Type /Annot
 >>
 endobj
-363 0 obj
+364 0 obj
 << /Border [0 0 0]
 /Dest (#hadoop)
 /Subtype /Link
-/Rect [302.05629492187506 389.7899999999999 341.26329492187506 404.0699999999999]
+/Rect [362.85270507812504 389.7899999999999 402.05970507812503 404.0699999999999]
 /Type /Annot
 >>
 endobj
-364 0 obj
+365 0 obj
+<< /Border [0 0 0]
+/Dest (#hbase_supported_tested_definitions)
+/Subtype /Link
+/Rect [48.240000000000016 374.00999999999993 234.38400000000001 388.2899999999999]
+/Type /Annot
+>>
+endobj
+366 0 obj
 << /Length 10676
 >>
 stream
@@ -140302,26 +140729,26 @@ Q
 
 endstream
 endobj
-365 0 obj
+367 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 364 0 R
+/Contents 366 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F2.0 10 0 R
 /F1.0 11 0 R
 >>
 >>
-/Annots [368 0 R]
+/Annots [370 0 R]
 >>
 endobj
-366 0 obj
-[365 0 R /XYZ 0 792.0 null]
+368 0 obj
+[367 0 R /XYZ 0 792.0 null]
 endobj
-367 0 obj
-[365 0 R /XYZ 0 649.9799999999999 null]
+369 0 obj
+[367 0 R /XYZ 0 649.9799999999999 null]
 endobj
-368 0 obj
+370 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -140332,7 +140759,7 @@ endobj
 /Type /Annot
 >>
 endobj
-369 0 obj
+371 0 obj
 << /Length 14569
 >>
 stream
@@ -141120,21 +141547,21 @@ Q
 
 endstream
 endobj
-370 0 obj
+372 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 369 0 R
+/Contents 371 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F1.0 11 0 R
 /F3.0 31 0 R
-/F4.0 48 0 R
+/F4.0 40 0 R
 >>
 >>
-/Annots [371 0 R]
+/Annots [373 0 R]
 >>
 endobj
-371 0 obj
+373 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -141145,7 +141572,7 @@ endobj
 /Type /Annot
 >>
 endobj
-372 0 obj
+374 0 obj
 << /Length 26847
 >>
 stream
@@ -143109,24 +143536,24 @@ Q
 
 endstream
 endobj
-373 0 obj
+375 0 obj
 << /Type /Page
 /Parent 3 0 R
 /MediaBox [0 0 612.0 792.0]
-/Contents 372 0 R
+/Contents 374 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
 /Font << /F1.0 11 0 R
 /F2.0 10 0 R
-/F4.0 48 0 R
+/F4.0 40 0 R
 >>
 >>
-/Annots [375 0 R 376 0 R]
+/Annots [377 0 R 378 0 R]
 >>
 endobj
-374 0 obj
-[373 0 R /XYZ 0 288.0 null]
+376 0 obj
+[375 0 R /XYZ 0 288.0 null]
 endobj
-375 0 obj
+377 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -143137,7 +143564,7 @@ endobj
 /Type /Annot
 >>
 endobj
-376 0 obj
+378 0 obj
 << /Border [0 0 0]
 /A << /Type /Action
 /S /URI
@@ -143148,7 +143575,7 @@ endobj
 /Type /Annot
 >>
 endobj
-377 0 obj
+379 0 obj
 << /Length 13294
 >>
 stream
@@ -143734,24 +144161,24 @@ Q
 
 endstream
 endobj
-378 0 ob

<TRUNCATED>

[14/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.ZKWatcher.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.ZKWatcher.html b/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.ZKWatcher.html
index aca192f..761d6a4 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.ZKWatcher.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.ZKWatcher.html
@@ -41,208 +41,207 @@
 <span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.coprocessor.ObserverContext;<a name="line.33"></a>
 <span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment;<a name="line.34"></a>
 <span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.regionserver.HStore;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.regionserver.Store;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.regionserver.ScanInfo;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.regionserver.InternalScanner;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.regionserver.KeyValueScanner;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.regionserver.ScanType;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.regionserver.Store;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.regionserver.StoreScanner;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.zookeeper.KeeperException;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.zookeeper.WatchedEvent;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.zookeeper.Watcher;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.zookeeper.ZooKeeper;<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> * This is an example showing how a RegionObserver could configured<a name="line.51"></a>
-<span class="sourceLineNo">052</span> * via ZooKeeper in order to control a Region compaction, flush, and scan policy.<a name="line.52"></a>
-<span class="sourceLineNo">053</span> *<a name="line.53"></a>
-<span class="sourceLineNo">054</span> * This also demonstrated the use of shared <a name="line.54"></a>
-<span class="sourceLineNo">055</span> * {@link org.apache.hadoop.hbase.coprocessor.RegionObserver} state.<a name="line.55"></a>
-<span class="sourceLineNo">056</span> * See {@link RegionCoprocessorEnvironment#getSharedData()}.<a name="line.56"></a>
-<span class="sourceLineNo">057</span> *<a name="line.57"></a>
-<span class="sourceLineNo">058</span> * This would be useful for an incremental backup tool, which would indicate the last<a name="line.58"></a>
-<span class="sourceLineNo">059</span> * time of a successful backup via ZK and instruct HBase to not delete data that was<a name="line.59"></a>
-<span class="sourceLineNo">060</span> * inserted since (based on wall clock time). <a name="line.60"></a>
-<span class="sourceLineNo">061</span> *<a name="line.61"></a>
-<span class="sourceLineNo">062</span> * This implements org.apache.zookeeper.Watcher directly instead of using<a name="line.62"></a>
-<span class="sourceLineNo">063</span> * {@link org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher}, <a name="line.63"></a>
-<span class="sourceLineNo">064</span> * because RegionObservers come and go and currently<a name="line.64"></a>
-<span class="sourceLineNo">065</span> * listeners registered with ZooKeeperWatcher cannot be removed.<a name="line.65"></a>
-<span class="sourceLineNo">066</span> */<a name="line.66"></a>
-<span class="sourceLineNo">067</span>public class ZooKeeperScanPolicyObserver extends BaseRegionObserver {<a name="line.67"></a>
-<span class="sourceLineNo">068</span>  public static final String node = "/backup/example/lastbackup";<a name="line.68"></a>
-<span class="sourceLineNo">069</span>  public static final String zkkey = "ZK";<a name="line.69"></a>
-<span class="sourceLineNo">070</span>  private static final Log LOG = LogFactory.getLog(ZooKeeperScanPolicyObserver.class);<a name="line.70"></a>
-<span class="sourceLineNo">071</span><a name="line.71"></a>
-<span class="sourceLineNo">072</span>  /**<a name="line.72"></a>
-<span class="sourceLineNo">073</span>   * Internal watcher that keep "data" up to date asynchronously.<a name="line.73"></a>
-<span class="sourceLineNo">074</span>   */<a name="line.74"></a>
-<span class="sourceLineNo">075</span>  private static class ZKWatcher implements Watcher {<a name="line.75"></a>
-<span class="sourceLineNo">076</span>    private byte[] data = null;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>    private ZooKeeper zk;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>    private volatile boolean needSetup = true;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    private volatile long lastSetupTry = 0;<a name="line.79"></a>
-<span class="sourceLineNo">080</span><a name="line.80"></a>
-<span class="sourceLineNo">081</span>    public ZKWatcher(ZooKeeper zk) {<a name="line.81"></a>
-<span class="sourceLineNo">082</span>      this.zk = zk;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>      // trigger the listening<a name="line.83"></a>
-<span class="sourceLineNo">084</span>      getData();<a name="line.84"></a>
-<span class="sourceLineNo">085</span>    }<a name="line.85"></a>
-<span class="sourceLineNo">086</span><a name="line.86"></a>
-<span class="sourceLineNo">087</span>    /**<a name="line.87"></a>
-<span class="sourceLineNo">088</span>     * Get the maintained data. In case of any ZK exceptions this will retry<a name="line.88"></a>
-<span class="sourceLineNo">089</span>     * establishing the connection (but not more than twice/minute).<a name="line.89"></a>
-<span class="sourceLineNo">090</span>     *<a name="line.90"></a>
-<span class="sourceLineNo">091</span>     * getData is on the critical path, so make sure it is fast unless there is<a name="line.91"></a>
-<span class="sourceLineNo">092</span>     * a problem (network partion, ZK ensemble down, etc)<a name="line.92"></a>
-<span class="sourceLineNo">093</span>     * Make sure at most one (unlucky) thread retries and other threads don't pile up<a name="line.93"></a>
-<span class="sourceLineNo">094</span>     * while that threads tries to recreate the connection.<a name="line.94"></a>
-<span class="sourceLineNo">095</span>     *<a name="line.95"></a>
-<span class="sourceLineNo">096</span>     * @return the last know version of the data<a name="line.96"></a>
-<span class="sourceLineNo">097</span>     */<a name="line.97"></a>
-<span class="sourceLineNo">098</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="REC_CATCH_EXCEPTION")<a name="line.98"></a>
-<span class="sourceLineNo">099</span>    public byte[] getData() {<a name="line.99"></a>
-<span class="sourceLineNo">100</span>      // try at most twice/minute<a name="line.100"></a>
-<span class="sourceLineNo">101</span>      if (needSetup &amp;&amp; EnvironmentEdgeManager.currentTime() &gt; lastSetupTry + 30000) {<a name="line.101"></a>
-<span class="sourceLineNo">102</span>        synchronized (this) {<a name="line.102"></a>
-<span class="sourceLineNo">103</span>          // make sure only one thread tries to reconnect<a name="line.103"></a>
-<span class="sourceLineNo">104</span>          if (needSetup) {<a name="line.104"></a>
-<span class="sourceLineNo">105</span>            needSetup = false;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>          } else {<a name="line.106"></a>
-<span class="sourceLineNo">107</span>            return data;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>          }<a name="line.108"></a>
-<span class="sourceLineNo">109</span>        }<a name="line.109"></a>
-<span class="sourceLineNo">110</span>        // do this without the lock held to avoid threads piling up on this lock,<a name="line.110"></a>
-<span class="sourceLineNo">111</span>        // as it can take a while<a name="line.111"></a>
-<span class="sourceLineNo">112</span>        try {<a name="line.112"></a>
-<span class="sourceLineNo">113</span>          LOG.debug("Connecting to ZK");<a name="line.113"></a>
-<span class="sourceLineNo">114</span>          // record this attempt<a name="line.114"></a>
-<span class="sourceLineNo">115</span>          lastSetupTry = EnvironmentEdgeManager.currentTime();<a name="line.115"></a>
-<span class="sourceLineNo">116</span>          if (zk.exists(node, false) != null) {<a name="line.116"></a>
-<span class="sourceLineNo">117</span>            data = zk.getData(node, this, null);<a name="line.117"></a>
-<span class="sourceLineNo">118</span>            LOG.debug("Read synchronously: "+(data == null ? "null" : Bytes.toLong(data)));<a name="line.118"></a>
-<span class="sourceLineNo">119</span>          } else {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>            zk.exists(node, this);<a name="line.120"></a>
-<span class="sourceLineNo">121</span>          }<a name="line.121"></a>
-<span class="sourceLineNo">122</span>        } catch (Exception x) {<a name="line.122"></a>
-<span class="sourceLineNo">123</span>          // try again if this fails<a name="line.123"></a>
-<span class="sourceLineNo">124</span>          needSetup = true;<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>      return data;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    }<a name="line.128"></a>
-<span class="sourceLineNo">129</span><a name="line.129"></a>
-<span class="sourceLineNo">130</span>    @Override<a name="line.130"></a>
-<span class="sourceLineNo">131</span>    public void process(WatchedEvent event) {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      switch(event.getType()) {<a name="line.132"></a>
-<span class="sourceLineNo">133</span>      case NodeDataChanged:<a name="line.133"></a>
-<span class="sourceLineNo">134</span>      case NodeCreated:<a name="line.134"></a>
-<span class="sourceLineNo">135</span>      try {<a name="line.135"></a>
-<span class="sourceLineNo">136</span>        // get data and re-watch<a name="line.136"></a>
-<span class="sourceLineNo">137</span>        data = zk.getData(node, this, null);<a name="line.137"></a>
-<span class="sourceLineNo">138</span>        LOG.debug("Read asynchronously: "+(data == null ? "null" : Bytes.toLong(data)));<a name="line.138"></a>
-<span class="sourceLineNo">139</span>      } catch (InterruptedException ix) {<a name="line.139"></a>
-<span class="sourceLineNo">140</span>      } catch (KeeperException kx) {<a name="line.140"></a>
-<span class="sourceLineNo">141</span>        needSetup = true;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>      }<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      break;<a name="line.143"></a>
-<span class="sourceLineNo">144</span><a name="line.144"></a>
-<span class="sourceLineNo">145</span>      case NodeDeleted:<a name="line.145"></a>
-<span class="sourceLineNo">146</span>      try {<a name="line.146"></a>
-<span class="sourceLineNo">147</span>        // just re-watch<a name="line.147"></a>
-<span class="sourceLineNo">148</span>        zk.exists(node, this);<a name="line.148"></a>
-<span class="sourceLineNo">149</span>        data = null;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>      } catch (InterruptedException ix) {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>      } catch (KeeperException kx) {<a name="line.151"></a>
-<span class="sourceLineNo">152</span>        needSetup = true;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>      }<a name="line.153"></a>
-<span class="sourceLineNo">154</span>      break;<a name="line.154"></a>
-<span class="sourceLineNo">155</span><a name="line.155"></a>
-<span class="sourceLineNo">156</span>      default:<a name="line.156"></a>
-<span class="sourceLineNo">157</span>        // ignore<a name="line.157"></a>
-<span class="sourceLineNo">158</span>      }<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    }<a name="line.159"></a>
-<span class="sourceLineNo">160</span>  }<a name="line.160"></a>
-<span class="sourceLineNo">161</span><a name="line.161"></a>
-<span class="sourceLineNo">162</span>  @Override<a name="line.162"></a>
-<span class="sourceLineNo">163</span>  public void start(CoprocessorEnvironment e) throws IOException {<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    RegionCoprocessorEnvironment re = (RegionCoprocessorEnvironment) e;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    if (!re.getSharedData().containsKey(zkkey)) {<a name="line.165"></a>
-<span class="sourceLineNo">166</span>      // there is a short race here<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      // in the worst case we create a watcher that will be notified once<a name="line.167"></a>
-<span class="sourceLineNo">168</span>      re.getSharedData().putIfAbsent(<a name="line.168"></a>
-<span class="sourceLineNo">169</span>          zkkey,<a name="line.169"></a>
-<span class="sourceLineNo">170</span>          new ZKWatcher(re.getRegionServerServices().getZooKeeper()<a name="line.170"></a>
-<span class="sourceLineNo">171</span>              .getRecoverableZooKeeper().getZooKeeper()));<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    }<a name="line.172"></a>
-<span class="sourceLineNo">173</span>  }<a name="line.173"></a>
-<span class="sourceLineNo">174</span><a name="line.174"></a>
-<span class="sourceLineNo">175</span>  @Override<a name="line.175"></a>
-<span class="sourceLineNo">176</span>  public void stop(CoprocessorEnvironment e) throws IOException {<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    // nothing to do here<a name="line.177"></a>
-<span class="sourceLineNo">178</span>  }<a name="line.178"></a>
-<span class="sourceLineNo">179</span><a name="line.179"></a>
-<span class="sourceLineNo">180</span>  protected ScanInfo getScanInfo(Store store, RegionCoprocessorEnvironment e) {<a name="line.180"></a>
-<span class="sourceLineNo">181</span>    byte[] data = ((ZKWatcher)e.getSharedData().get(zkkey)).getData();<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    if (data == null) {<a name="line.182"></a>
-<span class="sourceLineNo">183</span>      return null;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    }<a name="line.184"></a>
-<span class="sourceLineNo">185</span>    ScanInfo oldSI = store.getScanInfo();<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    if (oldSI.getTtl() == Long.MAX_VALUE) {<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      return null;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    }<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    long ttl = Math.max(EnvironmentEdgeManager.currentTime() -<a name="line.189"></a>
-<span class="sourceLineNo">190</span>        Bytes.toLong(data), oldSI.getTtl());<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    return new ScanInfo(oldSI.getConfiguration(), store.getFamily(), ttl,<a name="line.191"></a>
-<span class="sourceLineNo">192</span>        oldSI.getTimeToPurgeDeletes(), oldSI.getComparator());<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>  @Override<a name="line.195"></a>
-<span class="sourceLineNo">196</span>  public InternalScanner preFlushScannerOpen(final ObserverContext&lt;RegionCoprocessorEnvironment&gt; c,<a name="line.196"></a>
-<span class="sourceLineNo">197</span>      Store store, KeyValueScanner memstoreScanner, InternalScanner s) throws IOException {<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    ScanInfo scanInfo = getScanInfo(store, c.getEnvironment());<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    if (scanInfo == null) {<a name="line.199"></a>
-<span class="sourceLineNo">200</span>      // take default action<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      return null;<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    }<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    Scan scan = new Scan();<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    scan.setMaxVersions(scanInfo.getMaxVersions());<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    return new StoreScanner(store, scanInfo, scan, Collections.singletonList(memstoreScanner),<a name="line.205"></a>
-<span class="sourceLineNo">206</span>        ScanType.COMPACT_RETAIN_DELETES, store.getSmallestReadPoint(), HConstants.OLDEST_TIMESTAMP);<a name="line.206"></a>
-<span class="sourceLineNo">207</span>  }<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>  @Override<a name="line.209"></a>
-<span class="sourceLineNo">210</span>  public InternalScanner preCompactScannerOpen(<a name="line.210"></a>
-<span class="sourceLineNo">211</span>      final ObserverContext&lt;RegionCoprocessorEnvironment&gt; c,<a name="line.211"></a>
-<span class="sourceLineNo">212</span>      Store store, List&lt;? extends KeyValueScanner&gt; scanners, ScanType scanType, long earliestPutTs,<a name="line.212"></a>
-<span class="sourceLineNo">213</span>      InternalScanner s) throws IOException {<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    ScanInfo scanInfo = getScanInfo(store, c.getEnvironment());<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    if (scanInfo == null) {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>      // take default action<a name="line.216"></a>
-<span class="sourceLineNo">217</span>      return null;<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    }<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    Scan scan = new Scan();<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    scan.setMaxVersions(scanInfo.getMaxVersions());<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    return new StoreScanner(store, scanInfo, scan, scanners, scanType,<a name="line.221"></a>
-<span class="sourceLineNo">222</span>        store.getSmallestReadPoint(), earliestPutTs);<a name="line.222"></a>
-<span class="sourceLineNo">223</span>  }<a name="line.223"></a>
-<span class="sourceLineNo">224</span><a name="line.224"></a>
-<span class="sourceLineNo">225</span>  @Override<a name="line.225"></a>
-<span class="sourceLineNo">226</span>  public KeyValueScanner preStoreScannerOpen(final ObserverContext&lt;RegionCoprocessorEnvironment&gt; c,<a name="line.226"></a>
-<span class="sourceLineNo">227</span>      final Store store, final Scan scan, final NavigableSet&lt;byte[]&gt; targetCols,<a name="line.227"></a>
-<span class="sourceLineNo">228</span>      final KeyValueScanner s) throws IOException {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    ScanInfo scanInfo = getScanInfo(store, c.getEnvironment());<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    if (scanInfo == null) {<a name="line.230"></a>
-<span class="sourceLineNo">231</span>      // take default action<a name="line.231"></a>
-<span class="sourceLineNo">232</span>      return null;<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    }<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    return new StoreScanner(store, scanInfo, scan, targetCols,<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      ((HStore)store).getHRegion().getReadpoint(IsolationLevel.READ_COMMITTED));<a name="line.235"></a>
-<span class="sourceLineNo">236</span>  }<a name="line.236"></a>
-<span class="sourceLineNo">237</span>}<a name="line.237"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.regionserver.InternalScanner;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.regionserver.KeyValueScanner;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.regionserver.ScanInfo;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.regionserver.ScanType;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.regionserver.Store;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.regionserver.StoreScanner;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.zookeeper.KeeperException;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.zookeeper.WatchedEvent;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.zookeeper.Watcher;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.zookeeper.ZooKeeper;<a name="line.47"></a>
+<span class="sourceLineNo">048</span><a name="line.48"></a>
+<span class="sourceLineNo">049</span>/**<a name="line.49"></a>
+<span class="sourceLineNo">050</span> * This is an example showing how a RegionObserver could configured<a name="line.50"></a>
+<span class="sourceLineNo">051</span> * via ZooKeeper in order to control a Region compaction, flush, and scan policy.<a name="line.51"></a>
+<span class="sourceLineNo">052</span> *<a name="line.52"></a>
+<span class="sourceLineNo">053</span> * This also demonstrated the use of shared <a name="line.53"></a>
+<span class="sourceLineNo">054</span> * {@link org.apache.hadoop.hbase.coprocessor.RegionObserver} state.<a name="line.54"></a>
+<span class="sourceLineNo">055</span> * See {@link RegionCoprocessorEnvironment#getSharedData()}.<a name="line.55"></a>
+<span class="sourceLineNo">056</span> *<a name="line.56"></a>
+<span class="sourceLineNo">057</span> * This would be useful for an incremental backup tool, which would indicate the last<a name="line.57"></a>
+<span class="sourceLineNo">058</span> * time of a successful backup via ZK and instruct HBase to not delete data that was<a name="line.58"></a>
+<span class="sourceLineNo">059</span> * inserted since (based on wall clock time). <a name="line.59"></a>
+<span class="sourceLineNo">060</span> *<a name="line.60"></a>
+<span class="sourceLineNo">061</span> * This implements org.apache.zookeeper.Watcher directly instead of using<a name="line.61"></a>
+<span class="sourceLineNo">062</span> * {@link org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher}, <a name="line.62"></a>
+<span class="sourceLineNo">063</span> * because RegionObservers come and go and currently<a name="line.63"></a>
+<span class="sourceLineNo">064</span> * listeners registered with ZooKeeperWatcher cannot be removed.<a name="line.64"></a>
+<span class="sourceLineNo">065</span> */<a name="line.65"></a>
+<span class="sourceLineNo">066</span>public class ZooKeeperScanPolicyObserver extends BaseRegionObserver {<a name="line.66"></a>
+<span class="sourceLineNo">067</span>  public static final String node = "/backup/example/lastbackup";<a name="line.67"></a>
+<span class="sourceLineNo">068</span>  public static final String zkkey = "ZK";<a name="line.68"></a>
+<span class="sourceLineNo">069</span>  private static final Log LOG = LogFactory.getLog(ZooKeeperScanPolicyObserver.class);<a name="line.69"></a>
+<span class="sourceLineNo">070</span><a name="line.70"></a>
+<span class="sourceLineNo">071</span>  /**<a name="line.71"></a>
+<span class="sourceLineNo">072</span>   * Internal watcher that keep "data" up to date asynchronously.<a name="line.72"></a>
+<span class="sourceLineNo">073</span>   */<a name="line.73"></a>
+<span class="sourceLineNo">074</span>  private static class ZKWatcher implements Watcher {<a name="line.74"></a>
+<span class="sourceLineNo">075</span>    private byte[] data = null;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>    private ZooKeeper zk;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>    private volatile boolean needSetup = true;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>    private volatile long lastSetupTry = 0;<a name="line.78"></a>
+<span class="sourceLineNo">079</span><a name="line.79"></a>
+<span class="sourceLineNo">080</span>    public ZKWatcher(ZooKeeper zk) {<a name="line.80"></a>
+<span class="sourceLineNo">081</span>      this.zk = zk;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>      // trigger the listening<a name="line.82"></a>
+<span class="sourceLineNo">083</span>      getData();<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    }<a name="line.84"></a>
+<span class="sourceLineNo">085</span><a name="line.85"></a>
+<span class="sourceLineNo">086</span>    /**<a name="line.86"></a>
+<span class="sourceLineNo">087</span>     * Get the maintained data. In case of any ZK exceptions this will retry<a name="line.87"></a>
+<span class="sourceLineNo">088</span>     * establishing the connection (but not more than twice/minute).<a name="line.88"></a>
+<span class="sourceLineNo">089</span>     *<a name="line.89"></a>
+<span class="sourceLineNo">090</span>     * getData is on the critical path, so make sure it is fast unless there is<a name="line.90"></a>
+<span class="sourceLineNo">091</span>     * a problem (network partion, ZK ensemble down, etc)<a name="line.91"></a>
+<span class="sourceLineNo">092</span>     * Make sure at most one (unlucky) thread retries and other threads don't pile up<a name="line.92"></a>
+<span class="sourceLineNo">093</span>     * while that threads tries to recreate the connection.<a name="line.93"></a>
+<span class="sourceLineNo">094</span>     *<a name="line.94"></a>
+<span class="sourceLineNo">095</span>     * @return the last know version of the data<a name="line.95"></a>
+<span class="sourceLineNo">096</span>     */<a name="line.96"></a>
+<span class="sourceLineNo">097</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="REC_CATCH_EXCEPTION")<a name="line.97"></a>
+<span class="sourceLineNo">098</span>    public byte[] getData() {<a name="line.98"></a>
+<span class="sourceLineNo">099</span>      // try at most twice/minute<a name="line.99"></a>
+<span class="sourceLineNo">100</span>      if (needSetup &amp;&amp; EnvironmentEdgeManager.currentTime() &gt; lastSetupTry + 30000) {<a name="line.100"></a>
+<span class="sourceLineNo">101</span>        synchronized (this) {<a name="line.101"></a>
+<span class="sourceLineNo">102</span>          // make sure only one thread tries to reconnect<a name="line.102"></a>
+<span class="sourceLineNo">103</span>          if (needSetup) {<a name="line.103"></a>
+<span class="sourceLineNo">104</span>            needSetup = false;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>          } else {<a name="line.105"></a>
+<span class="sourceLineNo">106</span>            return data;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>          }<a name="line.107"></a>
+<span class="sourceLineNo">108</span>        }<a name="line.108"></a>
+<span class="sourceLineNo">109</span>        // do this without the lock held to avoid threads piling up on this lock,<a name="line.109"></a>
+<span class="sourceLineNo">110</span>        // as it can take a while<a name="line.110"></a>
+<span class="sourceLineNo">111</span>        try {<a name="line.111"></a>
+<span class="sourceLineNo">112</span>          LOG.debug("Connecting to ZK");<a name="line.112"></a>
+<span class="sourceLineNo">113</span>          // record this attempt<a name="line.113"></a>
+<span class="sourceLineNo">114</span>          lastSetupTry = EnvironmentEdgeManager.currentTime();<a name="line.114"></a>
+<span class="sourceLineNo">115</span>          if (zk.exists(node, false) != null) {<a name="line.115"></a>
+<span class="sourceLineNo">116</span>            data = zk.getData(node, this, null);<a name="line.116"></a>
+<span class="sourceLineNo">117</span>            LOG.debug("Read synchronously: "+(data == null ? "null" : Bytes.toLong(data)));<a name="line.117"></a>
+<span class="sourceLineNo">118</span>          } else {<a name="line.118"></a>
+<span class="sourceLineNo">119</span>            zk.exists(node, this);<a name="line.119"></a>
+<span class="sourceLineNo">120</span>          }<a name="line.120"></a>
+<span class="sourceLineNo">121</span>        } catch (Exception x) {<a name="line.121"></a>
+<span class="sourceLineNo">122</span>          // try again if this fails<a name="line.122"></a>
+<span class="sourceLineNo">123</span>          needSetup = true;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>        }<a name="line.124"></a>
+<span class="sourceLineNo">125</span>      }<a name="line.125"></a>
+<span class="sourceLineNo">126</span>      return data;<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>    @Override<a name="line.129"></a>
+<span class="sourceLineNo">130</span>    public void process(WatchedEvent event) {<a name="line.130"></a>
+<span class="sourceLineNo">131</span>      switch(event.getType()) {<a name="line.131"></a>
+<span class="sourceLineNo">132</span>      case NodeDataChanged:<a name="line.132"></a>
+<span class="sourceLineNo">133</span>      case NodeCreated:<a name="line.133"></a>
+<span class="sourceLineNo">134</span>      try {<a name="line.134"></a>
+<span class="sourceLineNo">135</span>        // get data and re-watch<a name="line.135"></a>
+<span class="sourceLineNo">136</span>        data = zk.getData(node, this, null);<a name="line.136"></a>
+<span class="sourceLineNo">137</span>        LOG.debug("Read asynchronously: "+(data == null ? "null" : Bytes.toLong(data)));<a name="line.137"></a>
+<span class="sourceLineNo">138</span>      } catch (InterruptedException ix) {<a name="line.138"></a>
+<span class="sourceLineNo">139</span>      } catch (KeeperException kx) {<a name="line.139"></a>
+<span class="sourceLineNo">140</span>        needSetup = true;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>      }<a name="line.141"></a>
+<span class="sourceLineNo">142</span>      break;<a name="line.142"></a>
+<span class="sourceLineNo">143</span><a name="line.143"></a>
+<span class="sourceLineNo">144</span>      case NodeDeleted:<a name="line.144"></a>
+<span class="sourceLineNo">145</span>      try {<a name="line.145"></a>
+<span class="sourceLineNo">146</span>        // just re-watch<a name="line.146"></a>
+<span class="sourceLineNo">147</span>        zk.exists(node, this);<a name="line.147"></a>
+<span class="sourceLineNo">148</span>        data = null;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      } catch (InterruptedException ix) {<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      } catch (KeeperException kx) {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>        needSetup = true;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>      }<a name="line.152"></a>
+<span class="sourceLineNo">153</span>      break;<a name="line.153"></a>
+<span class="sourceLineNo">154</span><a name="line.154"></a>
+<span class="sourceLineNo">155</span>      default:<a name="line.155"></a>
+<span class="sourceLineNo">156</span>        // ignore<a name="line.156"></a>
+<span class="sourceLineNo">157</span>      }<a name="line.157"></a>
+<span class="sourceLineNo">158</span>    }<a name="line.158"></a>
+<span class="sourceLineNo">159</span>  }<a name="line.159"></a>
+<span class="sourceLineNo">160</span><a name="line.160"></a>
+<span class="sourceLineNo">161</span>  @Override<a name="line.161"></a>
+<span class="sourceLineNo">162</span>  public void start(CoprocessorEnvironment e) throws IOException {<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    RegionCoprocessorEnvironment re = (RegionCoprocessorEnvironment) e;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>    if (!re.getSharedData().containsKey(zkkey)) {<a name="line.164"></a>
+<span class="sourceLineNo">165</span>      // there is a short race here<a name="line.165"></a>
+<span class="sourceLineNo">166</span>      // in the worst case we create a watcher that will be notified once<a name="line.166"></a>
+<span class="sourceLineNo">167</span>      re.getSharedData().putIfAbsent(<a name="line.167"></a>
+<span class="sourceLineNo">168</span>          zkkey,<a name="line.168"></a>
+<span class="sourceLineNo">169</span>          new ZKWatcher(re.getRegionServerServices().getZooKeeper()<a name="line.169"></a>
+<span class="sourceLineNo">170</span>              .getRecoverableZooKeeper().getZooKeeper()));<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><a name="line.173"></a>
+<span class="sourceLineNo">174</span>  @Override<a name="line.174"></a>
+<span class="sourceLineNo">175</span>  public void stop(CoprocessorEnvironment e) throws IOException {<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    // nothing to do here<a name="line.176"></a>
+<span class="sourceLineNo">177</span>  }<a name="line.177"></a>
+<span class="sourceLineNo">178</span><a name="line.178"></a>
+<span class="sourceLineNo">179</span>  protected ScanInfo getScanInfo(Store store, RegionCoprocessorEnvironment e) {<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    byte[] data = ((ZKWatcher)e.getSharedData().get(zkkey)).getData();<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    if (data == null) {<a name="line.181"></a>
+<span class="sourceLineNo">182</span>      return null;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>    }<a name="line.183"></a>
+<span class="sourceLineNo">184</span>    ScanInfo oldSI = store.getScanInfo();<a name="line.184"></a>
+<span class="sourceLineNo">185</span>    if (oldSI.getTtl() == Long.MAX_VALUE) {<a name="line.185"></a>
+<span class="sourceLineNo">186</span>      return null;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    }<a name="line.187"></a>
+<span class="sourceLineNo">188</span>    long ttl = Math.max(EnvironmentEdgeManager.currentTime() -<a name="line.188"></a>
+<span class="sourceLineNo">189</span>        Bytes.toLong(data), oldSI.getTtl());<a name="line.189"></a>
+<span class="sourceLineNo">190</span>    return new ScanInfo(oldSI.getConfiguration(), store.getFamily(), ttl,<a name="line.190"></a>
+<span class="sourceLineNo">191</span>        oldSI.getTimeToPurgeDeletes(), oldSI.getComparator());<a name="line.191"></a>
+<span class="sourceLineNo">192</span>  }<a name="line.192"></a>
+<span class="sourceLineNo">193</span><a name="line.193"></a>
+<span class="sourceLineNo">194</span>  @Override<a name="line.194"></a>
+<span class="sourceLineNo">195</span>  public InternalScanner preFlushScannerOpen(final ObserverContext&lt;RegionCoprocessorEnvironment&gt; c,<a name="line.195"></a>
+<span class="sourceLineNo">196</span>      Store store, KeyValueScanner memstoreScanner, InternalScanner s) throws IOException {<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    ScanInfo scanInfo = getScanInfo(store, c.getEnvironment());<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    if (scanInfo == null) {<a name="line.198"></a>
+<span class="sourceLineNo">199</span>      // take default action<a name="line.199"></a>
+<span class="sourceLineNo">200</span>      return null;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    }<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    Scan scan = new Scan();<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    scan.setMaxVersions(scanInfo.getMaxVersions());<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    return new StoreScanner(store, scanInfo, scan, Collections.singletonList(memstoreScanner),<a name="line.204"></a>
+<span class="sourceLineNo">205</span>        ScanType.COMPACT_RETAIN_DELETES, store.getSmallestReadPoint(), HConstants.OLDEST_TIMESTAMP);<a name="line.205"></a>
+<span class="sourceLineNo">206</span>  }<a name="line.206"></a>
+<span class="sourceLineNo">207</span><a name="line.207"></a>
+<span class="sourceLineNo">208</span>  @Override<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  public InternalScanner preCompactScannerOpen(<a name="line.209"></a>
+<span class="sourceLineNo">210</span>      final ObserverContext&lt;RegionCoprocessorEnvironment&gt; c,<a name="line.210"></a>
+<span class="sourceLineNo">211</span>      Store store, List&lt;? extends KeyValueScanner&gt; scanners, ScanType scanType, long earliestPutTs,<a name="line.211"></a>
+<span class="sourceLineNo">212</span>      InternalScanner s) throws IOException {<a name="line.212"></a>
+<span class="sourceLineNo">213</span>    ScanInfo scanInfo = getScanInfo(store, c.getEnvironment());<a name="line.213"></a>
+<span class="sourceLineNo">214</span>    if (scanInfo == null) {<a name="line.214"></a>
+<span class="sourceLineNo">215</span>      // take default action<a name="line.215"></a>
+<span class="sourceLineNo">216</span>      return null;<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    }<a name="line.217"></a>
+<span class="sourceLineNo">218</span>    Scan scan = new Scan();<a name="line.218"></a>
+<span class="sourceLineNo">219</span>    scan.setMaxVersions(scanInfo.getMaxVersions());<a name="line.219"></a>
+<span class="sourceLineNo">220</span>    return new StoreScanner(store, scanInfo, scan, scanners, scanType,<a name="line.220"></a>
+<span class="sourceLineNo">221</span>        store.getSmallestReadPoint(), earliestPutTs);<a name="line.221"></a>
+<span class="sourceLineNo">222</span>  }<a name="line.222"></a>
+<span class="sourceLineNo">223</span><a name="line.223"></a>
+<span class="sourceLineNo">224</span>  @Override<a name="line.224"></a>
+<span class="sourceLineNo">225</span>  public KeyValueScanner preStoreScannerOpen(final ObserverContext&lt;RegionCoprocessorEnvironment&gt; c,<a name="line.225"></a>
+<span class="sourceLineNo">226</span>      final Store store, final Scan scan, final NavigableSet&lt;byte[]&gt; targetCols,<a name="line.226"></a>
+<span class="sourceLineNo">227</span>      final KeyValueScanner s) throws IOException {<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    ScanInfo scanInfo = getScanInfo(store, c.getEnvironment());<a name="line.228"></a>
+<span class="sourceLineNo">229</span>    if (scanInfo == null) {<a name="line.229"></a>
+<span class="sourceLineNo">230</span>      // take default action<a name="line.230"></a>
+<span class="sourceLineNo">231</span>      return null;<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    }<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    return new StoreScanner(store, scanInfo, scan, targetCols,<a name="line.233"></a>
+<span class="sourceLineNo">234</span>      ((HStore)store).getHRegion().getReadPoint(IsolationLevel.READ_COMMITTED));<a name="line.234"></a>
+<span class="sourceLineNo">235</span>  }<a name="line.235"></a>
+<span class="sourceLineNo">236</span>}<a name="line.236"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html b/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html
index aca192f..761d6a4 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html
@@ -41,208 +41,207 @@
 <span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.coprocessor.ObserverContext;<a name="line.33"></a>
 <span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment;<a name="line.34"></a>
 <span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.regionserver.HStore;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.regionserver.Store;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.regionserver.ScanInfo;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.regionserver.InternalScanner;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.regionserver.KeyValueScanner;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.regionserver.ScanType;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.regionserver.Store;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.regionserver.StoreScanner;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.zookeeper.KeeperException;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.zookeeper.WatchedEvent;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.zookeeper.Watcher;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.zookeeper.ZooKeeper;<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> * This is an example showing how a RegionObserver could configured<a name="line.51"></a>
-<span class="sourceLineNo">052</span> * via ZooKeeper in order to control a Region compaction, flush, and scan policy.<a name="line.52"></a>
-<span class="sourceLineNo">053</span> *<a name="line.53"></a>
-<span class="sourceLineNo">054</span> * This also demonstrated the use of shared <a name="line.54"></a>
-<span class="sourceLineNo">055</span> * {@link org.apache.hadoop.hbase.coprocessor.RegionObserver} state.<a name="line.55"></a>
-<span class="sourceLineNo">056</span> * See {@link RegionCoprocessorEnvironment#getSharedData()}.<a name="line.56"></a>
-<span class="sourceLineNo">057</span> *<a name="line.57"></a>
-<span class="sourceLineNo">058</span> * This would be useful for an incremental backup tool, which would indicate the last<a name="line.58"></a>
-<span class="sourceLineNo">059</span> * time of a successful backup via ZK and instruct HBase to not delete data that was<a name="line.59"></a>
-<span class="sourceLineNo">060</span> * inserted since (based on wall clock time). <a name="line.60"></a>
-<span class="sourceLineNo">061</span> *<a name="line.61"></a>
-<span class="sourceLineNo">062</span> * This implements org.apache.zookeeper.Watcher directly instead of using<a name="line.62"></a>
-<span class="sourceLineNo">063</span> * {@link org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher}, <a name="line.63"></a>
-<span class="sourceLineNo">064</span> * because RegionObservers come and go and currently<a name="line.64"></a>
-<span class="sourceLineNo">065</span> * listeners registered with ZooKeeperWatcher cannot be removed.<a name="line.65"></a>
-<span class="sourceLineNo">066</span> */<a name="line.66"></a>
-<span class="sourceLineNo">067</span>public class ZooKeeperScanPolicyObserver extends BaseRegionObserver {<a name="line.67"></a>
-<span class="sourceLineNo">068</span>  public static final String node = "/backup/example/lastbackup";<a name="line.68"></a>
-<span class="sourceLineNo">069</span>  public static final String zkkey = "ZK";<a name="line.69"></a>
-<span class="sourceLineNo">070</span>  private static final Log LOG = LogFactory.getLog(ZooKeeperScanPolicyObserver.class);<a name="line.70"></a>
-<span class="sourceLineNo">071</span><a name="line.71"></a>
-<span class="sourceLineNo">072</span>  /**<a name="line.72"></a>
-<span class="sourceLineNo">073</span>   * Internal watcher that keep "data" up to date asynchronously.<a name="line.73"></a>
-<span class="sourceLineNo">074</span>   */<a name="line.74"></a>
-<span class="sourceLineNo">075</span>  private static class ZKWatcher implements Watcher {<a name="line.75"></a>
-<span class="sourceLineNo">076</span>    private byte[] data = null;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>    private ZooKeeper zk;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>    private volatile boolean needSetup = true;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    private volatile long lastSetupTry = 0;<a name="line.79"></a>
-<span class="sourceLineNo">080</span><a name="line.80"></a>
-<span class="sourceLineNo">081</span>    public ZKWatcher(ZooKeeper zk) {<a name="line.81"></a>
-<span class="sourceLineNo">082</span>      this.zk = zk;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>      // trigger the listening<a name="line.83"></a>
-<span class="sourceLineNo">084</span>      getData();<a name="line.84"></a>
-<span class="sourceLineNo">085</span>    }<a name="line.85"></a>
-<span class="sourceLineNo">086</span><a name="line.86"></a>
-<span class="sourceLineNo">087</span>    /**<a name="line.87"></a>
-<span class="sourceLineNo">088</span>     * Get the maintained data. In case of any ZK exceptions this will retry<a name="line.88"></a>
-<span class="sourceLineNo">089</span>     * establishing the connection (but not more than twice/minute).<a name="line.89"></a>
-<span class="sourceLineNo">090</span>     *<a name="line.90"></a>
-<span class="sourceLineNo">091</span>     * getData is on the critical path, so make sure it is fast unless there is<a name="line.91"></a>
-<span class="sourceLineNo">092</span>     * a problem (network partion, ZK ensemble down, etc)<a name="line.92"></a>
-<span class="sourceLineNo">093</span>     * Make sure at most one (unlucky) thread retries and other threads don't pile up<a name="line.93"></a>
-<span class="sourceLineNo">094</span>     * while that threads tries to recreate the connection.<a name="line.94"></a>
-<span class="sourceLineNo">095</span>     *<a name="line.95"></a>
-<span class="sourceLineNo">096</span>     * @return the last know version of the data<a name="line.96"></a>
-<span class="sourceLineNo">097</span>     */<a name="line.97"></a>
-<span class="sourceLineNo">098</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="REC_CATCH_EXCEPTION")<a name="line.98"></a>
-<span class="sourceLineNo">099</span>    public byte[] getData() {<a name="line.99"></a>
-<span class="sourceLineNo">100</span>      // try at most twice/minute<a name="line.100"></a>
-<span class="sourceLineNo">101</span>      if (needSetup &amp;&amp; EnvironmentEdgeManager.currentTime() &gt; lastSetupTry + 30000) {<a name="line.101"></a>
-<span class="sourceLineNo">102</span>        synchronized (this) {<a name="line.102"></a>
-<span class="sourceLineNo">103</span>          // make sure only one thread tries to reconnect<a name="line.103"></a>
-<span class="sourceLineNo">104</span>          if (needSetup) {<a name="line.104"></a>
-<span class="sourceLineNo">105</span>            needSetup = false;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>          } else {<a name="line.106"></a>
-<span class="sourceLineNo">107</span>            return data;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>          }<a name="line.108"></a>
-<span class="sourceLineNo">109</span>        }<a name="line.109"></a>
-<span class="sourceLineNo">110</span>        // do this without the lock held to avoid threads piling up on this lock,<a name="line.110"></a>
-<span class="sourceLineNo">111</span>        // as it can take a while<a name="line.111"></a>
-<span class="sourceLineNo">112</span>        try {<a name="line.112"></a>
-<span class="sourceLineNo">113</span>          LOG.debug("Connecting to ZK");<a name="line.113"></a>
-<span class="sourceLineNo">114</span>          // record this attempt<a name="line.114"></a>
-<span class="sourceLineNo">115</span>          lastSetupTry = EnvironmentEdgeManager.currentTime();<a name="line.115"></a>
-<span class="sourceLineNo">116</span>          if (zk.exists(node, false) != null) {<a name="line.116"></a>
-<span class="sourceLineNo">117</span>            data = zk.getData(node, this, null);<a name="line.117"></a>
-<span class="sourceLineNo">118</span>            LOG.debug("Read synchronously: "+(data == null ? "null" : Bytes.toLong(data)));<a name="line.118"></a>
-<span class="sourceLineNo">119</span>          } else {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>            zk.exists(node, this);<a name="line.120"></a>
-<span class="sourceLineNo">121</span>          }<a name="line.121"></a>
-<span class="sourceLineNo">122</span>        } catch (Exception x) {<a name="line.122"></a>
-<span class="sourceLineNo">123</span>          // try again if this fails<a name="line.123"></a>
-<span class="sourceLineNo">124</span>          needSetup = true;<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>      return data;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    }<a name="line.128"></a>
-<span class="sourceLineNo">129</span><a name="line.129"></a>
-<span class="sourceLineNo">130</span>    @Override<a name="line.130"></a>
-<span class="sourceLineNo">131</span>    public void process(WatchedEvent event) {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      switch(event.getType()) {<a name="line.132"></a>
-<span class="sourceLineNo">133</span>      case NodeDataChanged:<a name="line.133"></a>
-<span class="sourceLineNo">134</span>      case NodeCreated:<a name="line.134"></a>
-<span class="sourceLineNo">135</span>      try {<a name="line.135"></a>
-<span class="sourceLineNo">136</span>        // get data and re-watch<a name="line.136"></a>
-<span class="sourceLineNo">137</span>        data = zk.getData(node, this, null);<a name="line.137"></a>
-<span class="sourceLineNo">138</span>        LOG.debug("Read asynchronously: "+(data == null ? "null" : Bytes.toLong(data)));<a name="line.138"></a>
-<span class="sourceLineNo">139</span>      } catch (InterruptedException ix) {<a name="line.139"></a>
-<span class="sourceLineNo">140</span>      } catch (KeeperException kx) {<a name="line.140"></a>
-<span class="sourceLineNo">141</span>        needSetup = true;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>      }<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      break;<a name="line.143"></a>
-<span class="sourceLineNo">144</span><a name="line.144"></a>
-<span class="sourceLineNo">145</span>      case NodeDeleted:<a name="line.145"></a>
-<span class="sourceLineNo">146</span>      try {<a name="line.146"></a>
-<span class="sourceLineNo">147</span>        // just re-watch<a name="line.147"></a>
-<span class="sourceLineNo">148</span>        zk.exists(node, this);<a name="line.148"></a>
-<span class="sourceLineNo">149</span>        data = null;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>      } catch (InterruptedException ix) {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>      } catch (KeeperException kx) {<a name="line.151"></a>
-<span class="sourceLineNo">152</span>        needSetup = true;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>      }<a name="line.153"></a>
-<span class="sourceLineNo">154</span>      break;<a name="line.154"></a>
-<span class="sourceLineNo">155</span><a name="line.155"></a>
-<span class="sourceLineNo">156</span>      default:<a name="line.156"></a>
-<span class="sourceLineNo">157</span>        // ignore<a name="line.157"></a>
-<span class="sourceLineNo">158</span>      }<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    }<a name="line.159"></a>
-<span class="sourceLineNo">160</span>  }<a name="line.160"></a>
-<span class="sourceLineNo">161</span><a name="line.161"></a>
-<span class="sourceLineNo">162</span>  @Override<a name="line.162"></a>
-<span class="sourceLineNo">163</span>  public void start(CoprocessorEnvironment e) throws IOException {<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    RegionCoprocessorEnvironment re = (RegionCoprocessorEnvironment) e;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    if (!re.getSharedData().containsKey(zkkey)) {<a name="line.165"></a>
-<span class="sourceLineNo">166</span>      // there is a short race here<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      // in the worst case we create a watcher that will be notified once<a name="line.167"></a>
-<span class="sourceLineNo">168</span>      re.getSharedData().putIfAbsent(<a name="line.168"></a>
-<span class="sourceLineNo">169</span>          zkkey,<a name="line.169"></a>
-<span class="sourceLineNo">170</span>          new ZKWatcher(re.getRegionServerServices().getZooKeeper()<a name="line.170"></a>
-<span class="sourceLineNo">171</span>              .getRecoverableZooKeeper().getZooKeeper()));<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    }<a name="line.172"></a>
-<span class="sourceLineNo">173</span>  }<a name="line.173"></a>
-<span class="sourceLineNo">174</span><a name="line.174"></a>
-<span class="sourceLineNo">175</span>  @Override<a name="line.175"></a>
-<span class="sourceLineNo">176</span>  public void stop(CoprocessorEnvironment e) throws IOException {<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    // nothing to do here<a name="line.177"></a>
-<span class="sourceLineNo">178</span>  }<a name="line.178"></a>
-<span class="sourceLineNo">179</span><a name="line.179"></a>
-<span class="sourceLineNo">180</span>  protected ScanInfo getScanInfo(Store store, RegionCoprocessorEnvironment e) {<a name="line.180"></a>
-<span class="sourceLineNo">181</span>    byte[] data = ((ZKWatcher)e.getSharedData().get(zkkey)).getData();<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    if (data == null) {<a name="line.182"></a>
-<span class="sourceLineNo">183</span>      return null;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    }<a name="line.184"></a>
-<span class="sourceLineNo">185</span>    ScanInfo oldSI = store.getScanInfo();<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    if (oldSI.getTtl() == Long.MAX_VALUE) {<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      return null;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    }<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    long ttl = Math.max(EnvironmentEdgeManager.currentTime() -<a name="line.189"></a>
-<span class="sourceLineNo">190</span>        Bytes.toLong(data), oldSI.getTtl());<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    return new ScanInfo(oldSI.getConfiguration(), store.getFamily(), ttl,<a name="line.191"></a>
-<span class="sourceLineNo">192</span>        oldSI.getTimeToPurgeDeletes(), oldSI.getComparator());<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>  @Override<a name="line.195"></a>
-<span class="sourceLineNo">196</span>  public InternalScanner preFlushScannerOpen(final ObserverContext&lt;RegionCoprocessorEnvironment&gt; c,<a name="line.196"></a>
-<span class="sourceLineNo">197</span>      Store store, KeyValueScanner memstoreScanner, InternalScanner s) throws IOException {<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    ScanInfo scanInfo = getScanInfo(store, c.getEnvironment());<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    if (scanInfo == null) {<a name="line.199"></a>
-<span class="sourceLineNo">200</span>      // take default action<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      return null;<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    }<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    Scan scan = new Scan();<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    scan.setMaxVersions(scanInfo.getMaxVersions());<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    return new StoreScanner(store, scanInfo, scan, Collections.singletonList(memstoreScanner),<a name="line.205"></a>
-<span class="sourceLineNo">206</span>        ScanType.COMPACT_RETAIN_DELETES, store.getSmallestReadPoint(), HConstants.OLDEST_TIMESTAMP);<a name="line.206"></a>
-<span class="sourceLineNo">207</span>  }<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>  @Override<a name="line.209"></a>
-<span class="sourceLineNo">210</span>  public InternalScanner preCompactScannerOpen(<a name="line.210"></a>
-<span class="sourceLineNo">211</span>      final ObserverContext&lt;RegionCoprocessorEnvironment&gt; c,<a name="line.211"></a>
-<span class="sourceLineNo">212</span>      Store store, List&lt;? extends KeyValueScanner&gt; scanners, ScanType scanType, long earliestPutTs,<a name="line.212"></a>
-<span class="sourceLineNo">213</span>      InternalScanner s) throws IOException {<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    ScanInfo scanInfo = getScanInfo(store, c.getEnvironment());<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    if (scanInfo == null) {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>      // take default action<a name="line.216"></a>
-<span class="sourceLineNo">217</span>      return null;<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    }<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    Scan scan = new Scan();<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    scan.setMaxVersions(scanInfo.getMaxVersions());<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    return new StoreScanner(store, scanInfo, scan, scanners, scanType,<a name="line.221"></a>
-<span class="sourceLineNo">222</span>        store.getSmallestReadPoint(), earliestPutTs);<a name="line.222"></a>
-<span class="sourceLineNo">223</span>  }<a name="line.223"></a>
-<span class="sourceLineNo">224</span><a name="line.224"></a>
-<span class="sourceLineNo">225</span>  @Override<a name="line.225"></a>
-<span class="sourceLineNo">226</span>  public KeyValueScanner preStoreScannerOpen(final ObserverContext&lt;RegionCoprocessorEnvironment&gt; c,<a name="line.226"></a>
-<span class="sourceLineNo">227</span>      final Store store, final Scan scan, final NavigableSet&lt;byte[]&gt; targetCols,<a name="line.227"></a>
-<span class="sourceLineNo">228</span>      final KeyValueScanner s) throws IOException {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    ScanInfo scanInfo = getScanInfo(store, c.getEnvironment());<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    if (scanInfo == null) {<a name="line.230"></a>
-<span class="sourceLineNo">231</span>      // take default action<a name="line.231"></a>
-<span class="sourceLineNo">232</span>      return null;<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    }<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    return new StoreScanner(store, scanInfo, scan, targetCols,<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      ((HStore)store).getHRegion().getReadpoint(IsolationLevel.READ_COMMITTED));<a name="line.235"></a>
-<span class="sourceLineNo">236</span>  }<a name="line.236"></a>
-<span class="sourceLineNo">237</span>}<a name="line.237"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.regionserver.InternalScanner;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.regionserver.KeyValueScanner;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.regionserver.ScanInfo;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.regionserver.ScanType;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.regionserver.Store;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.regionserver.StoreScanner;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.zookeeper.KeeperException;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.zookeeper.WatchedEvent;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.zookeeper.Watcher;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.zookeeper.ZooKeeper;<a name="line.47"></a>
+<span class="sourceLineNo">048</span><a name="line.48"></a>
+<span class="sourceLineNo">049</span>/**<a name="line.49"></a>
+<span class="sourceLineNo">050</span> * This is an example showing how a RegionObserver could configured<a name="line.50"></a>
+<span class="sourceLineNo">051</span> * via ZooKeeper in order to control a Region compaction, flush, and scan policy.<a name="line.51"></a>
+<span class="sourceLineNo">052</span> *<a name="line.52"></a>
+<span class="sourceLineNo">053</span> * This also demonstrated the use of shared <a name="line.53"></a>
+<span class="sourceLineNo">054</span> * {@link org.apache.hadoop.hbase.coprocessor.RegionObserver} state.<a name="line.54"></a>
+<span class="sourceLineNo">055</span> * See {@link RegionCoprocessorEnvironment#getSharedData()}.<a name="line.55"></a>
+<span class="sourceLineNo">056</span> *<a name="line.56"></a>
+<span class="sourceLineNo">057</span> * This would be useful for an incremental backup tool, which would indicate the last<a name="line.57"></a>
+<span class="sourceLineNo">058</span> * time of a successful backup via ZK and instruct HBase to not delete data that was<a name="line.58"></a>
+<span class="sourceLineNo">059</span> * inserted since (based on wall clock time). <a name="line.59"></a>
+<span class="sourceLineNo">060</span> *<a name="line.60"></a>
+<span class="sourceLineNo">061</span> * This implements org.apache.zookeeper.Watcher directly instead of using<a name="line.61"></a>
+<span class="sourceLineNo">062</span> * {@link org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher}, <a name="line.62"></a>
+<span class="sourceLineNo">063</span> * because RegionObservers come and go and currently<a name="line.63"></a>
+<span class="sourceLineNo">064</span> * listeners registered with ZooKeeperWatcher cannot be removed.<a name="line.64"></a>
+<span class="sourceLineNo">065</span> */<a name="line.65"></a>
+<span class="sourceLineNo">066</span>public class ZooKeeperScanPolicyObserver extends BaseRegionObserver {<a name="line.66"></a>
+<span class="sourceLineNo">067</span>  public static final String node = "/backup/example/lastbackup";<a name="line.67"></a>
+<span class="sourceLineNo">068</span>  public static final String zkkey = "ZK";<a name="line.68"></a>
+<span class="sourceLineNo">069</span>  private static final Log LOG = LogFactory.getLog(ZooKeeperScanPolicyObserver.class);<a name="line.69"></a>
+<span class="sourceLineNo">070</span><a name="line.70"></a>
+<span class="sourceLineNo">071</span>  /**<a name="line.71"></a>
+<span class="sourceLineNo">072</span>   * Internal watcher that keep "data" up to date asynchronously.<a name="line.72"></a>
+<span class="sourceLineNo">073</span>   */<a name="line.73"></a>
+<span class="sourceLineNo">074</span>  private static class ZKWatcher implements Watcher {<a name="line.74"></a>
+<span class="sourceLineNo">075</span>    private byte[] data = null;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>    private ZooKeeper zk;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>    private volatile boolean needSetup = true;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>    private volatile long lastSetupTry = 0;<a name="line.78"></a>
+<span class="sourceLineNo">079</span><a name="line.79"></a>
+<span class="sourceLineNo">080</span>    public ZKWatcher(ZooKeeper zk) {<a name="line.80"></a>
+<span class="sourceLineNo">081</span>      this.zk = zk;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>      // trigger the listening<a name="line.82"></a>
+<span class="sourceLineNo">083</span>      getData();<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    }<a name="line.84"></a>
+<span class="sourceLineNo">085</span><a name="line.85"></a>
+<span class="sourceLineNo">086</span>    /**<a name="line.86"></a>
+<span class="sourceLineNo">087</span>     * Get the maintained data. In case of any ZK exceptions this will retry<a name="line.87"></a>
+<span class="sourceLineNo">088</span>     * establishing the connection (but not more than twice/minute).<a name="line.88"></a>
+<span class="sourceLineNo">089</span>     *<a name="line.89"></a>
+<span class="sourceLineNo">090</span>     * getData is on the critical path, so make sure it is fast unless there is<a name="line.90"></a>
+<span class="sourceLineNo">091</span>     * a problem (network partion, ZK ensemble down, etc)<a name="line.91"></a>
+<span class="sourceLineNo">092</span>     * Make sure at most one (unlucky) thread retries and other threads don't pile up<a name="line.92"></a>
+<span class="sourceLineNo">093</span>     * while that threads tries to recreate the connection.<a name="line.93"></a>
+<span class="sourceLineNo">094</span>     *<a name="line.94"></a>
+<span class="sourceLineNo">095</span>     * @return the last know version of the data<a name="line.95"></a>
+<span class="sourceLineNo">096</span>     */<a name="line.96"></a>
+<span class="sourceLineNo">097</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="REC_CATCH_EXCEPTION")<a name="line.97"></a>
+<span class="sourceLineNo">098</span>    public byte[] getData() {<a name="line.98"></a>
+<span class="sourceLineNo">099</span>      // try at most twice/minute<a name="line.99"></a>
+<span class="sourceLineNo">100</span>      if (needSetup &amp;&amp; EnvironmentEdgeManager.currentTime() &gt; lastSetupTry + 30000) {<a name="line.100"></a>
+<span class="sourceLineNo">101</span>        synchronized (this) {<a name="line.101"></a>
+<span class="sourceLineNo">102</span>          // make sure only one thread tries to reconnect<a name="line.102"></a>
+<span class="sourceLineNo">103</span>          if (needSetup) {<a name="line.103"></a>
+<span class="sourceLineNo">104</span>            needSetup = false;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>          } else {<a name="line.105"></a>
+<span class="sourceLineNo">106</span>            return data;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>          }<a name="line.107"></a>
+<span class="sourceLineNo">108</span>        }<a name="line.108"></a>
+<span class="sourceLineNo">109</span>        // do this without the lock held to avoid threads piling up on this lock,<a name="line.109"></a>
+<span class="sourceLineNo">110</span>        // as it can take a while<a name="line.110"></a>
+<span class="sourceLineNo">111</span>        try {<a name="line.111"></a>
+<span class="sourceLineNo">112</span>          LOG.debug("Connecting to ZK");<a name="line.112"></a>
+<span class="sourceLineNo">113</span>          // record this attempt<a name="line.113"></a>
+<span class="sourceLineNo">114</span>          lastSetupTry = EnvironmentEdgeManager.currentTime();<a name="line.114"></a>
+<span class="sourceLineNo">115</span>          if (zk.exists(node, false) != null) {<a name="line.115"></a>
+<span class="sourceLineNo">116</span>            data = zk.getData(node, this, null);<a name="line.116"></a>
+<span class="sourceLineNo">117</span>            LOG.debug("Read synchronously: "+(data == null ? "null" : Bytes.toLong(data)));<a name="line.117"></a>
+<span class="sourceLineNo">118</span>          } else {<a name="line.118"></a>
+<span class="sourceLineNo">119</span>            zk.exists(node, this);<a name="line.119"></a>
+<span class="sourceLineNo">120</span>          }<a name="line.120"></a>
+<span class="sourceLineNo">121</span>        } catch (Exception x) {<a name="line.121"></a>
+<span class="sourceLineNo">122</span>          // try again if this fails<a name="line.122"></a>
+<span class="sourceLineNo">123</span>          needSetup = true;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>        }<a name="line.124"></a>
+<span class="sourceLineNo">125</span>      }<a name="line.125"></a>
+<span class="sourceLineNo">126</span>      return data;<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>    @Override<a name="line.129"></a>
+<span class="sourceLineNo">130</span>    public void process(WatchedEvent event) {<a name="line.130"></a>
+<span class="sourceLineNo">131</span>      switch(event.getType()) {<a name="line.131"></a>
+<span class="sourceLineNo">132</span>      case NodeDataChanged:<a name="line.132"></a>
+<span class="sourceLineNo">133</span>      case NodeCreated:<a name="line.133"></a>
+<span class="sourceLineNo">134</span>      try {<a name="line.134"></a>
+<span class="sourceLineNo">135</span>        // get data and re-watch<a name="line.135"></a>
+<span class="sourceLineNo">136</span>        data = zk.getData(node, this, null);<a name="line.136"></a>
+<span class="sourceLineNo">137</span>        LOG.debug("Read asynchronously: "+(data == null ? "null" : Bytes.toLong(data)));<a name="line.137"></a>
+<span class="sourceLineNo">138</span>      } catch (InterruptedException ix) {<a name="line.138"></a>
+<span class="sourceLineNo">139</span>      } catch (KeeperException kx) {<a name="line.139"></a>
+<span class="sourceLineNo">140</span>        needSetup = true;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>      }<a name="line.141"></a>
+<span class="sourceLineNo">142</span>      break;<a name="line.142"></a>
+<span class="sourceLineNo">143</span><a name="line.143"></a>
+<span class="sourceLineNo">144</span>      case NodeDeleted:<a name="line.144"></a>
+<span class="sourceLineNo">145</span>      try {<a name="line.145"></a>
+<span class="sourceLineNo">146</span>        // just re-watch<a name="line.146"></a>
+<span class="sourceLineNo">147</span>        zk.exists(node, this);<a name="line.147"></a>
+<span class="sourceLineNo">148</span>        data = null;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      } catch (InterruptedException ix) {<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      } catch (KeeperException kx) {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>        needSetup = true;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>      }<a name="line.152"></a>
+<span class="sourceLineNo">153</span>      break;<a name="line.153"></a>
+<span class="sourceLineNo">154</span><a name="line.154"></a>
+<span class="sourceLineNo">155</span>      default:<a name="line.155"></a>
+<span class="sourceLineNo">156</span>        // ignore<a name="line.156"></a>
+<span class="sourceLineNo">157</span>      }<a name="line.157"></a>
+<span class="sourceLineNo">158</span>    }<a name="line.158"></a>
+<span class="sourceLineNo">159</span>  }<a name="line.159"></a>
+<span class="sourceLineNo">160</span><a name="line.160"></a>
+<span class="sourceLineNo">161</span>  @Override<a name="line.161"></a>
+<span class="sourceLineNo">162</span>  public void start(CoprocessorEnvironment e) throws IOException {<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    RegionCoprocessorEnvironment re = (RegionCoprocessorEnvironment) e;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>    if (!re.getSharedData().containsKey(zkkey)) {<a name="line.164"></a>
+<span class="sourceLineNo">165</span>      // there is a short race here<a name="line.165"></a>
+<span class="sourceLineNo">166</span>      // in the worst case we create a watcher that will be notified once<a name="line.166"></a>
+<span class="sourceLineNo">167</span>      re.getSharedData().putIfAbsent(<a name="line.167"></a>
+<span class="sourceLineNo">168</span>          zkkey,<a name="line.168"></a>
+<span class="sourceLineNo">169</span>          new ZKWatcher(re.getRegionServerServices().getZooKeeper()<a name="line.169"></a>
+<span class="sourceLineNo">170</span>              .getRecoverableZooKeeper().getZooKeeper()));<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><a name="line.173"></a>
+<span class="sourceLineNo">174</span>  @Override<a name="line.174"></a>
+<span class="sourceLineNo">175</span>  public void stop(CoprocessorEnvironment e) throws IOException {<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    // nothing to do here<a name="line.176"></a>
+<span class="sourceLineNo">177</span>  }<a name="line.177"></a>
+<span class="sourceLineNo">178</span><a name="line.178"></a>
+<span class="sourceLineNo">179</span>  protected ScanInfo getScanInfo(Store store, RegionCoprocessorEnvironment e) {<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    byte[] data = ((ZKWatcher)e.getSharedData().get(zkkey)).getData();<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    if (data == null) {<a name="line.181"></a>
+<span class="sourceLineNo">182</span>      return null;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>    }<a name="line.183"></a>
+<span class="sourceLineNo">184</span>    ScanInfo oldSI = store.getScanInfo();<a name="line.184"></a>
+<span class="sourceLineNo">185</span>    if (oldSI.getTtl() == Long.MAX_VALUE) {<a name="line.185"></a>
+<span class="sourceLineNo">186</span>      return null;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    }<a name="line.187"></a>
+<span class="sourceLineNo">188</span>    long ttl = Math.max(EnvironmentEdgeManager.currentTime() -<a name="line.188"></a>
+<span class="sourceLineNo">189</span>        Bytes.toLong(data), oldSI.getTtl());<a name="line.189"></a>
+<span class="sourceLineNo">190</span>    return new ScanInfo(oldSI.getConfiguration(), store.getFamily(), ttl,<a name="line.190"></a>
+<span class="sourceLineNo">191</span>        oldSI.getTimeToPurgeDeletes(), oldSI.getComparator());<a name="line.191"></a>
+<span class="sourceLineNo">192</span>  }<a name="line.192"></a>
+<span class="sourceLineNo">193</span><a name="line.193"></a>
+<span class="sourceLineNo">194</span>  @Override<a name="line.194"></a>
+<span class="sourceLineNo">195</span>  public InternalScanner preFlushScannerOpen(final ObserverContext&lt;RegionCoprocessorEnvironment&gt; c,<a name="line.195"></a>
+<span class="sourceLineNo">196</span>      Store store, KeyValueScanner memstoreScanner, InternalScanner s) throws IOException {<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    ScanInfo scanInfo = getScanInfo(store, c.getEnvironment());<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    if (scanInfo == null) {<a name="line.198"></a>
+<span class="sourceLineNo">199</span>      // take default action<a name="line.199"></a>
+<span class="sourceLineNo">200</span>      return null;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    }<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    Scan scan = new Scan();<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    scan.setMaxVersions(scanInfo.getMaxVersions());<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    return new StoreScanner(store, scanInfo, scan, Collections.singletonList(memstoreScanner),<a name="line.204"></a>
+<span class="sourceLineNo">205</span>        ScanType.COMPACT_RETAIN_DELETES, store.getSmallestReadPoint(), HConstants.OLDEST_TIMESTAMP);<a name="line.205"></a>
+<span class="sourceLineNo">206</span>  }<a name="line.206"></a>
+<span class="sourceLineNo">207</span><a name="line.207"></a>
+<span class="sourceLineNo">208</span>  @Override<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  public InternalScanner preCompactScannerOpen(<a name="line.209"></a>
+<span class="sourceLineNo">210</span>      final ObserverContext&lt;RegionCoprocessorEnvironment&gt; c,<a name="line.210"></a>
+<span class="sourceLineNo">211</span>      Store store, List&lt;? extends KeyValueScanner&gt; scanners, ScanType scanType, long earliestPutTs,<a name="line.211"></a>
+<span class="sourceLineNo">212</span>      InternalScanner s) throws IOException {<a name="line.212"></a>
+<span class="sourceLineNo">213</span>    ScanInfo scanInfo = getScanInfo(store, c.getEnvironment());<a name="line.213"></a>
+<span class="sourceLineNo">214</span>    if (scanInfo == null) {<a name="line.214"></a>
+<span class="sourceLineNo">215</span>      // take default action<a name="line.215"></a>
+<span class="sourceLineNo">216</span>      return null;<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    }<a name="line.217"></a>
+<span class="sourceLineNo">218</span>    Scan scan = new Scan();<a name="line.218"></a>
+<span class="sourceLineNo">219</span>    scan.setMaxVersions(scanInfo.getMaxVersions());<a name="line.219"></a>
+<span class="sourceLineNo">220</span>    return new StoreScanner(store, scanInfo, scan, scanners, scanType,<a name="line.220"></a>
+<span class="sourceLineNo">221</span>        store.getSmallestReadPoint(), earliestPutTs);<a name="line.221"></a>
+<span class="sourceLineNo">222</span>  }<a name="line.222"></a>
+<span class="sourceLineNo">223</span><a name="line.223"></a>
+<span class="sourceLineNo">224</span>  @Override<a name="line.224"></a>
+<span class="sourceLineNo">225</span>  public KeyValueScanner preStoreScannerOpen(final ObserverContext&lt;RegionCoprocessorEnvironment&gt; c,<a name="line.225"></a>
+<span class="sourceLineNo">226</span>      final Store store, final Scan scan, final NavigableSet&lt;byte[]&gt; targetCols,<a name="line.226"></a>
+<span class="sourceLineNo">227</span>      final KeyValueScanner s) throws IOException {<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    ScanInfo scanInfo = getScanInfo(store, c.getEnvironment());<a name="line.228"></a>
+<span class="sourceLineNo">229</span>    if (scanInfo == null) {<a name="line.229"></a>
+<span class="sourceLineNo">230</span>      // take default action<a name="line.230"></a>
+<span class="sourceLineNo">231</span>      return null;<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    }<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    return new StoreScanner(store, scanInfo, scan, targetCols,<a name="line.233"></a>
+<span class="sourceLineNo">234</span>      ((HStore)store).getHRegion().getReadPoint(IsolationLevel.READ_COMMITTED));<a name="line.234"></a>
+<span class="sourceLineNo">235</span>  }<a name="line.235"></a>
+<span class="sourceLineNo">236</span>}<a name="line.236"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html
index 1be6fdf..35e3c5c 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html
@@ -42,18 +42,18 @@
 <span class="sourceLineNo">034</span>import org.apache.commons.logging.LogFactory;<a name="line.34"></a>
 <span class="sourceLineNo">035</span>import org.apache.hadoop.conf.Configuration;<a name="line.35"></a>
 <span class="sourceLineNo">036</span>import org.apache.hadoop.fs.FSDataOutputStream;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.Cell;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.CellComparator;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.HConstants;<a name="line.40"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.ByteBufferedKeyOnlyKeyValue;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.Cell;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.CellComparator;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.40"></a>
 <span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.KeyValue;<a name="line.41"></a>
 <span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.KeyValue.KeyOnlyKeyValue;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.ByteBufferedKeyOnlyKeyValue;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.io.HeapSize;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.io.encoding.DataBlockEncoding;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.io.hfile.HFile.CachingBlockReader;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.nio.ByteBuff;<a name="line.48"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.io.HeapSize;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.io.encoding.DataBlockEncoding;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.io.hfile.HFile.CachingBlockReader;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.nio.ByteBuff;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.regionserver.KeyValueScanner;<a name="line.48"></a>
 <span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.49"></a>
 <span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.util.ClassSize;<a name="line.50"></a>
 <span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.util.ObjectIntPair;<a name="line.51"></a>
@@ -297,7 +297,7 @@
 <span class="sourceLineNo">289</span>      if (rootLevelIndex &lt; blockKeys.length - 1) {<a name="line.289"></a>
 <span class="sourceLineNo">290</span>        nextIndexedKey = blockKeys[rootLevelIndex + 1];<a name="line.290"></a>
 <span class="sourceLineNo">291</span>      } else {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>        nextIndexedKey = HConstants.NO_NEXT_INDEXED_KEY;<a name="line.292"></a>
+<span class="sourceLineNo">292</span>        nextIndexedKey = KeyValueScanner.NO_NEXT_INDEXED_KEY;<a name="line.292"></a>
 <span class="sourceLineNo">293</span>      }<a name="line.293"></a>
 <span class="sourceLineNo">294</span><a name="line.294"></a>
 <span class="sourceLineNo">295</span>      int lookupLevel = 1; // How many levels deep we are in our lookup.<a name="line.295"></a>


[34/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html
index b8778dd..20e8756 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html
@@ -100,7 +100,7 @@
 <hr>
 <br>
 <pre><a href="../../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.70">HFileReaderImpl</a>
+public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.71">HFileReaderImpl</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/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a>, org.apache.hadoop.conf.Configurable</pre>
 <div class="block">Implementation that can handle all hfile versions of <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile"><code>HFile.Reader</code></a>.</div>
@@ -643,7 +643,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <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/io/hfile/HFileReaderImpl.html#line.75">LOG</a></pre>
+<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.76">LOG</a></pre>
 </li>
 </ul>
 <a name="dataBlockIndexReader">
@@ -652,7 +652,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>dataBlockIndexReader</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.CellBasedKeyBlockIndexReader.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlockIndex.CellBasedKeyBlockIndexReader</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.78">dataBlockIndexReader</a></pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.CellBasedKeyBlockIndexReader.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlockIndex.CellBasedKeyBlockIndexReader</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.79">dataBlockIndexReader</a></pre>
 <div class="block">Data block index reader keeping the root data index in memory</div>
 </li>
 </ul>
@@ -662,7 +662,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>metaBlockIndexReader</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.ByteArrayKeyBlockIndexReader.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlockIndex.ByteArrayKeyBlockIndexReader</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.81">metaBlockIndexReader</a></pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.ByteArrayKeyBlockIndexReader.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlockIndex.ByteArrayKeyBlockIndexReader</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.82">metaBlockIndexReader</a></pre>
 <div class="block">Meta block index reader -- always single level</div>
 </li>
 </ul>
@@ -672,7 +672,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>trailer</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/FixedFileTrailer.html" title="class in org.apache.hadoop.hbase.io.hfile">FixedFileTrailer</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.83">trailer</a></pre>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/FixedFileTrailer.html" title="class in org.apache.hadoop.hbase.io.hfile">FixedFileTrailer</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.84">trailer</a></pre>
 </li>
 </ul>
 <a name="compressAlgo">
@@ -681,7 +681,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>compressAlgo</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/compress/Compression.Algorithm.html" title="enum in org.apache.hadoop.hbase.io.compress">Compression.Algorithm</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.86">compressAlgo</a></pre>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/compress/Compression.Algorithm.html" title="enum in org.apache.hadoop.hbase.io.compress">Compression.Algorithm</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.87">compressAlgo</a></pre>
 <div class="block">Filled when we read in the trailer.</div>
 </li>
 </ul>
@@ -691,7 +691,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>isPrimaryReplicaReader</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.88">isPrimaryReplicaReader</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.89">isPrimaryReplicaReader</a></pre>
 </li>
 </ul>
 <a name="dataBlockEncoder">
@@ -700,7 +700,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>dataBlockEncoder</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileDataBlockEncoder.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFileDataBlockEncoder</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.94">dataBlockEncoder</a></pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileDataBlockEncoder.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFileDataBlockEncoder</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.95">dataBlockEncoder</a></pre>
 <div class="block">What kind of data block encoding should be used while reading, writing,
  and handling cache.</div>
 </li>
@@ -711,7 +711,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>lastKeyCell</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.97">lastKeyCell</a></pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.98">lastKeyCell</a></pre>
 <div class="block">Last key in the file. Filled in when we read in the file info</div>
 </li>
 </ul>
@@ -721,7 +721,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>avgKeyLen</h4>
-<pre>private&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.100">avgKeyLen</a></pre>
+<pre>private&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.101">avgKeyLen</a></pre>
 <div class="block">Average key length read from file info</div>
 </li>
 </ul>
@@ -731,7 +731,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>avgValueLen</h4>
-<pre>private&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.103">avgValueLen</a></pre>
+<pre>private&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.104">avgValueLen</a></pre>
 <div class="block">Average value length read from file info</div>
 </li>
 </ul>
@@ -741,7 +741,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>comparator</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/CellComparator.html" title="class in org.apache.hadoop.hbase">CellComparator</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.106">comparator</a></pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/CellComparator.html" title="class in org.apache.hadoop.hbase">CellComparator</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.107">comparator</a></pre>
 <div class="block">Key comparator</div>
 </li>
 </ul>
@@ -751,7 +751,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>fileSize</h4>
-<pre>private final&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.109">fileSize</a></pre>
+<pre>private final&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.110">fileSize</a></pre>
 <div class="block">Size of this file.</div>
 </li>
 </ul>
@@ -761,7 +761,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>cacheConf</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.112">cacheConf</a></pre>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.113">cacheConf</a></pre>
 <div class="block">Block cache configuration.</div>
 </li>
 </ul>
@@ -771,7 +771,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>path</h4>
-<pre>private final&nbsp;org.apache.hadoop.fs.Path <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.115">path</a></pre>
+<pre>private final&nbsp;org.apache.hadoop.fs.Path <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.116">path</a></pre>
 <div class="block">Path of file</div>
 </li>
 </ul>
@@ -781,7 +781,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>name</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/io/hfile/HFileReaderImpl.html#line.118">name</a></pre>
+<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/io/hfile/HFileReaderImpl.html#line.119">name</a></pre>
 <div class="block">File name to be used for block names</div>
 </li>
 </ul>
@@ -791,7 +791,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>fileInfo</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.FileInfo.html" title="class in org.apache.hadoop.hbase.io.hfile">HFile.FileInfo</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.120">fileInfo</a></pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.FileInfo.html" title="class in org.apache.hadoop.hbase.io.hfile">HFile.FileInfo</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.121">fileInfo</a></pre>
 </li>
 </ul>
 <a name="conf">
@@ -800,7 +800,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>conf</h4>
-<pre>private&nbsp;org.apache.hadoop.conf.Configuration <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.122">conf</a></pre>
+<pre>private&nbsp;org.apache.hadoop.conf.Configuration <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.123">conf</a></pre>
 </li>
 </ul>
 <a name="hfileContext">
@@ -809,7 +809,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>hfileContext</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileContext.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileContext</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.124">hfileContext</a></pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileContext.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileContext</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.125">hfileContext</a></pre>
 </li>
 </ul>
 <a name="fsBlockReader">
@@ -818,7 +818,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>fsBlockReader</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.FSReader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFileBlock.FSReader</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.127">fsBlockReader</a></pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.FSReader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFileBlock.FSReader</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.128">fsBlockReader</a></pre>
 <div class="block">Filesystem-level block reader.</div>
 </li>
 </ul>
@@ -828,7 +828,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>offsetLock</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/util/IdLock.html" title="class in org.apache.hadoop.hbase.util">IdLock</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.135">offsetLock</a></pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/util/IdLock.html" title="class in org.apache.hadoop.hbase.util">IdLock</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.136">offsetLock</a></pre>
 <div class="block">A "sparse lock" implementation allowing to lock on a particular block
  identified by offset. The purpose of this is to avoid two clients loading
  the same block, and have all but one client wait to get the block from the
@@ -841,7 +841,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>loadOnOpenBlocks</h4>
-<pre>private&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/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.141">loadOnOpenBlocks</a></pre>
+<pre>private&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/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.142">loadOnOpenBlocks</a></pre>
 <div class="block">Blocks read from the load-on-open section, excluding data root index, meta
  index, and file info.</div>
 </li>
@@ -852,7 +852,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>MIN_MINOR_VERSION</h4>
-<pre>static final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.144">MIN_MINOR_VERSION</a></pre>
+<pre>static final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.145">MIN_MINOR_VERSION</a></pre>
 <div class="block">Minimum minor version supported by this HFile format</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.HFileReaderImpl.MIN_MINOR_VERSION">Constant Field Values</a></dd></dl>
 </li>
@@ -863,7 +863,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>MAX_MINOR_VERSION</h4>
-<pre>static final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.149">MAX_MINOR_VERSION</a></pre>
+<pre>static final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.150">MAX_MINOR_VERSION</a></pre>
 <div class="block">Maximum minor version supported by this HFile format</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.HFileReaderImpl.MAX_MINOR_VERSION">Constant Field Values</a></dd></dl>
 </li>
@@ -874,7 +874,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>MIN_V2_MINOR_VERSION_WITH_PB</h4>
-<pre>private static final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.154">MIN_V2_MINOR_VERSION_WITH_PB</a></pre>
+<pre>private static final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.155">MIN_V2_MINOR_VERSION_WITH_PB</a></pre>
 <div class="block">We can read files whose major version is v2 IFF their minor version is at least 3.</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.HFileReaderImpl.MIN_V2_MINOR_VERSION_WITH_PB">Constant Field Values</a></dd></dl>
 </li>
@@ -885,7 +885,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>MINOR_VERSION_WITH_FAKED_KEY</h4>
-<pre>static final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.157">MINOR_VERSION_WITH_FAKED_KEY</a></pre>
+<pre>static final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.158">MINOR_VERSION_WITH_FAKED_KEY</a></pre>
 <div class="block">Minor versions starting with this number have faked index key</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.HFileReaderImpl.MINOR_VERSION_WITH_FAKED_KEY">Constant Field Values</a></dd></dl>
 </li>
@@ -896,7 +896,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>MINOR_VERSION_WITH_CHECKSUM</h4>
-<pre>public static final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1298">MINOR_VERSION_WITH_CHECKSUM</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1299">MINOR_VERSION_WITH_CHECKSUM</a></pre>
 <div class="block">Minor versions in HFile starting with this number have hbase checksums</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.HFileReaderImpl.MINOR_VERSION_WITH_CHECKSUM">Constant Field Values</a></dd></dl>
 </li>
@@ -907,7 +907,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>MINOR_VERSION_NO_CHECKSUM</h4>
-<pre>public static final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1300">MINOR_VERSION_NO_CHECKSUM</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1301">MINOR_VERSION_NO_CHECKSUM</a></pre>
 <div class="block">In HFile minor version that does not support checksums</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.HFileReaderImpl.MINOR_VERSION_NO_CHECKSUM">Constant Field Values</a></dd></dl>
 </li>
@@ -918,7 +918,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>PBUF_TRAILER_MINOR_VERSION</h4>
-<pre>public static final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1303">PBUF_TRAILER_MINOR_VERSION</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1304">PBUF_TRAILER_MINOR_VERSION</a></pre>
 <div class="block">HFile minor version that introduced pbuf filetrailer</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.HFileReaderImpl.PBUF_TRAILER_MINOR_VERSION">Constant Field Values</a></dd></dl>
 </li>
@@ -929,7 +929,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>KEY_VALUE_LEN_SIZE</h4>
-<pre>public static final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1309">KEY_VALUE_LEN_SIZE</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1310">KEY_VALUE_LEN_SIZE</a></pre>
 <div class="block">The size of a (key length, value length) tuple that prefixes each entry in
  a data block.</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.HFileReaderImpl.KEY_VALUE_LEN_SIZE">Constant Field Values</a></dd></dl>
@@ -941,7 +941,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>includesMemstoreTS</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1311">includesMemstoreTS</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1312">includesMemstoreTS</a></pre>
 </li>
 </ul>
 <a name="decodeMemstoreTS">
@@ -950,7 +950,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockListLast">
 <li class="blockList">
 <h4>decodeMemstoreTS</h4>
-<pre>protected&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1312">decodeMemstoreTS</a></pre>
+<pre>protected&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1313">decodeMemstoreTS</a></pre>
 </li>
 </ul>
 </li>
@@ -967,7 +967,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HFileReaderImpl</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.178">HFileReaderImpl</a>(org.apache.hadoop.fs.Path&nbsp;path,
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.179">HFileReaderImpl</a>(org.apache.hadoop.fs.Path&nbsp;path,
                <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/FixedFileTrailer.html" title="class in org.apache.hadoop.hbase.io.hfile">FixedFileTrailer</a>&nbsp;trailer,
                <a href="../../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html" title="class in org.apache.hadoop.hbase.io">FSDataInputStreamWrapper</a>&nbsp;fsdis,
                long&nbsp;fileSize,
@@ -996,7 +996,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>checkFileVersion</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.302">checkFileVersion</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.303">checkFileVersion</a>()</pre>
 <div class="block">File version check is a little sloppy. We read v3 files but can also read v2 files if their
  content has been pb'd; files written with 0.98.</div>
 </li>
@@ -1007,7 +1007,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>toStringFirstKey</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/io/hfile/HFileReaderImpl.html#line.321">toStringFirstKey</a>()</pre>
+<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/io/hfile/HFileReaderImpl.html#line.322">toStringFirstKey</a>()</pre>
 </li>
 </ul>
 <a name="toStringLastKey()">
@@ -1016,7 +1016,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>toStringLastKey</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/io/hfile/HFileReaderImpl.html#line.327">toStringLastKey</a>()</pre>
+<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/io/hfile/HFileReaderImpl.html#line.328">toStringLastKey</a>()</pre>
 </li>
 </ul>
 <a name="toString()">
@@ -1025,7 +1025,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <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/io/hfile/HFileReaderImpl.html#line.332">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/io/hfile/HFileReaderImpl.html#line.333">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>
@@ -1038,7 +1038,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>length</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.346">length</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.347">length</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html#length()">length</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a></code></dd>
@@ -1051,7 +1051,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>returnBlock</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.351">returnBlock</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a>&nbsp;block)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.352">returnBlock</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a>&nbsp;block)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.CachingBlockReader.html#returnBlock(org.apache.hadoop.hbase.io.hfile.HFileBlock)">HFile.CachingBlockReader</a></code></strong></div>
 <div class="block">Return the given block back to the cache, if it was obtained from cache.</div>
 <dl>
@@ -1066,7 +1066,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>getFirstKey</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.365">getFirstKey</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.366">getFirstKey</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html#getFirstKey()">getFirstKey</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a></code></dd>
@@ -1081,7 +1081,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>getFirstRowKey</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.380">getFirstRowKey</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.381">getFirstRowKey</a>()</pre>
 <div class="block">TODO left from <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.html" title="class in org.apache.hadoop.hbase.io.hfile"><code>HFile</code></a> version 1: move this to StoreFile after Ryan's
  patch goes in to eliminate <a href="../../../../../../org/apache/hadoop/hbase/KeyValue.html" title="class in org.apache.hadoop.hbase"><code>KeyValue</code></a> here.</div>
 <dl>
@@ -1096,7 +1096,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>getLastRowKey</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.393">getLastRowKey</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.394">getLastRowKey</a>()</pre>
 <div class="block">TODO left from <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.html" title="class in org.apache.hadoop.hbase.io.hfile"><code>HFile</code></a> version 1: move this to StoreFile after
  Ryan's patch goes in to eliminate <a href="../../../../../../org/apache/hadoop/hbase/KeyValue.html" title="class in org.apache.hadoop.hbase"><code>KeyValue</code></a> here.</div>
 <dl>
@@ -1111,7 +1111,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>getEntries</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.400">getEntries</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.401">getEntries</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html#getEntries()">getEntries</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a></code></dd>
@@ -1124,7 +1124,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>getComparator</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/CellComparator.html" title="class in org.apache.hadoop.hbase">CellComparator</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.406">getComparator</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/CellComparator.html" title="class in org.apache.hadoop.hbase">CellComparator</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.407">getComparator</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html#getComparator()">getComparator</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a></code></dd>
@@ -1137,7 +1137,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>getCompressionAlgorithm</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/compress/Compression.Algorithm.html" title="enum in org.apache.hadoop.hbase.io.compress">Compression.Algorithm</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.412">getCompressionAlgorithm</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/compress/Compression.Algorithm.html" title="enum in org.apache.hadoop.hbase.io.compress">Compression.Algorithm</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.413">getCompressionAlgorithm</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html#getCompressionAlgorithm()">getCompressionAlgorithm</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a></code></dd>
@@ -1150,7 +1150,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>indexSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.420">indexSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.421">indexSize</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html#indexSize()">indexSize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a></code></dd>
@@ -1164,7 +1164,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>getName</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/io/hfile/HFileReaderImpl.html#line.427">getName</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/io/hfile/HFileReaderImpl.html#line.428">getName</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html#getName()">HFile.Reader</a></code></strong></div>
 <div class="block">Returns this reader's "name". Usually the last component of the path.
  Needs to be constant as the file is being moved to support caching on
@@ -1181,7 +1181,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>getDataBlockIndexReader</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexReader.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlockIndex.BlockIndexReader</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.432">getDataBlockIndexReader</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexReader.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlockIndex.BlockIndexReader</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.433">getDataBlockIndexReader</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html#getDataBlockIndexReader()">getDataBlockIndexReader</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a></code></dd>
@@ -1194,7 +1194,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>getTrailer</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/FixedFileTrailer.html" title="class in org.apache.hadoop.hbase.io.hfile">FixedFileTrailer</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.437">getTrailer</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/FixedFileTrailer.html" title="class in org.apache.hadoop.hbase.io.hfile">FixedFileTrailer</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.438">getTrailer</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html#getTrailer()">getTrailer</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a></code></dd>
@@ -1207,7 +1207,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>isPrimaryReplicaReader</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.442">isPrimaryReplicaReader</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.443">isPrimaryReplicaReader</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html#isPrimaryReplicaReader()">isPrimaryReplicaReader</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a></code></dd>
@@ -1220,7 +1220,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>setPrimaryReplicaReader</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.447">setPrimaryReplicaReader</a>(boolean&nbsp;isPrimaryReplicaReader)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.448">setPrimaryReplicaReader</a>(boolean&nbsp;isPrimaryReplicaReader)</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html#setPrimaryReplicaReader(boolean)">setPrimaryReplicaReader</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a></code></dd>
@@ -1233,7 +1233,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>loadFileInfo</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.FileInfo.html" title="class in org.apache.hadoop.hbase.io.hfile">HFile.FileInfo</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.452">loadFileInfo</a>()
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.FileInfo.html" title="class in org.apache.hadoop.hbase.io.hfile">HFile.FileInfo</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.453">loadFileInfo</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><strong>Specified by:</strong></dt>
@@ -1248,7 +1248,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>getPath</h4>
-<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1278">getPath</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1279">getPath</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html#getPath()">getPath</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a></code></dd>
@@ -1261,7 +1261,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>getDataBlockEncoding</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoding.html" title="enum in org.apache.hadoop.hbase.io.encoding">DataBlockEncoding</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1283">getDataBlockEncoding</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoding.html" title="enum in org.apache.hadoop.hbase.io.encoding">DataBlockEncoding</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1284">getDataBlockEncoding</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html#getDataBlockEncoding()">getDataBlockEncoding</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a></code></dd>
@@ -1274,7 +1274,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>getConf</h4>
-<pre>public&nbsp;org.apache.hadoop.conf.Configuration&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1288">getConf</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.conf.Configuration&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1289">getConf</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code>getConf</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.conf.Configurable</code></dd>
@@ -1287,7 +1287,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>setConf</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1293">setConf</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1294">setConf</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code>setConf</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.conf.Configurable</code></dd>
@@ -1300,7 +1300,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>isDecodeMemstoreTS</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1315">isDecodeMemstoreTS</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1316">isDecodeMemstoreTS</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html#isDecodeMemstoreTS()">isDecodeMemstoreTS</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a></code></dd>
@@ -1313,7 +1313,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>shouldIncludeMemstoreTS</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1319">shouldIncludeMemstoreTS</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1320">shouldIncludeMemstoreTS</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html#shouldIncludeMemstoreTS()">shouldIncludeMemstoreTS</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a></code></dd>
@@ -1326,7 +1326,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>getCachedBlock</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1327">getCachedBlock</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a>&nbsp;cacheKey,
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1328">getCachedBlock</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a>&nbsp;cacheKey,
                         boolean&nbsp;cacheBlock,
                         boolean&nbsp;useLock,
                         boolean&nbsp;isCompaction,
@@ -1346,7 +1346,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>getMetaBlock</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1398">getMetaBlock</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;metaBlockName,
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1399">getMetaBlock</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;metaBlockName,
                       boolean&nbsp;cacheBlock)
                         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>
@@ -1364,7 +1364,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>readBlock</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1451">readBlock</a>(long&nbsp;dataBlockOffset,
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1452">readBlock</a>(long&nbsp;dataBlockOffset,
                    long&nbsp;onDiskBlockSize,
                    boolean&nbsp;cacheBlock,
                    boolean&nbsp;pread,
@@ -1395,7 +1395,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>hasMVCCInfo</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1547">hasMVCCInfo</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1548">hasMVCCInfo</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html#hasMVCCInfo()">hasMVCCInfo</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a></code></dd>
@@ -1408,7 +1408,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>validateBlockType</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1560">validateBlockType</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a>&nbsp;block,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1561">validateBlockType</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a>&nbsp;block,
                      <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.html" title="enum in org.apache.hadoop.hbase.io.hfile">BlockType</a>&nbsp;expectedBlockType)
                         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">Compares the actual type of a block retrieved from cache or disk with its
@@ -1427,7 +1427,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>getLastKey</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1583">getLastKey</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1584">getLastKey</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html#getLastKey()">getLastKey</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a></code></dd>
@@ -1442,7 +1442,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>midkey</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1593">midkey</a>()
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1594">midkey</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><strong>Specified by:</strong></dt>
@@ -1459,7 +1459,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>close</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1598">close</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1599">close</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><strong>Specified by:</strong></dt>
@@ -1476,7 +1476,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>close</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1602">close</a>(boolean&nbsp;evictOnClose)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1603">close</a>(boolean&nbsp;evictOnClose)
            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/io/hfile/HFile.Reader.html#close(boolean)">HFile.Reader</a></code></strong></div>
 <div class="block">Close method with optional evictOnClose</div>
@@ -1493,7 +1493,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>getEffectiveEncodingInCache</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoding.html" title="enum in org.apache.hadoop.hbase.io.encoding">DataBlockEncoding</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1614">getEffectiveEncodingInCache</a>(boolean&nbsp;isCompaction)</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoding.html" title="enum in org.apache.hadoop.hbase.io.encoding">DataBlockEncoding</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1615">getEffectiveEncodingInCache</a>(boolean&nbsp;isCompaction)</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html#getEffectiveEncodingInCache(boolean)">getEffectiveEncodingInCache</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a></code></dd>
@@ -1506,7 +1506,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>getUncachedBlockReader</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.FSReader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFileBlock.FSReader</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1619">getUncachedBlockReader</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.FSReader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFileBlock.FSReader</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1620">getUncachedBlockReader</a>()</pre>
 <div class="block">For testing</div>
 <dl>
 <dt><strong>Specified by:</strong></dt>
@@ -1520,7 +1520,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>getGeneralBloomFilterMetadata</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1774">getGeneralBloomFilterMetadata</a>()
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1775">getGeneralBloomFilterMetadata</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">Returns a buffer with the Bloom filter metadata. The caller takes
  ownership of the buffer.</div>
@@ -1537,7 +1537,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>getDeleteBloomFilterMetadata</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1779">getDeleteBloomFilterMetadata</a>()
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1780">getDeleteBloomFilterMetadata</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/io/hfile/HFile.Reader.html#getDeleteBloomFilterMetadata()">HFile.Reader</a></code></strong></div>
 <div class="block">Retrieves delete family Bloom filter metadata as appropriate for each
@@ -1556,7 +1556,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>getBloomFilterMetadata</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1783">getBloomFilterMetadata</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.html" title="enum in org.apache.hadoop.hbase.io.hfile">BlockType</a>&nbsp;blockType)
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1784">getBloomFilterMetadata</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.html" title="enum in org.apache.hadoop.hbase.io.hfile">BlockType</a>&nbsp;blockType)
                                   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>
@@ -1568,7 +1568,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>isFileInfoLoaded</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1797">isFileInfoLoaded</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1798">isFileInfoLoaded</a>()</pre>
 </li>
 </ul>
 <a name="getFileContext()">
@@ -1577,7 +1577,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>getFileContext</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileContext.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileContext</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1802">getFileContext</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileContext.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileContext</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1803">getFileContext</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html#getFileContext()">HFile.Reader</a></code></strong></div>
 <div class="block">Return the file context of the HFile this reader belongs to</div>
 <dl>
@@ -1592,7 +1592,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>prefetchComplete</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1811">prefetchComplete</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1812">prefetchComplete</a>()</pre>
 <div class="block">Returns false if block prefetching was requested for this file and has
  not completed, true otherwise</div>
 <dl>
@@ -1607,7 +1607,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>createHFileContext</h4>
-<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileContext.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileContext</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1815">createHFileContext</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html" title="class in org.apache.hadoop.hbase.io">FSDataInputStreamWrapper</a>&nbsp;fsdis,
+<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileContext.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileContext</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1816">createHFileContext</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html" title="class in org.apache.hadoop.hbase.io">FSDataInputStreamWrapper</a>&nbsp;fsdis,
                               long&nbsp;fileSize,
                               <a href="../../../../../../org/apache/hadoop/hbase/fs/HFileSystem.html" title="class in org.apache.hadoop.hbase.fs">HFileSystem</a>&nbsp;hfs,
                               org.apache.hadoop.fs.Path&nbsp;path,
@@ -1623,7 +1623,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>getScanner</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFileScanner</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1864">getScanner</a>(boolean&nbsp;cacheBlocks,
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFileScanner</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1865">getScanner</a>(boolean&nbsp;cacheBlocks,
                       boolean&nbsp;pread)</pre>
 <div class="block">Create a Scanner on this file. No seeks or reads are done on creation. Call
  <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#seekTo(org.apache.hadoop.hbase.Cell)"><code>HFileScanner.seekTo(Cell)</code></a> to position an start the read. There is
@@ -1644,7 +1644,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockList">
 <li class="blockList">
 <h4>getScanner</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFileScanner</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1883">getScanner</a>(boolean&nbsp;cacheBlocks,
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFileScanner</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1884">getScanner</a>(boolean&nbsp;cacheBlocks,
                       boolean&nbsp;pread,
                       boolean&nbsp;isCompaction)</pre>
 <div class="block">Create a Scanner on this file. No seeks or reads are done on creation. Call
@@ -1665,7 +1665,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getMajorVersion</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1891">getMajorVersion</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1892">getMajorVersion</a>()</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/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 c6b1e2d..8fc38e4 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/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/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/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>
 <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/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/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/BlockType.BlockCategory.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="strong">BlockType.BlockCategory</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/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 f2292b7..e19c970 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.1962">RpcServer.BlockingServiceAndInterface</a>
+<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.1971">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.1963">service</a></pre>
+<pre>private final&nbsp;com.google.protobuf.BlockingService <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html#line.1972">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.1964">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.1973">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.1965">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.1974">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.1970">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.1979">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.1973">getBlockingService</a>()</pre>
+<pre>public&nbsp;com.google.protobuf.BlockingService&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html#line.1982">getBlockingService</a>()</pre>
 </li>
 </ul>
 </li>


[40/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/index-all.html
----------------------------------------------------------------------
diff --git a/devapidocs/index-all.html b/devapidocs/index-all.html
index 0e0f3ba..4d40ea3 100644
--- a/devapidocs/index-all.html
+++ b/devapidocs/index-all.html
@@ -2400,7 +2400,10 @@
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/StripeMultiFileWriter.SizeMultiWriter.html#append(org.apache.hadoop.hbase.Cell)">append(Cell)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/StripeMultiFileWriter.SizeMultiWriter.html" title="class in org.apache.hadoop.hbase.regionserver">StripeMultiFileWriter.SizeMultiWriter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#append(org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.wal.WALKey,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20boolean)">append(HTableDescriptor, HRegionInfo, WALKey, WALEdit, boolean)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.wal.<a href="./org/apache/hadoop/hbase/regionserver/wal/FSHLog.html" title="class in org.apache.hadoop.hbase.regionserver.wal">FSHLog</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">NOTE: This append, at a time that is usually after this call returns, starts an
+ mvcc transaction by calling 'begin' wherein which we assign this update a sequenceid.</div>
+</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferEventHandler.html#append(org.apache.hadoop.hbase.regionserver.wal.FSWALEntry)">append(FSWALEntry)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.wal.<a href="./org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferEventHandler.html" title="class in org.apache.hadoop.hbase.regionserver.wal">FSHLog.RingBufferEventHandler</a></dt>
 <dd>
 <div class="block">Append to the WAL.</div>
@@ -6775,6 +6778,14 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.html#carryForwardTags(org.apache.hadoop.hbase.Cell,%20java.util.List)">carryForwardTags(Cell, List&lt;Tag&gt;)</a></span> - Static method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/TagUtil.html#carryForwardTags(org.apache.hadoop.hbase.Cell)">carryForwardTags(Cell)</a></span> - Static method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TagUtil.html" title="class in org.apache.hadoop.hbase">TagUtil</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/TagUtil.html#carryForwardTags(java.util.List,%20org.apache.hadoop.hbase.Cell)">carryForwardTags(List&lt;Tag&gt;, Cell)</a></span> - Static method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TagUtil.html" title="class in org.apache.hadoop.hbase">TagUtil</a></dt>
+<dd>
+<div class="block">Add to <code>tagsOrNull</code> any Tags <code>cell</code> is carrying or null if none.</div>
+</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/TagUtil.html#carryForwardTTLTag(java.util.List,%20long)">carryForwardTTLTag(List&lt;Tag&gt;, long)</a></span> - Static method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TagUtil.html" title="class in org.apache.hadoop.hbase">TagUtil</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#carryingMeta">carryingMeta</a></span> - Variable in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure">ServerCrashProcedure</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/coprocessor/BigDecimalColumnInterpreter.html#castToCellType(java.math.BigDecimal)">castToCellType(BigDecimal)</a></span> - Method in class org.apache.hadoop.hbase.client.coprocessor.<a href="./org/apache/hadoop/hbase/client/coprocessor/BigDecimalColumnInterpreter.html" title="class in org.apache.hadoop.hbase.client.coprocessor">BigDecimalColumnInterpreter</a></dt>
@@ -7425,8 +7436,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/Region.html#checkAndMutate(byte[],%20byte[],%20byte[],%20org.apache.hadoop.hbase.filter.CompareFilter.CompareOp,%20org.apache.hadoop.hbase.filter.ByteArrayComparable,%20org.apache.hadoop.hbase.client.Mutation,%20boolean)">checkAndMutate(byte[], byte[], byte[], CompareFilter.CompareOp, ByteArrayComparable, Mutation, boolean)</a></span> - Method in interface org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a></dt>
 <dd>
-<div class="block">Atomically checks if a row/family/qualifier value matches the expected val
- If it does, it performs the row mutations.</div>
+<div class="block">Atomically checks if a row/family/qualifier value matches the expected value and if it does,
+ it performs the mutation.</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/rest/client/RemoteHTable.html#checkAndMutate(byte[],%20byte[],%20byte[],%20org.apache.hadoop.hbase.filter.CompareFilter.CompareOp,%20byte[],%20org.apache.hadoop.hbase.client.RowMutations)">checkAndMutate(byte[], byte[], byte[], CompareFilter.CompareOp, byte[], RowMutations)</a></span> - Method in class org.apache.hadoop.hbase.rest.client.<a href="./org/apache/hadoop/hbase/rest/client/RemoteHTable.html" title="class in org.apache.hadoop.hbase.rest.client">RemoteHTable</a></dt>
 <dd>&nbsp;</dd>
@@ -7486,8 +7497,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/Region.html#checkAndRowMutate(byte[],%20byte[],%20byte[],%20org.apache.hadoop.hbase.filter.CompareFilter.CompareOp,%20org.apache.hadoop.hbase.filter.ByteArrayComparable,%20org.apache.hadoop.hbase.client.RowMutations,%20boolean)">checkAndRowMutate(byte[], byte[], byte[], CompareFilter.CompareOp, ByteArrayComparable, RowMutations, boolean)</a></span> - Method in interface org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a></dt>
 <dd>
-<div class="block">Atomically checks if a row/family/qualifier value matches the expected val
- If it does, it performs the row mutations.</div>
+<div class="block">Atomically checks if a row/family/qualifier value matches the expected values and if it does,
+ it performs the row mutations.</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/RSRpcServices.html#checkAndRowMutate(org.apache.hadoop.hbase.regionserver.Region,%20java.util.List,%20org.apache.hadoop.hbase.CellScanner,%20byte[],%20byte[],%20byte[],%20org.apache.hadoop.hbase.filter.CompareFilter.CompareOp,%20org.apache.hadoop.hbase.filter.ByteArrayComparable)">checkAndRowMutate(Region, List&lt;ClientProtos.Action&gt;, CellScanner, byte[], byte[], byte[], CompareFilter.CompareOp, ByteArrayComparable)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/RSRpcServices.html" title="class in org.apache.hadoop.hbase.regionserver">RSRpcServices</a></dt>
 <dd>
@@ -19736,6 +19747,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/CellUtil.html#EMPTY_TAGS_ITR">EMPTY_TAGS_ITR</a></span> - Static variable 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/TagUtil.html#EMPTY_TAGS_ITR">EMPTY_TAGS_ITR</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TagUtil.html" title="class in org.apache.hadoop.hbase">TagUtil</a></dt>
+<dd>
+<div class="block">Iterator returned when no Tags.</div>
+</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/wal/WALKey.html#EMPTY_UUIDS">EMPTY_UUIDS</a></span> - Static variable in class org.apache.hadoop.hbase.wal.<a href="./org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/mob/MobConstants.html#EMPTY_VALUE_ON_MOBCELL_MISS">EMPTY_VALUE_ON_MOBCELL_MISS</a></span> - Static variable in class org.apache.hadoop.hbase.mob.<a href="./org/apache/hadoop/hbase/mob/MobConstants.html" title="class in org.apache.hadoop.hbase.mob">MobConstants</a></dt>
@@ -33536,12 +33551,20 @@
 <dd>
 <div class="block">Create a new <a href="./org/apache/hadoop/hbase/wal/WAL.Reader.html" title="interface in org.apache.hadoop.hbase.wal"><code>WAL.Reader</code></a> for reading logs to split.</div>
 </dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.html#getReadPoint(org.apache.hadoop.hbase.client.IsolationLevel)">getReadPoint(IsolationLevel)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.html#getReadpoint(org.apache.hadoop.hbase.client.IsolationLevel)">getReadpoint(IsolationLevel)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html#getReadPoint()">getReadPoint()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/Region.html#getReadpoint(org.apache.hadoop.hbase.client.IsolationLevel)">getReadpoint(IsolationLevel)</a></span> - Method in interface org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a></dt>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/Region.html#getReadPoint(org.apache.hadoop.hbase.client.IsolationLevel)">getReadPoint(IsolationLevel)</a></span> - Method in interface org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/Region.html#getReadpoint(org.apache.hadoop.hbase.client.IsolationLevel)">getReadpoint(IsolationLevel)</a></span> - Method in interface org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a></dt>
+<dd>
+<div class="block"><span class="strong">Deprecated.</span>
+<div class="block"><i>Since 1.2.0. Use <a href="./org/apache/hadoop/hbase/regionserver/Region.html#getReadPoint(org.apache.hadoop.hbase.client.IsolationLevel)"><code>Region.getReadPoint(IsolationLevel)</code></a> instead.</i></div>
+</div>
+</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html#getReadRequestCount()">getReadRequestCount()</a></span> - Method in interface org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionWrapper</a></dt>
 <dd>
 <div class="block">Get the total number of read requests that have been issued against this region</div>
@@ -57299,8 +57322,6 @@
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/util/DirectMemoryUtils.html#NIO_DIRECT_POOL">NIO_DIRECT_POOL</a></span> - Static variable in class org.apache.hadoop.hbase.util.<a href="./org/apache/hadoop/hbase/util/DirectMemoryUtils.html" title="class in org.apache.hadoop.hbase.util">DirectMemoryUtils</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#NO_ARGS">NO_ARGS</a></span> - Static variable in class org.apache.hadoop.hbase.regionserver.wal.<a href="./org/apache/hadoop/hbase/regionserver/wal/FSHLog.html" title="class in org.apache.hadoop.hbase.regionserver.wal">FSHLog</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/http/HttpServer.html#NO_CACHE_FILTER">NO_CACHE_FILTER</a></span> - Static variable in class org.apache.hadoop.hbase.http.<a href="./org/apache/hadoop/hbase/http/HttpServer.html" title="class in org.apache.hadoop.hbase.http">HttpServer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/HRegionInfo.html#NO_HASH">NO_HASH</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a></dt>
@@ -57309,7 +57330,7 @@
 <dd>
 <div class="block">Use this instance whenever limits do not need to be enforced.</div>
 </dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/HConstants.html#NO_NEXT_INDEXED_KEY">NO_NEXT_INDEXED_KEY</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/HConstants.html" title="class in org.apache.hadoop.hbase">HConstants</a></dt>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#NO_NEXT_INDEXED_KEY">NO_NEXT_INDEXED_KEY</a></span> - Static variable in interface org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a></dt>
 <dd>
 <div class="block">The byte array represents for NO_NEXT_INDEXED_KEY;
  The actual value is irrelevant because this is always compared by reference.</div>
@@ -67559,8 +67580,8 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><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> - Enum in <a href="./org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a></dt>
 <dd>
-<div class="block">Operation enum is used in <a href="./org/apache/hadoop/hbase/regionserver/Region.html#startRegionOperation()"><code>Region.startRegionOperation()</code></a> to provide context for
- various checks before any region operation begins.</div>
+<div class="block">Operation enum is used in <a href="./org/apache/hadoop/hbase/regionserver/Region.html#startRegionOperation()"><code>Region.startRegionOperation()</code></a> and elsewhere to provide
+ context for various checks.</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/Region.Operation.html#Region.Operation()">Region.Operation()</a></span> - Constructor for enum org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a></dt>
 <dd>&nbsp;</dd>


[49/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/apache_hbase_reference_guide.pdfmarks
----------------------------------------------------------------------
diff --git a/apache_hbase_reference_guide.pdfmarks b/apache_hbase_reference_guide.pdfmarks
index 0b38955..1ee23a7 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:20160129151202)
-  /CreationDate (D:20160129151202)
+  /ModDate (D:20160201151517)
+  /CreationDate (D:20160201151517)
   /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/a7e5a8ce/apidocs/index-all.html
----------------------------------------------------------------------
diff --git a/apidocs/index-all.html b/apidocs/index-all.html
index e521218..a64f504 100644
--- a/apidocs/index-all.html
+++ b/apidocs/index-all.html
@@ -9143,11 +9143,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/HRegionInfo.html#NO_HASH">NO_HASH</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/HConstants.html#NO_NEXT_INDEXED_KEY">NO_NEXT_INDEXED_KEY</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/HConstants.html" title="class in org.apache.hadoop.hbase">HConstants</a></dt>
-<dd>
-<div class="block">The byte array represents for NO_NEXT_INDEXED_KEY;
- The actual value is irrelevant because this is always compared by reference.</div>
-</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/HConstants.html#NO_NONCE">NO_NONCE</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/HConstants.html" title="class in org.apache.hadoop.hbase">HConstants</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/util/Base64.html#NO_OPTIONS">NO_OPTIONS</a></span> - Static variable in class org.apache.hadoop.hbase.util.<a href="./org/apache/hadoop/hbase/util/Base64.html" title="class in org.apache.hadoop.hbase.util">Base64</a></dt>


[24/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/regionserver/Region.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/Region.html b/devapidocs/org/apache/hadoop/hbase/regionserver/Region.html
index 9505bac..95d36ed 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/Region.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/Region.html
@@ -145,8 +145,8 @@ extends <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserv
 <tr class="altColor">
 <td class="colFirst"><code>static class&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a></strong></code>
-<div class="block">Operation enum is used in <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#startRegionOperation()"><code>startRegionOperation()</code></a> to provide context for
- various checks before any region operation begins.</div>
+<div class="block">Operation enum is used in <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#startRegionOperation()"><code>startRegionOperation()</code></a> and elsewhere to provide
+ context for various checks.</div>
 </td>
 </tr>
 <tr class="rowColor">
@@ -210,8 +210,8 @@ extends <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserv
                             <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator,
                             <a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
                             boolean&nbsp;writeToWAL)</code>
-<div class="block">Atomically checks if a row/family/qualifier value matches the expected val
- If it does, it performs the row mutations.</div>
+<div class="block">Atomically checks if a row/family/qualifier value matches the expected value and if it does,
+ it performs the mutation.</div>
 </td>
 </tr>
 <tr class="rowColor">
@@ -223,8 +223,8 @@ extends <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserv
                                   <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator,
                                   <a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;mutations,
                                   boolean&nbsp;writeToWAL)</code>
-<div class="block">Atomically checks if a row/family/qualifier value matches the expected val
- If it does, it performs the row mutations.</div>
+<div class="block">Atomically checks if a row/family/qualifier value matches the expected values and if it does,
+ it performs the row mutations.</div>
 </td>
 </tr>
 <tr class="altColor">
@@ -364,31 +364,39 @@ extends <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserv
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getReadpoint(org.apache.hadoop.hbase.client.IsolationLevel)">getReadpoint</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client">IsolationLevel</a>&nbsp;isolationLevel)</code>&nbsp;</td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getReadpoint(org.apache.hadoop.hbase.client.IsolationLevel)">getReadpoint</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client">IsolationLevel</a>&nbsp;isolationLevel)</code>
+<div class="block"><strong>Deprecated.</strong>&nbsp;
+<div class="block"><i>Since 1.2.0. Use <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getReadPoint(org.apache.hadoop.hbase.client.IsolationLevel)"><code>getReadPoint(IsolationLevel)</code></a> instead.</i></div>
+</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getReadRequestsCount()">getReadRequestsCount</a></strong>()</code>&nbsp;</td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getReadPoint(org.apache.hadoop.hbase.client.IsolationLevel)">getReadPoint</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client">IsolationLevel</a>&nbsp;isolationLevel)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getReadRequestsCount()">getReadRequestsCount</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getRegionInfo()">getRegionInfo</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getRowLock(byte[],%20boolean)">getRowLock</a></strong>(byte[]&nbsp;row,
                     boolean&nbsp;waitForLock)</code>
 <div class="block">Tries to acquire a lock on the given row.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getScanner(org.apache.hadoop.hbase.client.Scan)">getScanner</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan)</code>
 <div class="block">Return an iterator that scans over the HRegion, returning the indicated
  columns and rows specified by the <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client"><code>Scan</code></a>.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getScanner(org.apache.hadoop.hbase.client.Scan,%20java.util.List)">getScanner</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
                     <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/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;additionalScanners)</code>
@@ -396,31 +404,31 @@ extends <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserv
  specified by the <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client"><code>Scan</code></a>.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getStore(byte[])">getStore</a></strong>(byte[]&nbsp;family)</code>
 <div class="block">Return the Store for the given family</div>
 </td>
 </tr>
-<tr class="rowColor">
+<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/regionserver/Region.html#getStoreFileList(byte[][])">getStoreFileList</a></strong>(byte[][]&nbsp;columns)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <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="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getStores()">getStores</a></strong>()</code>
 <div class="block">Return the list of Stores managed by this region</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getTableDesc()">getTableDesc</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/regionserver/Region.html#getWriteRequestsCount()">getWriteRequestsCount</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#increment(org.apache.hadoop.hbase.client.Increment,%20long,%20long)">increment</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a>&nbsp;increment,
                   long&nbsp;nonceGroup,
@@ -428,37 +436,37 @@ extends <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserv
 <div class="block">Perform one or more increment operations on a row.</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/regionserver/Region.html#isAvailable()">isAvailable</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#isClosed()">isClosed</a></strong>()</code>&nbsp;</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/regionserver/Region.html#isClosing()">isClosing</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#isLoadingCfsOnDemandDefault()">isLoadingCfsOnDemandDefault</a></strong>()</code>&nbsp;</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/regionserver/Region.html#isReadOnly()">isReadOnly</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#isRecovering()">isRecovering</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/regionserver/Region.html#mutateRow(org.apache.hadoop.hbase.client.RowMutations)">mutateRow</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;mutations)</code>
 <div class="block">Performs multiple mutations atomically on a single row.</div>
 </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/regionserver/Region.html#mutateRowsWithLocks(java.util.Collection,%20java.util.Collection,%20long,%20long)">mutateRowsWithLocks</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;mutations,
                                       <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;byte[]&gt;&nbsp;rowsToLock,
@@ -467,13 +475,13 @@ extends <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserv
 <div class="block">Perform atomic mutations within the region.</div>
 </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/regionserver/Region.html#prepareDelete(org.apache.hadoop.hbase.client.Delete)">prepareDelete</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a>&nbsp;delete)</code>
 <div class="block">Prepare a delete for a row mutation processor</div>
 </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/regionserver/Region.html#prepareDeleteTimestamps(org.apache.hadoop.hbase.client.Mutation,%20java.util.Map,%20byte[])">prepareDeleteTimestamps</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
                                               <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;byte[],<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/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;familyCellMap,
@@ -481,13 +489,13 @@ extends <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserv
 <div class="block">Set up correct timestamps in the KVs in Delete object.</div>
 </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/regionserver/Region.html#processRowsWithLocks(org.apache.hadoop.hbase.regionserver.RowProcessor)">processRowsWithLocks</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="interface in org.apache.hadoop.hbase.regionserver">RowProcessor</a>&lt;?,?&gt;&nbsp;processor)</code>
 <div class="block">Performs atomic multiple reads and writes on a given row.</div>
 </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/regionserver/Region.html#processRowsWithLocks(org.apache.hadoop.hbase.regionserver.RowProcessor,%20long,%20long)">processRowsWithLocks</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="interface in org.apache.hadoop.hbase.regionserver">RowProcessor</a>&lt;?,?&gt;&nbsp;processor,
                                         long&nbsp;nonceGroup,
@@ -495,7 +503,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserv
 <div class="block">Performs atomic multiple reads and writes on a given row.</div>
 </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/regionserver/Region.html#processRowsWithLocks(org.apache.hadoop.hbase.regionserver.RowProcessor,%20long,%20long,%20long)">processRowsWithLocks</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="interface in org.apache.hadoop.hbase.regionserver">RowProcessor</a>&lt;?,?&gt;&nbsp;processor,
                                         long&nbsp;timeout,
@@ -504,13 +512,13 @@ extends <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserv
 <div class="block">Performs atomic multiple reads and writes on a given row.</div>
 </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/regionserver/Region.html#put(org.apache.hadoop.hbase.client.Put)">put</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put)</code>
 <div class="block">Puts some data in the table.</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/regionserver/Region.html#refreshStoreFiles()">refreshStoreFiles</a></strong>()</code>
 <div class="block">Check the region's underlying store files, open the files that have not
@@ -518,7 +526,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserv
  longer available.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#registerService(com.google.protobuf.Service)">registerService</a></strong>(com.google.protobuf.Service&nbsp;instance)</code>
 <div class="block">Registers a new protocol buffer <code>Service</code> subclass as a coprocessor endpoint to
@@ -527,33 +535,33 @@ extends <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserv
     org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceCall)</code></a>} calls.</div>
 </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/regionserver/Region.html#releaseRowLocks(java.util.List)">releaseRowLocks</a></strong>(<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/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a>&gt;&nbsp;rowLocks)</code>
 <div class="block">If the given list of row locks is not null, releases all locks.</div>
 </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/regionserver/Region.html#startRegionOperation()">startRegionOperation</a></strong>()</code>
 <div class="block">This method needs to be called before any public call that reads or
  modifies data.</div>
 </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/regionserver/Region.html#startRegionOperation(org.apache.hadoop.hbase.regionserver.Region.Operation)">startRegionOperation</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a>&nbsp;op)</code>
 <div class="block">This method needs to be called before any public call that reads or
  modifies data.</div>
 </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/regionserver/Region.html#triggerMajorCompaction()">triggerMajorCompaction</a></strong>()</code>
 <div class="block">Trigger major compaction on all stores in the region.</div>
 </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/regionserver/Region.html#updateCellTimestamps(java.lang.Iterable,%20byte[])">updateCellTimestamps</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<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/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;values,
                                         byte[]&nbsp;now)</code>
@@ -561,19 +569,19 @@ extends <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserv
  provided current timestamp.</div>
 </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/regionserver/Region.html#updateReadRequestsCount(long)">updateReadRequestsCount</a></strong>(long&nbsp;i)</code>
 <div class="block">Update the read request count for this region</div>
 </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/regionserver/Region.html#updateWriteRequestsCount(long)">updateWriteRequestsCount</a></strong>(long&nbsp;i)</code>
 <div class="block">Update the write request count for this region</div>
 </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/regionserver/Region.html#waitForFlushesAndCompactions()">waitForFlushesAndCompactions</a></strong>()</code>
 <div class="block">Wait for all current flushes and compactions of the region to complete</div>
@@ -792,13 +800,25 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <dl><dt><span class="strong">Returns:</span></dt><dd>true if loading column families on demand by default</dd></dl>
 </li>
 </ul>
+<a name="getReadPoint(org.apache.hadoop.hbase.client.IsolationLevel)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getReadPoint</h4>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.160">getReadPoint</a>(<a href="../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client">IsolationLevel</a>&nbsp;isolationLevel)</pre>
+<dl><dt><span class="strong">Returns:</span></dt><dd>readpoint considering given IsolationLevel</dd></dl>
+</li>
+</ul>
 <a name="getReadpoint(org.apache.hadoop.hbase.client.IsolationLevel)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>getReadpoint</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.160">getReadpoint</a>(<a href="../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client">IsolationLevel</a>&nbsp;isolationLevel)</pre>
+<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
+long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.167">getReadpoint</a>(<a href="../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client">IsolationLevel</a>&nbsp;isolationLevel)</pre>
+<div class="block"><span class="strong">Deprecated.</span>&nbsp;<i>Since 1.2.0. Use <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getReadPoint(org.apache.hadoop.hbase.client.IsolationLevel)"><code>getReadPoint(IsolationLevel)</code></a> instead.</i></div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>readpoint considering given IsolationLevel</dd></dl>
 </li>
 </ul>
@@ -808,7 +828,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>getEarliestFlushTimeForAllStores</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.167">getEarliestFlushTimeForAllStores</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.174">getEarliestFlushTimeForAllStores</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>The earliest time a store in the region was flushed. All
          other stores in the region would have been flushed either at, or
          after this time.</dd></dl>
@@ -820,7 +840,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>getReadRequestsCount</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.173">getReadRequestsCount</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.180">getReadRequestsCount</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>read requests count for this region</dd></dl>
 </li>
 </ul>
@@ -830,7 +850,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>updateReadRequestsCount</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.179">updateReadRequestsCount</a>(long&nbsp;i)</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.186">updateReadRequestsCount</a>(long&nbsp;i)</pre>
 <div class="block">Update the read request count for this region</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>i</code> - increment</dd></dl>
 </li>
@@ -841,7 +861,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>getWriteRequestsCount</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.182">getWriteRequestsCount</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.189">getWriteRequestsCount</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>write request count for this region</dd></dl>
 </li>
 </ul>
@@ -851,7 +871,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>updateWriteRequestsCount</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.188">updateWriteRequestsCount</a>(long&nbsp;i)</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.195">updateWriteRequestsCount</a>(long&nbsp;i)</pre>
 <div class="block">Update the write request count for this region</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>i</code> - increment</dd></dl>
 </li>
@@ -862,7 +882,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>getMemstoreSize</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.191">getMemstoreSize</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.198">getMemstoreSize</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>memstore size for this region, in bytes</dd></dl>
 </li>
 </ul>
@@ -872,7 +892,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>getNumMutationsWithoutWAL</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.194">getNumMutationsWithoutWAL</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.201">getNumMutationsWithoutWAL</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the number of mutations processed bypassing the WAL</dd></dl>
 </li>
 </ul>
@@ -882,7 +902,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>getDataInMemoryWithoutWAL</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.197">getDataInMemoryWithoutWAL</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.204">getDataInMemoryWithoutWAL</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the size of data processed bypassing the WAL, in bytes</dd></dl>
 </li>
 </ul>
@@ -892,7 +912,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>getBlockedRequestsCount</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.200">getBlockedRequestsCount</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.207">getBlockedRequestsCount</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the number of blocked requests</dd></dl>
 </li>
 </ul>
@@ -902,7 +922,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>getCheckAndMutateChecksPassed</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.203">getCheckAndMutateChecksPassed</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.210">getCheckAndMutateChecksPassed</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the number of checkAndMutate guards that passed</dd></dl>
 </li>
 </ul>
@@ -912,7 +932,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>getCheckAndMutateChecksFailed</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.206">getCheckAndMutateChecksFailed</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.213">getCheckAndMutateChecksFailed</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the number of failed checkAndMutate guards</dd></dl>
 </li>
 </ul>
@@ -922,7 +942,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>getMetrics</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegion.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegion</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.209">getMetrics</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegion.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegion</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.216">getMetrics</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the MetricsRegion for this region</dd></dl>
 </li>
 </ul>
@@ -932,7 +952,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>getHDFSBlocksDistribution</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/HDFSBlocksDistribution.html" title="class in org.apache.hadoop.hbase">HDFSBlocksDistribution</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.212">getHDFSBlocksDistribution</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/HDFSBlocksDistribution.html" title="class in org.apache.hadoop.hbase">HDFSBlocksDistribution</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.219">getHDFSBlocksDistribution</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the block distribution for all Stores managed by this region</dd></dl>
 </li>
 </ul>
@@ -942,7 +962,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>startRegionOperation</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.236">startRegionOperation</a>()
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.243">startRegionOperation</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">This method needs to be called before any public call that reads or
  modifies data.
@@ -959,7 +979,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>startRegionOperation</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.247">startRegionOperation</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a>&nbsp;op)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.254">startRegionOperation</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a>&nbsp;op)
                           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 method needs to be called before any public call that reads or
  modifies data.
@@ -977,7 +997,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>closeRegionOperation</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.253">closeRegionOperation</a>()
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.260">closeRegionOperation</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">Closes the region operation lock.</div>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -990,7 +1010,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>getRowLock</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.281">getRowLock</a>(byte[]&nbsp;row,
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.288">getRowLock</a>(byte[]&nbsp;row,
                         boolean&nbsp;waitForLock)
                           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">Tries to acquire a lock on the given row.</div>
@@ -1009,7 +1029,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>releaseRowLocks</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.286">releaseRowLocks</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/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a>&gt;&nbsp;rowLocks)</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.293">releaseRowLocks</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/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a>&gt;&nbsp;rowLocks)</pre>
 <div class="block">If the given list of row locks is not null, releases all locks.</div>
 </li>
 </ul>
@@ -1019,7 +1039,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>append</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.299">append</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Append.html" title="class in org.apache.hadoop.hbase.client">Append</a>&nbsp;append,
+<pre><a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.306">append</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Append.html" title="class in org.apache.hadoop.hbase.client">Append</a>&nbsp;append,
             long&nbsp;nonceGroup,
             long&nbsp;nonce)
               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>
@@ -1036,7 +1056,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>batchMutate</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.312">batchMutate</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>[]&nbsp;mutations,
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.319">batchMutate</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>[]&nbsp;mutations,
                             long&nbsp;nonceGroup,
                             long&nbsp;nonce)
                               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>
@@ -1056,7 +1076,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>batchReplay</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.323">batchReplay</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALSplitter.MutationReplay.html" title="class in org.apache.hadoop.hbase.wal">WALSplitter.MutationReplay</a>[]&nbsp;mutations,
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.330">batchReplay</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALSplitter.MutationReplay.html" title="class in org.apache.hadoop.hbase.wal">WALSplitter.MutationReplay</a>[]&nbsp;mutations,
                             long&nbsp;replaySeqId)
                               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">Replay a batch of mutations.</div>
@@ -1073,7 +1093,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>checkAndMutate</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.339">checkAndMutate</a>(byte[]&nbsp;row,
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.347">checkAndMutate</a>(byte[]&nbsp;row,
                      byte[]&nbsp;family,
                      byte[]&nbsp;qualifier,
                      <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
@@ -1081,9 +1101,10 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
                      <a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
                      boolean&nbsp;writeToWAL)
                        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">Atomically checks if a row/family/qualifier value matches the expected val
- If it does, it performs the row mutations.  If the passed value is null, t
- is for the lack of column (ie: non-existence)</div>
+<div class="block">Atomically checks if a row/family/qualifier value matches the expected value and if it does,
+ it performs the mutation. If the passed value is null, the lack of column value
+ (ie: non-existence) is used. See checkAndRowMutate to do many checkAndPuts at a time on a
+ single row.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>row</code> - to check</dd><dd><code>family</code> - column family to check</dd><dd><code>qualifier</code> - column qualifier to check</dd><dd><code>compareOp</code> - the comparison operator</dd><dd><code>comparator</code> - </dd><dd><code>mutation</code> - </dd><dd><code>writeToWAL</code> - </dd>
 <dt><span class="strong">Returns:</span></dt><dd>true if mutation was applied, false otherwise</dd>
 <dt><span class="strong">Throws:</span></dt>
@@ -1096,7 +1117,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>checkAndRowMutate</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.356">checkAndRowMutate</a>(byte[]&nbsp;row,
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.365">checkAndRowMutate</a>(byte[]&nbsp;row,
                         byte[]&nbsp;family,
                         byte[]&nbsp;qualifier,
                         <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
@@ -1104,11 +1125,12 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
                         <a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;mutations,
                         boolean&nbsp;writeToWAL)
                           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">Atomically checks if a row/family/qualifier value matches the expected val
- If it does, it performs the row mutations.  If the passed value is null, t
- is for the lack of column (ie: non-existence)</div>
+<div class="block">Atomically checks if a row/family/qualifier value matches the expected values and if it does,
+ it performs the row mutations. If the passed value is null, the lack of column value
+ (ie: non-existence) is used. Use to do many mutations on a single row. Use checkAndMutate
+ to do one checkAndMutate at a time.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>row</code> - to check</dd><dd><code>family</code> - column family to check</dd><dd><code>qualifier</code> - column qualifier to check</dd><dd><code>compareOp</code> - the comparison operator</dd><dd><code>comparator</code> - </dd><dd><code>mutations</code> - </dd><dd><code>writeToWAL</code> - </dd>
-<dt><span class="strong">Returns:</span></dt><dd>true if mutation was applied, false otherwise</dd>
+<dt><span class="strong">Returns:</span></dt><dd>true if mutations were applied, false otherwise</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>
@@ -1119,7 +1141,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>delete</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.365">delete</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a>&nbsp;delete)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.374">delete</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a>&nbsp;delete)
             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">Deletes the specified cells/row.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>delete</code> - </dd>
@@ -1133,7 +1155,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>get</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.372">get</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get)
+<pre><a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.381">get</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get)
            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">Do a get based on the get parameter.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>get</code> - query parameters</dd>
@@ -1148,7 +1170,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>get</h4>
-<pre><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/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.381">get</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get,
+<pre><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/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.390">get</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get,
              boolean&nbsp;withCoprocessor)
                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">Do a get based on the get parameter.</div>
@@ -1165,7 +1187,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>getScanner</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.393">getScanner</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan)
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.402">getScanner</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan)
                          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">Return an iterator that scans over the HRegion, returning the indicated
  columns and rows specified by the <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client"><code>Scan</code></a>.
@@ -1183,7 +1205,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>getScanner</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.408">getScanner</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.417">getScanner</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
                        <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/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;additionalScanners)
                          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">Return an iterator that scans over the HRegion, returning the indicated columns and rows
@@ -1204,7 +1226,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>getCellCompartor</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/CellComparator.html" title="class in org.apache.hadoop.hbase">CellComparator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.411">getCellCompartor</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/CellComparator.html" title="class in org.apache.hadoop.hbase">CellComparator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.420">getCellCompartor</a>()</pre>
 <div class="block">The comparator to be used with the region</div>
 </li>
 </ul>
@@ -1214,7 +1236,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>increment</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.421">increment</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a>&nbsp;increment,
+<pre><a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.430">increment</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a>&nbsp;increment,
                long&nbsp;nonceGroup,
                long&nbsp;nonce)
                  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>
@@ -1231,7 +1253,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>mutateRow</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.430">mutateRow</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;mutations)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.439">mutateRow</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;mutations)
                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">Performs multiple mutations atomically on a single row. Currently
  <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Put</code></a> and <a href="../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client"><code>Delete</code></a> are supported.</div>
@@ -1246,7 +1268,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>mutateRowsWithLocks</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.445">mutateRowsWithLocks</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;mutations,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.454">mutateRowsWithLocks</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;mutations,
                        <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;byte[]&gt;&nbsp;rowsToLock,
                        long&nbsp;nonceGroup,
                        long&nbsp;nonce)
@@ -1267,7 +1289,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>processRowsWithLocks</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.453">processRowsWithLocks</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="interface in org.apache.hadoop.hbase.regionserver">RowProcessor</a>&lt;?,?&gt;&nbsp;processor)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.462">processRowsWithLocks</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="interface in org.apache.hadoop.hbase.regionserver">RowProcessor</a>&lt;?,?&gt;&nbsp;processor)
                           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">Performs atomic multiple reads and writes on a given row.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>processor</code> - The object defines the reads and writes to a row.</dd>
@@ -1281,7 +1303,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>processRowsWithLocks</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.462">processRowsWithLocks</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="interface in org.apache.hadoop.hbase.regionserver">RowProcessor</a>&lt;?,?&gt;&nbsp;processor,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.471">processRowsWithLocks</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="interface in org.apache.hadoop.hbase.regionserver">RowProcessor</a>&lt;?,?&gt;&nbsp;processor,
                         long&nbsp;nonceGroup,
                         long&nbsp;nonce)
                           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>
@@ -1297,7 +1319,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>processRowsWithLocks</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.474">processRowsWithLocks</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="interface in org.apache.hadoop.hbase.regionserver">RowProcessor</a>&lt;?,?&gt;&nbsp;processor,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.483">processRowsWithLocks</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="interface in org.apache.hadoop.hbase.regionserver">RowProcessor</a>&lt;?,?&gt;&nbsp;processor,
                         long&nbsp;timeout,
                         long&nbsp;nonceGroup,
                         long&nbsp;nonce)
@@ -1315,7 +1337,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>put</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.482">put</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.491">put</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put)
          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">Puts some data in the table.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>put</code> - </dd>
@@ -1329,7 +1351,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>bulkLoadHFiles</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.528">bulkLoadHFiles</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;byte[],<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;&gt;&nbsp;familyPaths,
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.537">bulkLoadHFiles</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;byte[],<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;&gt;&nbsp;familyPaths,
                      boolean&nbsp;assignSeqId,
                      <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.BulkLoadListener.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.BulkLoadListener</a>&nbsp;bulkLoadListener)
                        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>
@@ -1348,7 +1370,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>getCoprocessorHost</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver">RegionCoprocessorHost</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.535">getCoprocessorHost</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver">RegionCoprocessorHost</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.544">getCoprocessorHost</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the coprocessor host</dd></dl>
 </li>
 </ul>
@@ -1358,7 +1380,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>execService</h4>
-<pre>com.google.protobuf.Message&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.551">execService</a>(com.google.protobuf.RpcController&nbsp;controller,
+<pre>com.google.protobuf.Message&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.560">execService</a>(com.google.protobuf.RpcController&nbsp;controller,
                                       org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceCall&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">Executes a single protocol buffer coprocessor endpoint <code>Service</code> method using
@@ -1379,7 +1401,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>registerService</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.569">registerService</a>(com.google.protobuf.Service&nbsp;instance)</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.578">registerService</a>(com.google.protobuf.Service&nbsp;instance)</pre>
 <div class="block">Registers a new protocol buffer <code>Service</code> subclass as a coprocessor endpoint to
  be available for handling
  <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#execService(com.google.protobuf.RpcController,%20org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceCall)"><code>execService(com.google.protobuf.RpcController,
@@ -1402,7 +1424,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>checkFamilies</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.579">checkFamilies</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;byte[]&gt;&nbsp;families)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.588">checkFamilies</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;byte[]&gt;&nbsp;families)
                    throws <a href="../../../../../org/apache/hadoop/hbase/regionserver/NoSuchColumnFamilyException.html" title="class in org.apache.hadoop.hbase.regionserver">NoSuchColumnFamilyException</a></pre>
 <div class="block">Check the collection of families for validity.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>families</code> - </dd>
@@ -1416,7 +1438,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>checkTimestamps</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.587">checkTimestamps</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;byte[],<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/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;familyMap,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.596">checkTimestamps</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;byte[],<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/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;familyMap,
                    long&nbsp;now)
                      throws <a href="../../../../../org/apache/hadoop/hbase/exceptions/FailedSanityCheckException.html" title="class in org.apache.hadoop.hbase.exceptions">FailedSanityCheckException</a></pre>
 <div class="block">Check the collection of families for valid timestamps</div>
@@ -1431,7 +1453,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>prepareDelete</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.595">prepareDelete</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a>&nbsp;delete)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.604">prepareDelete</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a>&nbsp;delete)
                    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">Prepare a delete for a row mutation processor</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>delete</code> - The passed delete is modified by this method. WARNING!</dd>
@@ -1445,7 +1467,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>prepareDeleteTimestamps</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.605">prepareDeleteTimestamps</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.614">prepareDeleteTimestamps</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
                            <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;byte[],<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/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;familyCellMap,
                            byte[]&nbsp;now)
                              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>
@@ -1462,7 +1484,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>updateCellTimestamps</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.614">updateCellTimestamps</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<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/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;values,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.623">updateCellTimestamps</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<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/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;values,
                         byte[]&nbsp;now)
                           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">Replace any cell timestamps set to <a href="../../../../../org/apache/hadoop/hbase/HConstants.html#LATEST_TIMESTAMP"><code>HConstants.LATEST_TIMESTAMP</code></a>
@@ -1478,7 +1500,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>flush</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.FlushResult</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.661">flush</a>(boolean&nbsp;force)
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.FlushResult</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.670">flush</a>(boolean&nbsp;force)
                          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">Flush the cache.
 
@@ -1506,7 +1528,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>compact</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.676">compact</a>(boolean&nbsp;majorCompaction)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.685">compact</a>(boolean&nbsp;majorCompaction)
              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">Synchronously compact all stores in the region.
  <p>This operation could block for a long time, so don't call it from a
@@ -1527,7 +1549,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>triggerMajorCompaction</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.685">triggerMajorCompaction</a>()
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.694">triggerMajorCompaction</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">Trigger major compaction on all stores in the region.
  <p>
@@ -1543,7 +1565,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>getCompactionState</h4>
-<pre>org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.690">getCompactionState</a>()</pre>
+<pre>org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.699">getCompactionState</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>if a given region is in compaction now.</dd></dl>
 </li>
 </ul>
@@ -1553,7 +1575,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockListLast">
 <li class="blockList">
 <h4>waitForFlushesAndCompactions</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.693">waitForFlushesAndCompactions</a>()</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.702">waitForFlushesAndCompactions</a>()</pre>
 <div class="block">Wait for all current flushes and compactions of the region to complete</div>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/regionserver/ReversedKeyValueHeap.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/ReversedKeyValueHeap.html b/devapidocs/org/apache/hadoop/hbase/regionserver/ReversedKeyValueHeap.html
index 59fd0a3..56ce50c 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/ReversedKeyValueHeap.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/ReversedKeyValueHeap.html
@@ -170,6 +170,13 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueHea
 <h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueHeap.html" title="class in org.apache.hadoop.hbase.regionserver">KeyValueHeap</a></h3>
 <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueHeap.html#comparator">comparator</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueHeap.html#current">current</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueHeap.html#heap">heap</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueHeap.html#scannersForDelayedClose">scannersForDelayedClose</a></code></li>
 </ul>
+<ul class="blockList">
+<li class="blockList"><a name="fields_inherited_from_class_org.apache.hadoop.hbase.regionserver.KeyValueScanner">
+<!--   -->
+</a>
+<h3>Fields inherited from interface&nbsp;org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a></h3>
+<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#NO_NEXT_INDEXED_KEY">NO_NEXT_INDEXED_KEY</a></code></li>
+</ul>
 </li>
 </ul>
 <!-- ======== CONSTRUCTOR SUMMARY ======== -->

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/regionserver/ReversedMobStoreScanner.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/ReversedMobStoreScanner.html b/devapidocs/org/apache/hadoop/hbase/regionserver/ReversedMobStoreScanner.html
index 0be381a..88be024 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/ReversedMobStoreScanner.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/ReversedMobStoreScanner.html
@@ -181,6 +181,13 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/ReversedSto
 <h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html" title="class in org.apache.hadoop.hbase.regionserver">StoreScanner</a></h3>
 <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#cacheBlocks">cacheBlocks</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#cellsPerHeartbeatCheck">cellsPerHeartbeatCheck</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#closing">closing</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#columns">columns</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#countPerRow">countPerRow</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#currentScanners">currentScanners</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#DEFAULT_HBASE_CELLS_SCANNED_PER_HEARTBEAT_CHECK">DEFAULT_HBASE_CELLS_SCANNED_PER_HEARTBEAT_CHECK</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#executor">executor</a>, <a href="../../../../../org/apache/hado
 op/hbase/regionserver/StoreScanner.html#explicitColumnQuery">explicitColumnQuery</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#flushed">flushed</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#flushedStoreFiles">flushedStoreFiles</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#get">get</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#HBASE_CELLS_SCANNED_PER_HEARTBEAT_CHECK">HBASE_CELLS_SCANNED_PER_HEARTBEAT_CHECK</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#heap">heap</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#heapsForDelayedClose">heapsForDelayedClose</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#lastTop">lastTop</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#LAZY_SEEK_ENABLED_BY_DEFAULT"
 >LAZY_SEEK_ENABLED_BY_DEFAULT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#lazySeekEnabledGlobally">lazySeekEnabledGlobally</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#matcher">matcher</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#maxRowSize">maxRowSize</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#minVersions">minVersions</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#now">now</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#oldestUnexpiredTS">oldestUnexpiredTS</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#parallelSeekEnabled">parallelSeekEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#readPt">readPt</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.
 html#scan">scan</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#store">store</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#storeLimit">storeLimit</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#storeOffset">storeOffset</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#STORESCANNER_PARALLEL_SEEK_ENABLE">STORESCANNER_PARALLEL_SEEK_ENABLE</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#useRowColBloom">useRowColBloom</a></code></li>
 </ul>
+<ul class="blockList">
+<li class="blockList"><a name="fields_inherited_from_class_org.apache.hadoop.hbase.regionserver.KeyValueScanner">
+<!--   -->
+</a>
+<h3>Fields inherited from interface&nbsp;org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a></h3>
+<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#NO_NEXT_INDEXED_KEY">NO_NEXT_INDEXED_KEY</a></code></li>
+</ul>
 </li>
 </ul>
 <!-- ======== CONSTRUCTOR SUMMARY ======== -->


[45/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/apidocs/src-html/org/apache/hadoop/hbase/client/Scan.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/client/Scan.html b/apidocs/src-html/org/apache/hadoop/hbase/client/Scan.html
index cbdb963..b8b76ba 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/client/Scan.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/client/Scan.html
@@ -235,763 +235,765 @@
 <span class="sourceLineNo">227</span>    filter = scan.getFilter(); // clone?<a name="line.227"></a>
 <span class="sourceLineNo">228</span>    loadColumnFamiliesOnDemand = scan.getLoadColumnFamiliesOnDemandValue();<a name="line.228"></a>
 <span class="sourceLineNo">229</span>    consistency = scan.getConsistency();<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    reversed = scan.isReversed();<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    asyncPrefetch = scan.isAsyncPrefetch();<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    small = scan.isSmall();<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    allowPartialResults = scan.getAllowPartialResults();<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    TimeRange ctr = scan.getTimeRange();<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    tr = new TimeRange(ctr.getMin(), ctr.getMax());<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    Map&lt;byte[], NavigableSet&lt;byte[]&gt;&gt; fams = scan.getFamilyMap();<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    for (Map.Entry&lt;byte[],NavigableSet&lt;byte[]&gt;&gt; entry : fams.entrySet()) {<a name="line.237"></a>
-<span class="sourceLineNo">238</span>      byte [] fam = entry.getKey();<a name="line.238"></a>
-<span class="sourceLineNo">239</span>      NavigableSet&lt;byte[]&gt; cols = entry.getValue();<a name="line.239"></a>
-<span class="sourceLineNo">240</span>      if (cols != null &amp;&amp; cols.size() &gt; 0) {<a name="line.240"></a>
-<span class="sourceLineNo">241</span>        for (byte[] col : cols) {<a name="line.241"></a>
-<span class="sourceLineNo">242</span>          addColumn(fam, col);<a name="line.242"></a>
-<span class="sourceLineNo">243</span>        }<a name="line.243"></a>
-<span class="sourceLineNo">244</span>      } else {<a name="line.244"></a>
-<span class="sourceLineNo">245</span>        addFamily(fam);<a name="line.245"></a>
-<span class="sourceLineNo">246</span>      }<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    }<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    for (Map.Entry&lt;String, byte[]&gt; attr : scan.getAttributesMap().entrySet()) {<a name="line.248"></a>
-<span class="sourceLineNo">249</span>      setAttribute(attr.getKey(), attr.getValue());<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    }<a name="line.250"></a>
-<span class="sourceLineNo">251</span>    for (Map.Entry&lt;byte[], TimeRange&gt; entry : scan.getColumnFamilyTimeRange().entrySet()) {<a name="line.251"></a>
-<span class="sourceLineNo">252</span>      TimeRange tr = entry.getValue();<a name="line.252"></a>
-<span class="sourceLineNo">253</span>      setColumnFamilyTimeRange(entry.getKey(), tr.getMin(), tr.getMax());<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    }<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  }<a name="line.255"></a>
-<span class="sourceLineNo">256</span><a name="line.256"></a>
-<span class="sourceLineNo">257</span>  /**<a name="line.257"></a>
-<span class="sourceLineNo">258</span>   * Builds a scan object with the same specs as get.<a name="line.258"></a>
-<span class="sourceLineNo">259</span>   * @param get get to model scan after<a name="line.259"></a>
-<span class="sourceLineNo">260</span>   */<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  public Scan(Get get) {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    this.startRow = get.getRow();<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    this.stopRow = get.getRow();<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    this.filter = get.getFilter();<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    this.cacheBlocks = get.getCacheBlocks();<a name="line.265"></a>
-<span class="sourceLineNo">266</span>    this.maxVersions = get.getMaxVersions();<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    this.storeLimit = get.getMaxResultsPerColumnFamily();<a name="line.267"></a>
-<span class="sourceLineNo">268</span>    this.storeOffset = get.getRowOffsetPerColumnFamily();<a name="line.268"></a>
-<span class="sourceLineNo">269</span>    this.tr = get.getTimeRange();<a name="line.269"></a>
-<span class="sourceLineNo">270</span>    this.familyMap = get.getFamilyMap();<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    this.getScan = true;<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    this.asyncPrefetch = false;<a name="line.272"></a>
-<span class="sourceLineNo">273</span>    this.consistency = get.getConsistency();<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    for (Map.Entry&lt;String, byte[]&gt; attr : get.getAttributesMap().entrySet()) {<a name="line.274"></a>
-<span class="sourceLineNo">275</span>      setAttribute(attr.getKey(), attr.getValue());<a name="line.275"></a>
-<span class="sourceLineNo">276</span>    }<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    for (Map.Entry&lt;byte[], TimeRange&gt; entry : get.getColumnFamilyTimeRange().entrySet()) {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      TimeRange tr = entry.getValue();<a name="line.278"></a>
-<span class="sourceLineNo">279</span>      setColumnFamilyTimeRange(entry.getKey(), tr.getMin(), tr.getMax());<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><a name="line.282"></a>
-<span class="sourceLineNo">283</span>  public boolean isGetScan() {<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    return this.getScan || isStartRowAndEqualsStopRow();<a name="line.284"></a>
-<span class="sourceLineNo">285</span>  }<a name="line.285"></a>
-<span class="sourceLineNo">286</span><a name="line.286"></a>
-<span class="sourceLineNo">287</span>  private boolean isStartRowAndEqualsStopRow() {<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    return this.startRow != null &amp;&amp; this.startRow.length &gt; 0 &amp;&amp;<a name="line.288"></a>
-<span class="sourceLineNo">289</span>        Bytes.equals(this.startRow, this.stopRow);<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>   * Get all columns from the specified family.<a name="line.292"></a>
-<span class="sourceLineNo">293</span>   * &lt;p&gt;<a name="line.293"></a>
-<span class="sourceLineNo">294</span>   * Overrides previous calls to addColumn for this family.<a name="line.294"></a>
-<span class="sourceLineNo">295</span>   * @param family family name<a name="line.295"></a>
-<span class="sourceLineNo">296</span>   * @return this<a name="line.296"></a>
-<span class="sourceLineNo">297</span>   */<a name="line.297"></a>
-<span class="sourceLineNo">298</span>  public Scan addFamily(byte [] family) {<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    familyMap.remove(family);<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    familyMap.put(family, null);<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    return this;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  }<a name="line.302"></a>
-<span class="sourceLineNo">303</span><a name="line.303"></a>
-<span class="sourceLineNo">304</span>  /**<a name="line.304"></a>
-<span class="sourceLineNo">305</span>   * Get the column from the specified family with the specified qualifier.<a name="line.305"></a>
-<span class="sourceLineNo">306</span>   * &lt;p&gt;<a name="line.306"></a>
-<span class="sourceLineNo">307</span>   * Overrides previous calls to addFamily for this family.<a name="line.307"></a>
-<span class="sourceLineNo">308</span>   * @param family family name<a name="line.308"></a>
-<span class="sourceLineNo">309</span>   * @param qualifier column qualifier<a name="line.309"></a>
-<span class="sourceLineNo">310</span>   * @return this<a name="line.310"></a>
-<span class="sourceLineNo">311</span>   */<a name="line.311"></a>
-<span class="sourceLineNo">312</span>  public Scan addColumn(byte [] family, byte [] qualifier) {<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    NavigableSet&lt;byte []&gt; set = familyMap.get(family);<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    if(set == null) {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>      set = new TreeSet&lt;byte []&gt;(Bytes.BYTES_COMPARATOR);<a name="line.315"></a>
-<span class="sourceLineNo">316</span>    }<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    if (qualifier == null) {<a name="line.317"></a>
-<span class="sourceLineNo">318</span>      qualifier = HConstants.EMPTY_BYTE_ARRAY;<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    }<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    set.add(qualifier);<a name="line.320"></a>
-<span class="sourceLineNo">321</span>    familyMap.put(family, set);<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    return this;<a name="line.322"></a>
-<span class="sourceLineNo">323</span>  }<a name="line.323"></a>
-<span class="sourceLineNo">324</span><a name="line.324"></a>
-<span class="sourceLineNo">325</span>  /**<a name="line.325"></a>
-<span class="sourceLineNo">326</span>   * Get versions of columns only within the specified timestamp range,<a name="line.326"></a>
-<span class="sourceLineNo">327</span>   * [minStamp, maxStamp).  Note, default maximum versions to return is 1.  If<a name="line.327"></a>
-<span class="sourceLineNo">328</span>   * your time range spans more than one version and you want all versions<a name="line.328"></a>
-<span class="sourceLineNo">329</span>   * returned, up the number of versions beyond the default.<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   * @param minStamp minimum timestamp value, inclusive<a name="line.330"></a>
-<span class="sourceLineNo">331</span>   * @param maxStamp maximum timestamp value, exclusive<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   * @see #setMaxVersions()<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   * @see #setMaxVersions(int)<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   * @return this<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   */<a name="line.335"></a>
-<span class="sourceLineNo">336</span>  public Scan setTimeRange(long minStamp, long maxStamp) throws IOException {<a name="line.336"></a>
-<span class="sourceLineNo">337</span>    tr = new TimeRange(minStamp, maxStamp);<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    return this;<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>   * Get versions of columns with the specified timestamp. Note, default maximum<a name="line.342"></a>
-<span class="sourceLineNo">343</span>   * versions to return is 1.  If your time range spans more than one version<a name="line.343"></a>
-<span class="sourceLineNo">344</span>   * and you want all versions returned, up the number of versions beyond the<a name="line.344"></a>
-<span class="sourceLineNo">345</span>   * defaut.<a name="line.345"></a>
-<span class="sourceLineNo">346</span>   * @param timestamp version timestamp<a name="line.346"></a>
-<span class="sourceLineNo">347</span>   * @see #setMaxVersions()<a name="line.347"></a>
-<span class="sourceLineNo">348</span>   * @see #setMaxVersions(int)<a name="line.348"></a>
-<span class="sourceLineNo">349</span>   * @return this<a name="line.349"></a>
-<span class="sourceLineNo">350</span>   */<a name="line.350"></a>
-<span class="sourceLineNo">351</span>  public Scan setTimeStamp(long timestamp)<a name="line.351"></a>
-<span class="sourceLineNo">352</span>  throws IOException {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    try {<a name="line.353"></a>
-<span class="sourceLineNo">354</span>      tr = new TimeRange(timestamp, timestamp+1);<a name="line.354"></a>
-<span class="sourceLineNo">355</span>    } catch(Exception e) {<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      // This should never happen, unless integer overflow or something extremely wrong...<a name="line.356"></a>
-<span class="sourceLineNo">357</span>      LOG.error("TimeRange failed, likely caused by integer overflow. ", e);<a name="line.357"></a>
-<span class="sourceLineNo">358</span>      throw e;<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    }<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    return this;<a name="line.360"></a>
-<span class="sourceLineNo">361</span>  }<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>  @Override public Scan setColumnFamilyTimeRange(byte[] cf, long minStamp, long maxStamp) {<a name="line.363"></a>
-<span class="sourceLineNo">364</span>    return (Scan) super.setColumnFamilyTimeRange(cf, minStamp, maxStamp);<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>
-<span class="sourceLineNo">368</span>   * Set the start row of the scan.<a name="line.368"></a>
-<span class="sourceLineNo">369</span>   * &lt;p&gt;<a name="line.369"></a>
-<span class="sourceLineNo">370</span>   * If the specified row does not exist, the Scanner will start from the<a name="line.370"></a>
-<span class="sourceLineNo">371</span>   * next closest row after the specified row.<a name="line.371"></a>
-<span class="sourceLineNo">372</span>   * @param startRow row to start scanner at or after<a name="line.372"></a>
-<span class="sourceLineNo">373</span>   * @return this<a name="line.373"></a>
-<span class="sourceLineNo">374</span>   */<a name="line.374"></a>
-<span class="sourceLineNo">375</span>  public Scan setStartRow(byte [] startRow) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>    this.startRow = startRow;<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    return this;<a name="line.377"></a>
-<span class="sourceLineNo">378</span>  }<a name="line.378"></a>
-<span class="sourceLineNo">379</span><a name="line.379"></a>
-<span class="sourceLineNo">380</span>  /**<a name="line.380"></a>
-<span class="sourceLineNo">381</span>   * Set the stop row of the scan.<a name="line.381"></a>
-<span class="sourceLineNo">382</span>   * @param stopRow row to end at (exclusive)<a name="line.382"></a>
-<span class="sourceLineNo">383</span>   * &lt;p&gt;<a name="line.383"></a>
-<span class="sourceLineNo">384</span>   * The scan will include rows that are lexicographically less than<a name="line.384"></a>
-<span class="sourceLineNo">385</span>   * the provided stopRow.<a name="line.385"></a>
-<span class="sourceLineNo">386</span>   * &lt;p&gt;&lt;b&gt;Note:&lt;/b&gt; When doing a filter for a rowKey &lt;u&gt;Prefix&lt;/u&gt;<a name="line.386"></a>
-<span class="sourceLineNo">387</span>   * use {@link #setRowPrefixFilter(byte[])}.<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * The 'trailing 0' will not yield the desired result.&lt;/p&gt;<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   * @return this<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   */<a name="line.390"></a>
-<span class="sourceLineNo">391</span>  public Scan setStopRow(byte [] stopRow) {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    this.stopRow = stopRow;<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    return this;<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>  /**<a name="line.396"></a>
-<span class="sourceLineNo">397</span>   * &lt;p&gt;Set a filter (using stopRow and startRow) so the result set only contains rows where the<a name="line.397"></a>
-<span class="sourceLineNo">398</span>   * rowKey starts with the specified prefix.&lt;/p&gt;<a name="line.398"></a>
-<span class="sourceLineNo">399</span>   * &lt;p&gt;This is a utility method that converts the desired rowPrefix into the appropriate values<a name="line.399"></a>
-<span class="sourceLineNo">400</span>   * for the startRow and stopRow to achieve the desired result.&lt;/p&gt;<a name="line.400"></a>
-<span class="sourceLineNo">401</span>   * &lt;p&gt;This can safely be used in combination with setFilter.&lt;/p&gt;<a name="line.401"></a>
-<span class="sourceLineNo">402</span>   * &lt;p&gt;&lt;b&gt;NOTE: Doing a {@link #setStartRow(byte[])} and/or {@link #setStopRow(byte[])}<a name="line.402"></a>
-<span class="sourceLineNo">403</span>   * after this method will yield undefined results.&lt;/b&gt;&lt;/p&gt;<a name="line.403"></a>
-<span class="sourceLineNo">404</span>   * @param rowPrefix the prefix all rows must start with. (Set &lt;i&gt;null&lt;/i&gt; to remove the filter.)<a name="line.404"></a>
-<span class="sourceLineNo">405</span>   * @return this<a name="line.405"></a>
-<span class="sourceLineNo">406</span>   */<a name="line.406"></a>
-<span class="sourceLineNo">407</span>  public Scan setRowPrefixFilter(byte[] rowPrefix) {<a name="line.407"></a>
-<span class="sourceLineNo">408</span>    if (rowPrefix == null) {<a name="line.408"></a>
-<span class="sourceLineNo">409</span>      setStartRow(HConstants.EMPTY_START_ROW);<a name="line.409"></a>
-<span class="sourceLineNo">410</span>      setStopRow(HConstants.EMPTY_END_ROW);<a name="line.410"></a>
-<span class="sourceLineNo">411</span>    } else {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      this.setStartRow(rowPrefix);<a name="line.412"></a>
-<span class="sourceLineNo">413</span>      this.setStopRow(calculateTheClosestNextRowKeyForPrefix(rowPrefix));<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    }<a name="line.414"></a>
-<span class="sourceLineNo">415</span>    return this;<a name="line.415"></a>
-<span class="sourceLineNo">416</span>  }<a name="line.416"></a>
-<span class="sourceLineNo">417</span><a name="line.417"></a>
-<span class="sourceLineNo">418</span>  /**<a name="line.418"></a>
-<span class="sourceLineNo">419</span>   * &lt;p&gt;When scanning for a prefix the scan should stop immediately after the the last row that<a name="line.419"></a>
-<span class="sourceLineNo">420</span>   * has the specified prefix. This method calculates the closest next rowKey immediately following<a name="line.420"></a>
-<span class="sourceLineNo">421</span>   * the given rowKeyPrefix.&lt;/p&gt;<a name="line.421"></a>
-<span class="sourceLineNo">422</span>   * &lt;p&gt;&lt;b&gt;IMPORTANT: This converts a rowKey&lt;u&gt;Prefix&lt;/u&gt; into a rowKey&lt;/b&gt;.&lt;/p&gt;<a name="line.422"></a>
-<span class="sourceLineNo">423</span>   * &lt;p&gt;If the prefix is an 'ASCII' string put into a byte[] then this is easy because you can<a name="line.423"></a>
-<span class="sourceLineNo">424</span>   * simply increment the last byte of the array.<a name="line.424"></a>
-<span class="sourceLineNo">425</span>   * But if your application uses real binary rowids you may run into the scenario that your<a name="line.425"></a>
-<span class="sourceLineNo">426</span>   * prefix is something like:&lt;/p&gt;<a name="line.426"></a>
-<span class="sourceLineNo">427</span>   * &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;{ 0x12, 0x23, 0xFF, 0xFF }&lt;/b&gt;&lt;br/&gt;<a name="line.427"></a>
-<span class="sourceLineNo">428</span>   * Then this stopRow needs to be fed into the actual scan&lt;br/&gt;<a name="line.428"></a>
-<span class="sourceLineNo">429</span>   * &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;{ 0x12, 0x24 }&lt;/b&gt; (Notice that it is shorter now)&lt;br/&gt;<a name="line.429"></a>
-<span class="sourceLineNo">430</span>   * This method calculates the correct stop row value for this usecase.<a name="line.430"></a>
-<span class="sourceLineNo">431</span>   *<a name="line.431"></a>
-<span class="sourceLineNo">432</span>   * @param rowKeyPrefix the rowKey&lt;u&gt;Prefix&lt;/u&gt;.<a name="line.432"></a>
-<span class="sourceLineNo">433</span>   * @return the closest next rowKey immediately following the given rowKeyPrefix.<a name="line.433"></a>
-<span class="sourceLineNo">434</span>   */<a name="line.434"></a>
-<span class="sourceLineNo">435</span>  private byte[] calculateTheClosestNextRowKeyForPrefix(byte[] rowKeyPrefix) {<a name="line.435"></a>
-<span class="sourceLineNo">436</span>    // Essentially we are treating it like an 'unsigned very very long' and doing +1 manually.<a name="line.436"></a>
-<span class="sourceLineNo">437</span>    // Search for the place where the trailing 0xFFs start<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    int offset = rowKeyPrefix.length;<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    while (offset &gt; 0) {<a name="line.439"></a>
-<span class="sourceLineNo">440</span>      if (rowKeyPrefix[offset - 1] != (byte) 0xFF) {<a name="line.440"></a>
-<span class="sourceLineNo">441</span>        break;<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      }<a name="line.442"></a>
-<span class="sourceLineNo">443</span>      offset--;<a name="line.443"></a>
-<span class="sourceLineNo">444</span>    }<a name="line.444"></a>
-<span class="sourceLineNo">445</span><a name="line.445"></a>
-<span class="sourceLineNo">446</span>    if (offset == 0) {<a name="line.446"></a>
-<span class="sourceLineNo">447</span>      // We got an 0xFFFF... (only FFs) stopRow value which is<a name="line.447"></a>
-<span class="sourceLineNo">448</span>      // the last possible prefix before the end of the table.<a name="line.448"></a>
-<span class="sourceLineNo">449</span>      // So set it to stop at the 'end of the table'<a name="line.449"></a>
-<span class="sourceLineNo">450</span>      return HConstants.EMPTY_END_ROW;<a name="line.450"></a>
-<span class="sourceLineNo">451</span>    }<a name="line.451"></a>
-<span class="sourceLineNo">452</span><a name="line.452"></a>
-<span class="sourceLineNo">453</span>    // Copy the right length of the original<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    byte[] newStopRow = Arrays.copyOfRange(rowKeyPrefix, 0, offset);<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    // And increment the last one<a name="line.455"></a>
-<span class="sourceLineNo">456</span>    newStopRow[newStopRow.length - 1]++;<a name="line.456"></a>
-<span class="sourceLineNo">457</span>    return newStopRow;<a name="line.457"></a>
-<span class="sourceLineNo">458</span>  }<a name="line.458"></a>
-<span class="sourceLineNo">459</span><a name="line.459"></a>
-<span class="sourceLineNo">460</span>  /**<a name="line.460"></a>
-<span class="sourceLineNo">461</span>   * Get all available versions.<a name="line.461"></a>
-<span class="sourceLineNo">462</span>   * @return this<a name="line.462"></a>
-<span class="sourceLineNo">463</span>   */<a name="line.463"></a>
-<span class="sourceLineNo">464</span>  public Scan setMaxVersions() {<a name="line.464"></a>
-<span class="sourceLineNo">465</span>    this.maxVersions = Integer.MAX_VALUE;<a name="line.465"></a>
-<span class="sourceLineNo">466</span>    return this;<a name="line.466"></a>
-<span class="sourceLineNo">467</span>  }<a name="line.467"></a>
-<span class="sourceLineNo">468</span><a name="line.468"></a>
-<span class="sourceLineNo">469</span>  /**<a name="line.469"></a>
-<span class="sourceLineNo">470</span>   * Get up to the specified number of versions of each column.<a name="line.470"></a>
-<span class="sourceLineNo">471</span>   * @param maxVersions maximum versions for each column<a name="line.471"></a>
-<span class="sourceLineNo">472</span>   * @return this<a name="line.472"></a>
-<span class="sourceLineNo">473</span>   */<a name="line.473"></a>
-<span class="sourceLineNo">474</span>  public Scan setMaxVersions(int maxVersions) {<a name="line.474"></a>
-<span class="sourceLineNo">475</span>    this.maxVersions = maxVersions;<a name="line.475"></a>
-<span class="sourceLineNo">476</span>    return this;<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>  /**<a name="line.479"></a>
-<span class="sourceLineNo">480</span>   * Set the maximum number of values to return for each call to next()<a name="line.480"></a>
-<span class="sourceLineNo">481</span>   * @param batch the maximum number of values<a name="line.481"></a>
-<span class="sourceLineNo">482</span>   */<a name="line.482"></a>
-<span class="sourceLineNo">483</span>  public Scan setBatch(int batch) {<a name="line.483"></a>
-<span class="sourceLineNo">484</span>    if (this.hasFilter() &amp;&amp; this.filter.hasFilterRow()) {<a name="line.484"></a>
-<span class="sourceLineNo">485</span>      throw new IncompatibleFilterException(<a name="line.485"></a>
-<span class="sourceLineNo">486</span>        "Cannot set batch on a scan using a filter" +<a name="line.486"></a>
-<span class="sourceLineNo">487</span>        " that returns true for filter.hasFilterRow");<a name="line.487"></a>
-<span class="sourceLineNo">488</span>    }<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    this.batch = batch;<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    return this;<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>  /**<a name="line.493"></a>
-<span class="sourceLineNo">494</span>   * Set the maximum number of values to return per row per Column Family<a name="line.494"></a>
-<span class="sourceLineNo">495</span>   * @param limit the maximum number of values returned / row / CF<a name="line.495"></a>
-<span class="sourceLineNo">496</span>   */<a name="line.496"></a>
-<span class="sourceLineNo">497</span>  public Scan setMaxResultsPerColumnFamily(int limit) {<a name="line.497"></a>
-<span class="sourceLineNo">498</span>    this.storeLimit = limit;<a name="line.498"></a>
-<span class="sourceLineNo">499</span>    return this;<a name="line.499"></a>
-<span class="sourceLineNo">500</span>  }<a name="line.500"></a>
-<span class="sourceLineNo">501</span><a name="line.501"></a>
-<span class="sourceLineNo">502</span>  /**<a name="line.502"></a>
-<span class="sourceLineNo">503</span>   * Set offset for the row per Column Family.<a name="line.503"></a>
-<span class="sourceLineNo">504</span>   * @param offset is the number of kvs that will be skipped.<a name="line.504"></a>
-<span class="sourceLineNo">505</span>   */<a name="line.505"></a>
-<span class="sourceLineNo">506</span>  public Scan setRowOffsetPerColumnFamily(int offset) {<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    this.storeOffset = offset;<a name="line.507"></a>
-<span class="sourceLineNo">508</span>    return this;<a name="line.508"></a>
-<span class="sourceLineNo">509</span>  }<a name="line.509"></a>
-<span class="sourceLineNo">510</span><a name="line.510"></a>
-<span class="sourceLineNo">511</span>  /**<a name="line.511"></a>
-<span class="sourceLineNo">512</span>   * Set the number of rows for caching that will be passed to scanners.<a name="line.512"></a>
-<span class="sourceLineNo">513</span>   * If not set, the Configuration setting {@link HConstants#HBASE_CLIENT_SCANNER_CACHING} will<a name="line.513"></a>
-<span class="sourceLineNo">514</span>   * apply.<a name="line.514"></a>
-<span class="sourceLineNo">515</span>   * Higher caching values will enable faster scanners but will use more memory.<a name="line.515"></a>
-<span class="sourceLineNo">516</span>   * @param caching the number of rows for caching<a name="line.516"></a>
-<span class="sourceLineNo">517</span>   */<a name="line.517"></a>
-<span class="sourceLineNo">518</span>  public Scan setCaching(int caching) {<a name="line.518"></a>
-<span class="sourceLineNo">519</span>    this.caching = caching;<a name="line.519"></a>
-<span class="sourceLineNo">520</span>    return this;<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>  /**<a name="line.523"></a>
-<span class="sourceLineNo">524</span>   * @return the maximum result size in bytes. See {@link #setMaxResultSize(long)}<a name="line.524"></a>
-<span class="sourceLineNo">525</span>   */<a name="line.525"></a>
-<span class="sourceLineNo">526</span>  public long getMaxResultSize() {<a name="line.526"></a>
-<span class="sourceLineNo">527</span>    return maxResultSize;<a name="line.527"></a>
-<span class="sourceLineNo">528</span>  }<a name="line.528"></a>
-<span class="sourceLineNo">529</span><a name="line.529"></a>
-<span class="sourceLineNo">530</span>  /**<a name="line.530"></a>
-<span class="sourceLineNo">531</span>   * Set the maximum result size. The default is -1; this means that no specific<a name="line.531"></a>
-<span class="sourceLineNo">532</span>   * maximum result size will be set for this scan, and the global configured<a name="line.532"></a>
-<span class="sourceLineNo">533</span>   * value will be used instead. (Defaults to unlimited).<a name="line.533"></a>
-<span class="sourceLineNo">534</span>   *<a name="line.534"></a>
-<span class="sourceLineNo">535</span>   * @param maxResultSize The maximum result size in bytes.<a name="line.535"></a>
-<span class="sourceLineNo">536</span>   */<a name="line.536"></a>
-<span class="sourceLineNo">537</span>  public Scan setMaxResultSize(long maxResultSize) {<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    this.maxResultSize = maxResultSize;<a name="line.538"></a>
-<span class="sourceLineNo">539</span>    return this;<a name="line.539"></a>
-<span class="sourceLineNo">540</span>  }<a name="line.540"></a>
-<span class="sourceLineNo">541</span><a name="line.541"></a>
-<span class="sourceLineNo">542</span>  @Override<a name="line.542"></a>
-<span class="sourceLineNo">543</span>  public Scan setFilter(Filter filter) {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>    super.setFilter(filter);<a name="line.544"></a>
-<span class="sourceLineNo">545</span>    return this;<a name="line.545"></a>
-<span class="sourceLineNo">546</span>  }<a name="line.546"></a>
-<span class="sourceLineNo">547</span><a name="line.547"></a>
-<span class="sourceLineNo">548</span>  /**<a name="line.548"></a>
-<span class="sourceLineNo">549</span>   * Setting the familyMap<a name="line.549"></a>
-<span class="sourceLineNo">550</span>   * @param familyMap map of family to qualifier<a name="line.550"></a>
-<span class="sourceLineNo">551</span>   * @return this<a name="line.551"></a>
-<span class="sourceLineNo">552</span>   */<a name="line.552"></a>
-<span class="sourceLineNo">553</span>  public Scan setFamilyMap(Map&lt;byte [], NavigableSet&lt;byte []&gt;&gt; familyMap) {<a name="line.553"></a>
-<span class="sourceLineNo">554</span>    this.familyMap = familyMap;<a name="line.554"></a>
-<span class="sourceLineNo">555</span>    return this;<a name="line.555"></a>
-<span class="sourceLineNo">556</span>  }<a name="line.556"></a>
-<span class="sourceLineNo">557</span><a name="line.557"></a>
-<span class="sourceLineNo">558</span>  /**<a name="line.558"></a>
-<span class="sourceLineNo">559</span>   * Getting the familyMap<a name="line.559"></a>
-<span class="sourceLineNo">560</span>   * @return familyMap<a name="line.560"></a>
-<span class="sourceLineNo">561</span>   */<a name="line.561"></a>
-<span class="sourceLineNo">562</span>  public Map&lt;byte [], NavigableSet&lt;byte []&gt;&gt; getFamilyMap() {<a name="line.562"></a>
-<span class="sourceLineNo">563</span>    return this.familyMap;<a name="line.563"></a>
-<span class="sourceLineNo">564</span>  }<a name="line.564"></a>
-<span class="sourceLineNo">565</span><a name="line.565"></a>
-<span class="sourceLineNo">566</span>  /**<a name="line.566"></a>
-<span class="sourceLineNo">567</span>   * @return the number of families in familyMap<a name="line.567"></a>
-<span class="sourceLineNo">568</span>   */<a name="line.568"></a>
-<span class="sourceLineNo">569</span>  public int numFamilies() {<a name="line.569"></a>
-<span class="sourceLineNo">570</span>    if(hasFamilies()) {<a name="line.570"></a>
-<span class="sourceLineNo">571</span>      return this.familyMap.size();<a name="line.571"></a>
-<span class="sourceLineNo">572</span>    }<a name="line.572"></a>
-<span class="sourceLineNo">573</span>    return 0;<a name="line.573"></a>
-<span class="sourceLineNo">574</span>  }<a name="line.574"></a>
-<span class="sourceLineNo">575</span><a name="line.575"></a>
-<span class="sourceLineNo">576</span>  /**<a name="line.576"></a>
-<span class="sourceLineNo">577</span>   * @return true if familyMap is non empty, false otherwise<a name="line.577"></a>
-<span class="sourceLineNo">578</span>   */<a name="line.578"></a>
-<span class="sourceLineNo">579</span>  public boolean hasFamilies() {<a name="line.579"></a>
-<span class="sourceLineNo">580</span>    return !this.familyMap.isEmpty();<a name="line.580"></a>
-<span class="sourceLineNo">581</span>  }<a name="line.581"></a>
-<span class="sourceLineNo">582</span><a name="line.582"></a>
-<span class="sourceLineNo">583</span>  /**<a name="line.583"></a>
-<span class="sourceLineNo">584</span>   * @return the keys of the familyMap<a name="line.584"></a>
-<span class="sourceLineNo">585</span>   */<a name="line.585"></a>
-<span class="sourceLineNo">586</span>  public byte[][] getFamilies() {<a name="line.586"></a>
-<span class="sourceLineNo">587</span>    if(hasFamilies()) {<a name="line.587"></a>
-<span class="sourceLineNo">588</span>      return this.familyMap.keySet().toArray(new byte[0][0]);<a name="line.588"></a>
-<span class="sourceLineNo">589</span>    }<a name="line.589"></a>
-<span class="sourceLineNo">590</span>    return null;<a name="line.590"></a>
-<span class="sourceLineNo">591</span>  }<a name="line.591"></a>
-<span class="sourceLineNo">592</span><a name="line.592"></a>
-<span class="sourceLineNo">593</span>  /**<a name="line.593"></a>
-<span class="sourceLineNo">594</span>   * @return the startrow<a name="line.594"></a>
-<span class="sourceLineNo">595</span>   */<a name="line.595"></a>
-<span class="sourceLineNo">596</span>  public byte [] getStartRow() {<a name="line.596"></a>
-<span class="sourceLineNo">597</span>    return this.startRow;<a name="line.597"></a>
-<span class="sourceLineNo">598</span>  }<a name="line.598"></a>
-<span class="sourceLineNo">599</span><a name="line.599"></a>
-<span class="sourceLineNo">600</span>  /**<a name="line.600"></a>
-<span class="sourceLineNo">601</span>   * @return the stoprow<a name="line.601"></a>
-<span class="sourceLineNo">602</span>   */<a name="line.602"></a>
-<span class="sourceLineNo">603</span>  public byte [] getStopRow() {<a name="line.603"></a>
-<span class="sourceLineNo">604</span>    return this.stopRow;<a name="line.604"></a>
-<span class="sourceLineNo">605</span>  }<a name="line.605"></a>
-<span class="sourceLineNo">606</span><a name="line.606"></a>
-<span class="sourceLineNo">607</span>  /**<a name="line.607"></a>
-<span class="sourceLineNo">608</span>   * @return the max number of versions to fetch<a name="line.608"></a>
-<span class="sourceLineNo">609</span>   */<a name="line.609"></a>
-<span class="sourceLineNo">610</span>  public int getMaxVersions() {<a name="line.610"></a>
-<span class="sourceLineNo">611</span>    return this.maxVersions;<a name="line.611"></a>
-<span class="sourceLineNo">612</span>  }<a name="line.612"></a>
-<span class="sourceLineNo">613</span><a name="line.613"></a>
-<span class="sourceLineNo">614</span>  /**<a name="line.614"></a>
-<span class="sourceLineNo">615</span>   * @return maximum number of values to return for a single call to next()<a name="line.615"></a>
-<span class="sourceLineNo">616</span>   */<a name="line.616"></a>
-<span class="sourceLineNo">617</span>  public int getBatch() {<a name="line.617"></a>
-<span class="sourceLineNo">618</span>    return this.batch;<a name="line.618"></a>
-<span class="sourceLineNo">619</span>  }<a name="line.619"></a>
-<span class="sourceLineNo">620</span><a name="line.620"></a>
-<span class="sourceLineNo">621</span>  /**<a name="line.621"></a>
-<span class="sourceLineNo">622</span>   * @return maximum number of values to return per row per CF<a name="line.622"></a>
-<span class="sourceLineNo">623</span>   */<a name="line.623"></a>
-<span class="sourceLineNo">624</span>  public int getMaxResultsPerColumnFamily() {<a name="line.624"></a>
-<span class="sourceLineNo">625</span>    return this.storeLimit;<a name="line.625"></a>
-<span class="sourceLineNo">626</span>  }<a name="line.626"></a>
-<span class="sourceLineNo">627</span><a name="line.627"></a>
-<span class="sourceLineNo">628</span>  /**<a name="line.628"></a>
-<span class="sourceLineNo">629</span>   * Method for retrieving the scan's offset per row per column<a name="line.629"></a>
-<span class="sourceLineNo">630</span>   * family (#kvs to be skipped)<a name="line.630"></a>
-<span class="sourceLineNo">631</span>   * @return row offset<a name="line.631"></a>
-<span class="sourceLineNo">632</span>   */<a name="line.632"></a>
-<span class="sourceLineNo">633</span>  public int getRowOffsetPerColumnFamily() {<a name="line.633"></a>
-<span class="sourceLineNo">634</span>    return this.storeOffset;<a name="line.634"></a>
-<span class="sourceLineNo">635</span>  }<a name="line.635"></a>
-<span class="sourceLineNo">636</span><a name="line.636"></a>
-<span class="sourceLineNo">637</span>  /**<a name="line.637"></a>
-<span class="sourceLineNo">638</span>   * @return caching the number of rows fetched when calling next on a scanner<a name="line.638"></a>
-<span class="sourceLineNo">639</span>   */<a name="line.639"></a>
-<span class="sourceLineNo">640</span>  public int getCaching() {<a name="line.640"></a>
-<span class="sourceLineNo">641</span>    return this.caching;<a name="line.641"></a>
-<span class="sourceLineNo">642</span>  }<a name="line.642"></a>
-<span class="sourceLineNo">643</span><a name="line.643"></a>
-<span class="sourceLineNo">644</span>  /**<a name="line.644"></a>
-<span class="sourceLineNo">645</span>   * @return TimeRange<a name="line.645"></a>
-<span class="sourceLineNo">646</span>   */<a name="line.646"></a>
-<span class="sourceLineNo">647</span>  public TimeRange getTimeRange() {<a name="line.647"></a>
-<span class="sourceLineNo">648</span>    return this.tr;<a name="line.648"></a>
-<span class="sourceLineNo">649</span>  }<a name="line.649"></a>
-<span class="sourceLineNo">650</span><a name="line.650"></a>
-<span class="sourceLineNo">651</span>  /**<a name="line.651"></a>
-<span class="sourceLineNo">652</span>   * @return RowFilter<a name="line.652"></a>
-<span class="sourceLineNo">653</span>   */<a name="line.653"></a>
-<span class="sourceLineNo">654</span>  @Override<a name="line.654"></a>
-<span class="sourceLineNo">655</span>  public Filter getFilter() {<a name="line.655"></a>
-<span class="sourceLineNo">656</span>    return filter;<a name="line.656"></a>
-<span class="sourceLineNo">657</span>  }<a name="line.657"></a>
-<span class="sourceLineNo">658</span><a name="line.658"></a>
-<span class="sourceLineNo">659</span>  /**<a name="line.659"></a>
-<span class="sourceLineNo">660</span>   * @return true is a filter has been specified, false if not<a name="line.660"></a>
-<span class="sourceLineNo">661</span>   */<a name="line.661"></a>
-<span class="sourceLineNo">662</span>  public boolean hasFilter() {<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    return filter != null;<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>  /**<a name="line.666"></a>
-<span class="sourceLineNo">667</span>   * Set whether blocks should be cached for this Scan.<a name="line.667"></a>
-<span class="sourceLineNo">668</span>   * &lt;p&gt;<a name="line.668"></a>
-<span class="sourceLineNo">669</span>   * This is true by default.  When true, default settings of the table and<a name="line.669"></a>
-<span class="sourceLineNo">670</span>   * family are used (this will never override caching blocks if the block<a name="line.670"></a>
-<span class="sourceLineNo">671</span>   * cache is disabled for that family or entirely).<a name="line.671"></a>
-<span class="sourceLineNo">672</span>   *<a name="line.672"></a>
-<span class="sourceLineNo">673</span>   * @param cacheBlocks if false, default settings are overridden and blocks<a name="line.673"></a>
-<span class="sourceLineNo">674</span>   * will not be cached<a name="line.674"></a>
-<span class="sourceLineNo">675</span>   */<a name="line.675"></a>
-<span class="sourceLineNo">676</span>  public Scan setCacheBlocks(boolean cacheBlocks) {<a name="line.676"></a>
-<span class="sourceLineNo">677</span>    this.cacheBlocks = cacheBlocks;<a name="line.677"></a>
-<span class="sourceLineNo">678</span>    return this;<a name="line.678"></a>
-<span class="sourceLineNo">679</span>  }<a name="line.679"></a>
-<span class="sourceLineNo">680</span><a name="line.680"></a>
-<span class="sourceLineNo">681</span>  /**<a name="line.681"></a>
-<span class="sourceLineNo">682</span>   * Get whether blocks should be cached for this Scan.<a name="line.682"></a>
-<span class="sourceLineNo">683</span>   * @return true if default caching should be used, false if blocks should not<a name="line.683"></a>
-<span class="sourceLineNo">684</span>   * be cached<a name="line.684"></a>
-<span class="sourceLineNo">685</span>   */<a name="line.685"></a>
-<span class="sourceLineNo">686</span>  public boolean getCacheBlocks() {<a name="line.686"></a>
-<span class="sourceLineNo">687</span>    return cacheBlocks;<a name="line.687"></a>
-<span class="sourceLineNo">688</span>  }<a name="line.688"></a>
-<span class="sourceLineNo">689</span><a name="line.689"></a>
-<span class="sourceLineNo">690</span>  /**<a name="line.690"></a>
-<span class="sourceLineNo">691</span>   * Set whether this scan is a reversed one<a name="line.691"></a>
-<span class="sourceLineNo">692</span>   * &lt;p&gt;<a name="line.692"></a>
-<span class="sourceLineNo">693</span>   * This is false by default which means forward(normal) scan.<a name="line.693"></a>
-<span class="sourceLineNo">694</span>   *<a name="line.694"></a>
-<span class="sourceLineNo">695</span>   * @param reversed if true, scan will be backward order<a name="line.695"></a>
-<span class="sourceLineNo">696</span>   * @return this<a name="line.696"></a>
-<span class="sourceLineNo">697</span>   */<a name="line.697"></a>
-<span class="sourceLineNo">698</span>  public Scan setReversed(boolean reversed) {<a name="line.698"></a>
-<span class="sourceLineNo">699</span>    this.reversed = reversed;<a name="line.699"></a>
-<span class="sourceLineNo">700</span>    return this;<a name="line.700"></a>
-<span class="sourceLineNo">701</span>  }<a name="line.701"></a>
-<span class="sourceLineNo">702</span><a name="line.702"></a>
-<span class="sourceLineNo">703</span>  /**<a name="line.703"></a>
-<span class="sourceLineNo">704</span>   * Get whether this scan is a reversed one.<a name="line.704"></a>
-<span class="sourceLineNo">705</span>   * @return true if backward scan, false if forward(default) scan<a name="line.705"></a>
-<span class="sourceLineNo">706</span>   */<a name="line.706"></a>
-<span class="sourceLineNo">707</span>  public boolean isReversed() {<a name="line.707"></a>
-<span class="sourceLineNo">708</span>    return reversed;<a name="line.708"></a>
-<span class="sourceLineNo">709</span>  }<a name="line.709"></a>
-<span class="sourceLineNo">710</span><a name="line.710"></a>
-<span class="sourceLineNo">711</span>  /**<a name="line.711"></a>
-<span class="sourceLineNo">712</span>   * Setting whether the caller wants to see the partial results that may be returned from the<a name="line.712"></a>
-<span class="sourceLineNo">713</span>   * server. By default this value is false and the complete results will be assembled client side<a name="line.713"></a>
-<span class="sourceLineNo">714</span>   * before being delivered to the caller.<a name="line.714"></a>
-<span class="sourceLineNo">715</span>   * @param allowPartialResults<a name="line.715"></a>
-<span class="sourceLineNo">716</span>   * @return this<a name="line.716"></a>
-<span class="sourceLineNo">717</span>   */<a name="line.717"></a>
-<span class="sourceLineNo">718</span>  public Scan setAllowPartialResults(final boolean allowPartialResults) {<a name="line.718"></a>
-<span class="sourceLineNo">719</span>    this.allowPartialResults = allowPartialResults;<a name="line.719"></a>
-<span class="sourceLineNo">720</span>    return this;<a name="line.720"></a>
-<span class="sourceLineNo">721</span>  }<a name="line.721"></a>
-<span class="sourceLineNo">722</span><a name="line.722"></a>
-<span class="sourceLineNo">723</span>  /**<a name="line.723"></a>
-<span class="sourceLineNo">724</span>   * @return true when the constructor of this scan understands that the results they will see may<a name="line.724"></a>
-<span class="sourceLineNo">725</span>   *         only represent a partial portion of a row. The entire row would be retrieved by<a name="line.725"></a>
-<span class="sourceLineNo">726</span>   *         subsequent calls to {@link ResultScanner#next()}<a name="line.726"></a>
-<span class="sourceLineNo">727</span>   */<a name="line.727"></a>
-<span class="sourceLineNo">728</span>  public boolean getAllowPartialResults() {<a name="line.728"></a>
-<span class="sourceLineNo">729</span>    return allowPartialResults;<a name="line.729"></a>
-<span class="sourceLineNo">730</span>  }<a name="line.730"></a>
-<span class="sourceLineNo">731</span><a name="line.731"></a>
-<span class="sourceLineNo">732</span>  /**<a name="line.732"></a>
-<span class="sourceLineNo">733</span>   * Set the value indicating whether loading CFs on demand should be allowed (cluster<a name="line.733"></a>
-<span class="sourceLineNo">734</span>   * default is false). On-demand CF loading doesn't load column families until necessary, e.g.<a name="line.734"></a>
-<span class="sourceLineNo">735</span>   * if you filter on one column, the other column family data will be loaded only for the rows<a name="line.735"></a>
-<span class="sourceLineNo">736</span>   * that are included in result, not all rows like in normal case.<a name="line.736"></a>
-<span class="sourceLineNo">737</span>   * With column-specific filters, like SingleColumnValueFilter w/filterIfMissing == true,<a name="line.737"></a>
-<span class="sourceLineNo">738</span>   * this can deliver huge perf gains when there's a cf with lots of data; however, it can<a name="line.738"></a>
-<span class="sourceLineNo">739</span>   * also lead to some inconsistent results, as follows:<a name="line.739"></a>
-<span class="sourceLineNo">740</span>   * - if someone does a concurrent update to both column families in question you may get a row<a name="line.740"></a>
-<span class="sourceLineNo">741</span>   *   that never existed, e.g. for { rowKey = 5, { cat_videos =&amp;gt; 1 }, { video =&amp;gt; "my cat" } }<a name="line.741"></a>
-<span class="sourceLineNo">742</span>   *   someone puts rowKey 5 with { cat_videos =&amp;gt; 0 }, { video =&amp;gt; "my dog" }, concurrent scan<a name="line.742"></a>
-<span class="sourceLineNo">743</span>   *   filtering on "cat_videos == 1" can get { rowKey = 5, { cat_videos =&amp;gt; 1 },<a name="line.743"></a>
-<span class="sourceLineNo">744</span>   *   { video =&amp;gt; "my dog" } }.<a name="line.744"></a>
-<span class="sourceLineNo">745</span>   * - if there's a concurrent split and you have more than 2 column families, some rows may be<a name="line.745"></a>
-<span class="sourceLineNo">746</span>   *   missing some column families.<a name="line.746"></a>
-<span class="sourceLineNo">747</span>   */<a name="line.747"></a>
-<span class="sourceLineNo">748</span>  public Scan setLoadColumnFamiliesOnDemand(boolean value) {<a name="line.748"></a>
-<span class="sourceLineNo">749</span>    this.loadColumnFamiliesOnDemand = value;<a name="line.749"></a>
-<span class="sourceLineNo">750</span>    return this;<a name="line.750"></a>
-<span class="sourceLineNo">751</span>  }<a name="line.751"></a>
-<span class="sourceLineNo">752</span><a name="line.752"></a>
-<span class="sourceLineNo">753</span>  /**<a name="line.753"></a>
-<span class="sourceLineNo">754</span>   * Get the raw loadColumnFamiliesOnDemand setting; if it's not set, can be null.<a name="line.754"></a>
-<span class="sourceLineNo">755</span>   */<a name="line.755"></a>
-<span class="sourceLineNo">756</span>  public Boolean getLoadColumnFamiliesOnDemandValue() {<a name="line.756"></a>
-<span class="sourceLineNo">757</span>    return this.loadColumnFamiliesOnDemand;<a name="line.757"></a>
-<span class="sourceLineNo">758</span>  }<a name="line.758"></a>
-<span class="sourceLineNo">759</span><a name="line.759"></a>
-<span class="sourceLineNo">760</span>  /**<a name="line.760"></a>
-<span class="sourceLineNo">761</span>   * Get the logical value indicating whether on-demand CF loading should be allowed.<a name="line.761"></a>
-<span class="sourceLineNo">762</span>   */<a name="line.762"></a>
-<span class="sourceLineNo">763</span>  public boolean doLoadColumnFamiliesOnDemand() {<a name="line.763"></a>
-<span class="sourceLineNo">764</span>    return (this.loadColumnFamiliesOnDemand != null)<a name="line.764"></a>
-<span class="sourceLineNo">765</span>      &amp;&amp; this.loadColumnFamiliesOnDemand.booleanValue();<a name="line.765"></a>
-<span class="sourceLineNo">766</span>  }<a name="line.766"></a>
-<span class="sourceLineNo">767</span><a name="line.767"></a>
-<span class="sourceLineNo">768</span>  /**<a name="line.768"></a>
-<span class="sourceLineNo">769</span>   * Compile the table and column family (i.e. schema) information<a name="line.769"></a>
-<span class="sourceLineNo">770</span>   * into a String. Useful for parsing and aggregation by debugging,<a name="line.770"></a>
-<span class="sourceLineNo">771</span>   * logging, and administration tools.<a name="line.771"></a>
-<span class="sourceLineNo">772</span>   * @return Map<a name="line.772"></a>
-<span class="sourceLineNo">773</span>   */<a name="line.773"></a>
-<span class="sourceLineNo">774</span>  @Override<a name="line.774"></a>
-<span class="sourceLineNo">775</span>  public Map&lt;String, Object&gt; getFingerprint() {<a name="line.775"></a>
-<span class="sourceLineNo">776</span>    Map&lt;String, Object&gt; map = new HashMap&lt;String, Object&gt;();<a name="line.776"></a>
-<span class="sourceLineNo">777</span>    List&lt;String&gt; families = new ArrayList&lt;String&gt;();<a name="line.777"></a>
-<span class="sourceLineNo">778</span>    if(this.familyMap.size() == 0) {<a name="line.778"></a>
-<span class="sourceLineNo">779</span>      map.put("families", "ALL");<a name="line.779"></a>
-<span class="sourceLineNo">780</span>      return map;<a name="line.780"></a>
-<span class="sourceLineNo">781</span>    } else {<a name="line.781"></a>
-<span class="sourceLineNo">782</span>      map.put("families", families);<a name="line.782"></a>
-<span class="sourceLineNo">783</span>    }<a name="line.783"></a>
-<span class="sourceLineNo">784</span>    for (Map.Entry&lt;byte [], NavigableSet&lt;byte[]&gt;&gt; entry :<a name="line.784"></a>
-<span class="sourceLineNo">785</span>        this.familyMap.entrySet()) {<a name="line.785"></a>
-<span class="sourceLineNo">786</span>      families.add(Bytes.toStringBinary(entry.getKey()));<a name="line.786"></a>
-<span class="sourceLineNo">787</span>    }<a name="line.787"></a>
-<span class="sourceLineNo">788</span>    return map;<a name="line.788"></a>
-<span class="sourceLineNo">789</span>  }<a name="line.789"></a>
-<span class="sourceLineNo">790</span><a name="line.790"></a>
-<span class="sourceLineNo">791</span>  /**<a name="line.791"></a>
-<span class="sourceLineNo">792</span>   * Compile the details beyond the scope of getFingerprint (row, columns,<a name="line.792"></a>
-<span class="sourceLineNo">793</span>   * timestamps, etc.) into a Map along with the fingerprinted information.<a name="line.793"></a>
-<span class="sourceLineNo">794</span>   * Useful for debugging, logging, and administration tools.<a name="line.794"></a>
-<span class="sourceLineNo">795</span>   * @param maxCols a limit on the number of columns output prior to truncation<a name="line.795"></a>
-<span class="sourceLineNo">796</span>   * @return Map<a name="line.796"></a>
-<span class="sourceLineNo">797</span>   */<a name="line.797"></a>
-<span class="sourceLineNo">798</span>  @Override<a name="line.798"></a>
-<span class="sourceLineNo">799</span>  public Map&lt;String, Object&gt; toMap(int maxCols) {<a name="line.799"></a>
-<span class="sourceLineNo">800</span>    // start with the fingerpring map and build on top of it<a name="line.800"></a>
-<span class="sourceLineNo">801</span>    Map&lt;String, Object&gt; map = getFingerprint();<a name="line.801"></a>
-<span class="sourceLineNo">802</span>    // map from families to column list replaces fingerprint's list of families<a name="line.802"></a>
-<span class="sourceLineNo">803</span>    Map&lt;String, List&lt;String&gt;&gt; familyColumns =<a name="line.803"></a>
-<span class="sourceLineNo">804</span>      new HashMap&lt;String, List&lt;String&gt;&gt;();<a name="line.804"></a>
-<span class="sourceLineNo">805</span>    map.put("families", familyColumns);<a name="line.805"></a>
-<span class="sourceLineNo">806</span>    // add scalar information first<a name="line.806"></a>
-<span class="sourceLineNo">807</span>    map.put("startRow", Bytes.toStringBinary(this.startRow));<a name="line.807"></a>
-<span class="sourceLineNo">808</span>    map.put("stopRow", Bytes.toStringBinary(this.stopRow));<a name="line.808"></a>
-<span class="sourceLineNo">809</span>    map.put("maxVersions", this.maxVersions);<a name="line.809"></a>
-<span class="sourceLineNo">810</span>    map.put("batch", this.batch);<a name="line.810"></a>
-<span class="sourceLineNo">811</span>    map.put("caching", this.caching);<a name="line.811"></a>
-<span class="sourceLineNo">812</span>    map.put("maxResultSize", this.maxResultSize);<a name="line.812"></a>
-<span class="sourceLineNo">813</span>    map.put("cacheBlocks", this.cacheBlocks);<a name="line.813"></a>
-<span class="sourceLineNo">814</span>    map.put("loadColumnFamiliesOnDemand", this.loadColumnFamiliesOnDemand);<a name="line.814"></a>
-<span class="sourceLineNo">815</span>    List&lt;Long&gt; timeRange = new ArrayList&lt;Long&gt;();<a name="line.815"></a>
-<span class="sourceLineNo">816</span>    timeRange.add(this.tr.getMin());<a name="line.816"></a>
-<span class="sourceLineNo">817</span>    timeRange.add(this.tr.getMax());<a name="line.817"></a>
-<span class="sourceLineNo">818</span>    map.put("timeRange", timeRange);<a name="line.818"></a>
-<span class="sourceLineNo">819</span>    int colCount = 0;<a name="line.819"></a>
-<span class="sourceLineNo">820</span>    // iterate through affected families and list out up to maxCols columns<a name="line.820"></a>
-<span class="sourceLineNo">821</span>    for (Map.Entry&lt;byte [], NavigableSet&lt;byte[]&gt;&gt; entry :<a name="line.821"></a>
-<span class="sourceLineNo">822</span>      this.familyMap.entrySet()) {<a name="line.822"></a>
-<span class="sourceLineNo">823</span>      List&lt;String&gt; columns = new ArrayList&lt;String&gt;();<a name="line.823"></a>
-<span class="sourceLineNo">824</span>      familyColumns.put(Bytes.toStringBinary(entry.getKey()), columns);<a name="line.824"></a>
-<span class="sourceLineNo">825</span>      if(entry.getValue() == null) {<a name="line.825"></a>
-<span class="sourceLineNo">826</span>        colCount++;<a name="line.826"></a>
-<span class="sourceLineNo">827</span>        --maxCols;<a name="line.827"></a>
-<span class="sourceLineNo">828</span>        columns.add("ALL");<a name="line.828"></a>
-<span class="sourceLineNo">829</span>      } else {<a name="line.829"></a>
-<span class="sourceLineNo">830</span>        colCount += entry.getValue().size();<a name="line.830"></a>
-<span class="sourceLineNo">831</span>        if (maxCols &lt;= 0) {<a name="line.831"></a>
-<span class="sourceLineNo">832</span>          continue;<a name="line.832"></a>
-<span class="sourceLineNo">833</span>        }<a name="line.833"></a>
-<span class="sourceLineNo">834</span>        for (byte [] column : entry.getValue()) {<a name="line.834"></a>
-<span class="sourceLineNo">835</span>          if (--maxCols &lt;= 0) {<a name="line.835"></a>
-<span class="sourceLineNo">836</span>            continue;<a name="line.836"></a>
-<span class="sourceLineNo">837</span>          }<a name="line.837"></a>
-<span class="sourceLineNo">838</span>          columns.add(Bytes.toStringBinary(column));<a name="line.838"></a>
-<span class="sourceLineNo">839</span>        }<a name="line.839"></a>
-<span class="sourceLineNo">840</span>      }<a name="line.840"></a>
-<span class="sourceLineNo">841</span>    }<a name="line.841"></a>
-<span class="sourceLineNo">842</span>    map.put("totalColumns", colCount);<a name="line.842"></a>
-<span class="sourceLineNo">843</span>    if (this.filter != null) {<a name="line.843"></a>
-<span class="sourceLineNo">844</span>      map.put("filter", this.filter.toString());<a name="line.844"></a>
-<span class="sourceLineNo">845</span>    }<a name="line.845"></a>
-<span class="sourceLineNo">846</span>    // add the id if set<a name="line.846"></a>
-<span class="sourceLineNo">847</span>    if (getId() != null) {<a name="line.847"></a>
-<span class="sourceLineNo">848</span>      map.put("id", getId());<a name="line.848"></a>
-<span class="sourceLineNo">849</span>    }<a name="line.849"></a>
-<span class="sourceLineNo">850</span>    return map;<a name="line.850"></a>
-<span class="sourceLineNo">851</span>  }<a name="line.851"></a>
-<span class="sourceLineNo">852</span><a name="line.852"></a>
-<span class="sourceLineNo">853</span>  /**<a name="line.853"></a>
-<span class="sourceLineNo">854</span>   * Enable/disable "raw" mode for this scan.<a name="line.854"></a>
-<span class="sourceLineNo">855</span>   * If "raw" is enabled the scan will return all<a name="line.855"></a>
-<span class="sourceLineNo">856</span>   * delete marker and deleted rows that have not<a name="line.856"></a>
-<span class="sourceLineNo">857</span>   * been collected, yet.<a name="line.857"></a>
-<span class="sourceLineNo">858</span>   * This is mostly useful for Scan on column families<a name="line.858"></a>
-<span class="sourceLineNo">859</span>   * that have KEEP_DELETED_ROWS enabled.<a name="line.859"></a>
-<span class="sourceLineNo">860</span>   * It is an error to specify any column when "raw" is set.<a name="line.860"></a>
-<span class="sourceLineNo">861</span>   * @param raw True/False to enable/disable "raw" mode.<a name="line.861"></a>
-<span class="sourceLineNo">862</span>   */<a name="line.862"></a>
-<span class="sourceLineNo">863</span>  public Scan setRaw(boolean raw) {<a name="line.863"></a>
-<span class="sourceLineNo">864</span>    setAttribute(RAW_ATTR, Bytes.toBytes(raw));<a name="line.864"></a>
-<span class="sourceLineNo">865</span>    return this;<a name="line.865"></a>
-<span class="sourceLineNo">866</span>  }<a name="line.866"></a>
-<span class="sourceLineNo">867</span><a name="line.867"></a>
-<span class="sourceLineNo">868</span>  /**<a name="line.868"></a>
-<span class="sourceLineNo">869</span>   * @return True if this Scan is in "raw" mode.<a name="line.869"></a>
-<span class="sourceLineNo">870</span>   */<a name="line.870"></a>
-<span class="sourceLineNo">871</span>  public boolean isRaw() {<a name="line.871"></a>
-<span class="sourceLineNo">872</span>    byte[] attr = getAttribute(RAW_ATTR);<a name="line.872"></a>
-<span class="sourceLineNo">873</span>    return attr == null ? false : Bytes.toBoolean(attr);<a name="line.873"></a>
-<span class="sourceLineNo">874</span>  }<a name="line.874"></a>
-<span class="sourceLineNo">875</span><a name="line.875"></a>
-<span class="sourceLineNo">876</span><a name="line.876"></a>
+<span class="sourceLineNo">230</span>    this.setIsolationLevel(scan.getIsolationLevel());<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    reversed = scan.isReversed();<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    asyncPrefetch = scan.isAsyncPrefetch();<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    small = scan.isSmall();<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    allowPartialResults = scan.getAllowPartialResults();<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    TimeRange ctr = scan.getTimeRange();<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    tr = new TimeRange(ctr.getMin(), ctr.getMax());<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    Map&lt;byte[], NavigableSet&lt;byte[]&gt;&gt; fams = scan.getFamilyMap();<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    for (Map.Entry&lt;byte[],NavigableSet&lt;byte[]&gt;&gt; entry : fams.entrySet()) {<a name="line.238"></a>
+<span class="sourceLineNo">239</span>      byte [] fam = entry.getKey();<a name="line.239"></a>
+<span class="sourceLineNo">240</span>      NavigableSet&lt;byte[]&gt; cols = entry.getValue();<a name="line.240"></a>
+<span class="sourceLineNo">241</span>      if (cols != null &amp;&amp; cols.size() &gt; 0) {<a name="line.241"></a>
+<span class="sourceLineNo">242</span>        for (byte[] col : cols) {<a name="line.242"></a>
+<span class="sourceLineNo">243</span>          addColumn(fam, col);<a name="line.243"></a>
+<span class="sourceLineNo">244</span>        }<a name="line.244"></a>
+<span class="sourceLineNo">245</span>      } else {<a name="line.245"></a>
+<span class="sourceLineNo">246</span>        addFamily(fam);<a name="line.246"></a>
+<span class="sourceLineNo">247</span>      }<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    }<a name="line.248"></a>
+<span class="sourceLineNo">249</span>    for (Map.Entry&lt;String, byte[]&gt; attr : scan.getAttributesMap().entrySet()) {<a name="line.249"></a>
+<span class="sourceLineNo">250</span>      setAttribute(attr.getKey(), attr.getValue());<a name="line.250"></a>
+<span class="sourceLineNo">251</span>    }<a name="line.251"></a>
+<span class="sourceLineNo">252</span>    for (Map.Entry&lt;byte[], TimeRange&gt; entry : scan.getColumnFamilyTimeRange().entrySet()) {<a name="line.252"></a>
+<span class="sourceLineNo">253</span>      TimeRange tr = entry.getValue();<a name="line.253"></a>
+<span class="sourceLineNo">254</span>      setColumnFamilyTimeRange(entry.getKey(), tr.getMin(), tr.getMax());<a name="line.254"></a>
+<span class="sourceLineNo">255</span>    }<a name="line.255"></a>
+<span class="sourceLineNo">256</span>  }<a name="line.256"></a>
+<span class="sourceLineNo">257</span><a name="line.257"></a>
+<span class="sourceLineNo">258</span>  /**<a name="line.258"></a>
+<span class="sourceLineNo">259</span>   * Builds a scan object with the same specs as get.<a name="line.259"></a>
+<span class="sourceLineNo">260</span>   * @param get get to model scan after<a name="line.260"></a>
+<span class="sourceLineNo">261</span>   */<a name="line.261"></a>
+<span class="sourceLineNo">262</span>  public Scan(Get get) {<a name="line.262"></a>
+<span class="sourceLineNo">263</span>    this.startRow = get.getRow();<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    this.stopRow = get.getRow();<a name="line.264"></a>
+<span class="sourceLineNo">265</span>    this.filter = get.getFilter();<a name="line.265"></a>
+<span class="sourceLineNo">266</span>    this.cacheBlocks = get.getCacheBlocks();<a name="line.266"></a>
+<span class="sourceLineNo">267</span>    this.maxVersions = get.getMaxVersions();<a name="line.267"></a>
+<span class="sourceLineNo">268</span>    this.storeLimit = get.getMaxResultsPerColumnFamily();<a name="line.268"></a>
+<span class="sourceLineNo">269</span>    this.storeOffset = get.getRowOffsetPerColumnFamily();<a name="line.269"></a>
+<span class="sourceLineNo">270</span>    this.tr = get.getTimeRange();<a name="line.270"></a>
+<span class="sourceLineNo">271</span>    this.familyMap = get.getFamilyMap();<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    this.getScan = true;<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    this.asyncPrefetch = false;<a name="line.273"></a>
+<span class="sourceLineNo">274</span>    this.consistency = get.getConsistency();<a name="line.274"></a>
+<span class="sourceLineNo">275</span>    this.setIsolationLevel(get.getIsolationLevel());<a name="line.275"></a>
+<span class="sourceLineNo">276</span>    for (Map.Entry&lt;String, byte[]&gt; attr : get.getAttributesMap().entrySet()) {<a name="line.276"></a>
+<span class="sourceLineNo">277</span>      setAttribute(attr.getKey(), attr.getValue());<a name="line.277"></a>
+<span class="sourceLineNo">278</span>    }<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    for (Map.Entry&lt;byte[], TimeRange&gt; entry : get.getColumnFamilyTimeRange().entrySet()) {<a name="line.279"></a>
+<span class="sourceLineNo">280</span>      TimeRange tr = entry.getValue();<a name="line.280"></a>
+<span class="sourceLineNo">281</span>      setColumnFamilyTimeRange(entry.getKey(), tr.getMin(), tr.getMax());<a name="line.281"></a>
+<span class="sourceLineNo">282</span>    }<a name="line.282"></a>
+<span class="sourceLineNo">283</span>  }<a name="line.283"></a>
+<span class="sourceLineNo">284</span><a name="line.284"></a>
+<span class="sourceLineNo">285</span>  public boolean isGetScan() {<a name="line.285"></a>
+<span class="sourceLineNo">286</span>    return this.getScan || isStartRowAndEqualsStopRow();<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>  private boolean isStartRowAndEqualsStopRow() {<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    return this.startRow != null &amp;&amp; this.startRow.length &gt; 0 &amp;&amp;<a name="line.290"></a>
+<span class="sourceLineNo">291</span>        Bytes.equals(this.startRow, this.stopRow);<a name="line.291"></a>
+<span class="sourceLineNo">292</span>  }<a name="line.292"></a>
+<span class="sourceLineNo">293</span>  /**<a name="line.293"></a>
+<span class="sourceLineNo">294</span>   * Get all columns from the specified family.<a name="line.294"></a>
+<span class="sourceLineNo">295</span>   * &lt;p&gt;<a name="line.295"></a>
+<span class="sourceLineNo">296</span>   * Overrides previous calls to addColumn for this family.<a name="line.296"></a>
+<span class="sourceLineNo">297</span>   * @param family family name<a name="line.297"></a>
+<span class="sourceLineNo">298</span>   * @return this<a name="line.298"></a>
+<span class="sourceLineNo">299</span>   */<a name="line.299"></a>
+<span class="sourceLineNo">300</span>  public Scan addFamily(byte [] family) {<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    familyMap.remove(family);<a name="line.301"></a>
+<span class="sourceLineNo">302</span>    familyMap.put(family, null);<a name="line.302"></a>
+<span class="sourceLineNo">303</span>    return this;<a name="line.303"></a>
+<span class="sourceLineNo">304</span>  }<a name="line.304"></a>
+<span class="sourceLineNo">305</span><a name="line.305"></a>
+<span class="sourceLineNo">306</span>  /**<a name="line.306"></a>
+<span class="sourceLineNo">307</span>   * Get the column from the specified family with the specified qualifier.<a name="line.307"></a>
+<span class="sourceLineNo">308</span>   * &lt;p&gt;<a name="line.308"></a>
+<span class="sourceLineNo">309</span>   * Overrides previous calls to addFamily for this family.<a name="line.309"></a>
+<span class="sourceLineNo">310</span>   * @param family family name<a name="line.310"></a>
+<span class="sourceLineNo">311</span>   * @param qualifier column qualifier<a name="line.311"></a>
+<span class="sourceLineNo">312</span>   * @return this<a name="line.312"></a>
+<span class="sourceLineNo">313</span>   */<a name="line.313"></a>
+<span class="sourceLineNo">314</span>  public Scan addColumn(byte [] family, byte [] qualifier) {<a name="line.314"></a>
+<span class="sourceLineNo">315</span>    NavigableSet&lt;byte []&gt; set = familyMap.get(family);<a name="line.315"></a>
+<span class="sourceLineNo">316</span>    if(set == null) {<a name="line.316"></a>
+<span class="sourceLineNo">317</span>      set = new TreeSet&lt;byte []&gt;(Bytes.BYTES_COMPARATOR);<a name="line.317"></a>
+<span class="sourceLineNo">318</span>    }<a name="line.318"></a>
+<span class="sourceLineNo">319</span>    if (qualifier == null) {<a name="line.319"></a>
+<span class="sourceLineNo">320</span>      qualifier = HConstants.EMPTY_BYTE_ARRAY;<a name="line.320"></a>
+<span class="sourceLineNo">321</span>    }<a name="line.321"></a>
+<span class="sourceLineNo">322</span>    set.add(qualifier);<a name="line.322"></a>
+<span class="sourceLineNo">323</span>    familyMap.put(family, set);<a name="line.323"></a>
+<span class="sourceLineNo">324</span>    return this;<a name="line.324"></a>
+<span class="sourceLineNo">325</span>  }<a name="line.325"></a>
+<span class="sourceLineNo">326</span><a name="line.326"></a>
+<span class="sourceLineNo">327</span>  /**<a name="line.327"></a>
+<span class="sourceLineNo">328</span>   * Get versions of columns only within the specified timestamp range,<a name="line.328"></a>
+<span class="sourceLineNo">329</span>   * [minStamp, maxStamp).  Note, default maximum versions to return is 1.  If<a name="line.329"></a>
+<span class="sourceLineNo">330</span>   * your time range spans more than one version and you want all versions<a name="line.330"></a>
+<span class="sourceLineNo">331</span>   * returned, up the number of versions beyond the default.<a name="line.331"></a>
+<span class="sourceLineNo">332</span>   * @param minStamp minimum timestamp value, inclusive<a name="line.332"></a>
+<span class="sourceLineNo">333</span>   * @param maxStamp maximum timestamp value, exclusive<a name="line.333"></a>
+<span class="sourceLineNo">334</span>   * @see #setMaxVersions()<a name="line.334"></a>
+<span class="sourceLineNo">335</span>   * @see #setMaxVersions(int)<a name="line.335"></a>
+<span class="sourceLineNo">336</span>   * @return this<a name="line.336"></a>
+<span class="sourceLineNo">337</span>   */<a name="line.337"></a>
+<span class="sourceLineNo">338</span>  public Scan setTimeRange(long minStamp, long maxStamp) throws IOException {<a name="line.338"></a>
+<span class="sourceLineNo">339</span>    tr = new TimeRange(minStamp, maxStamp);<a name="line.339"></a>
+<span class="sourceLineNo">340</span>    return this;<a name="line.340"></a>
+<span class="sourceLineNo">341</span>  }<a name="line.341"></a>
+<span class="sourceLineNo">342</span><a name="line.342"></a>
+<span class="sourceLineNo">343</span>  /**<a name="line.343"></a>
+<span class="sourceLineNo">344</span>   * Get versions of columns with the specified timestamp. Note, default maximum<a name="line.344"></a>
+<span class="sourceLineNo">345</span>   * versions to return is 1.  If your time range spans more than one version<a name="line.345"></a>
+<span class="sourceLineNo">346</span>   * and you want all versions returned, up the number of versions beyond the<a name="line.346"></a>
+<span class="sourceLineNo">347</span>   * defaut.<a name="line.347"></a>
+<span class="sourceLineNo">348</span>   * @param timestamp version timestamp<a name="line.348"></a>
+<span class="sourceLineNo">349</span>   * @see #setMaxVersions()<a name="line.349"></a>
+<span class="sourceLineNo">350</span>   * @see #setMaxVersions(int)<a name="line.350"></a>
+<span class="sourceLineNo">351</span>   * @return this<a name="line.351"></a>
+<span class="sourceLineNo">352</span>   */<a name="line.352"></a>
+<span class="sourceLineNo">353</span>  public Scan setTimeStamp(long timestamp)<a name="line.353"></a>
+<span class="sourceLineNo">354</span>  throws IOException {<a name="line.354"></a>
+<span class="sourceLineNo">355</span>    try {<a name="line.355"></a>
+<span class="sourceLineNo">356</span>      tr = new TimeRange(timestamp, timestamp+1);<a name="line.356"></a>
+<span class="sourceLineNo">357</span>    } catch(Exception e) {<a name="line.357"></a>
+<span class="sourceLineNo">358</span>      // This should never happen, unless integer overflow or something extremely wrong...<a name="line.358"></a>
+<span class="sourceLineNo">359</span>      LOG.error("TimeRange failed, likely caused by integer overflow. ", e);<a name="line.359"></a>
+<span class="sourceLineNo">360</span>      throw e;<a name="line.360"></a>
+<span class="sourceLineNo">361</span>    }<a name="line.361"></a>
+<span class="sourceLineNo">362</span>    return this;<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 public Scan setColumnFamilyTimeRange(byte[] cf, long minStamp, long maxStamp) {<a name="line.365"></a>
+<span class="sourceLineNo">366</span>    return (Scan) super.setColumnFamilyTimeRange(cf, minStamp, maxStamp);<a name="line.366"></a>
+<span class="sourceLineNo">367</span>  }<a name="line.367"></a>
+<span class="sourceLineNo">368</span><a name="line.368"></a>
+<span class="sourceLineNo">369</span>  /**<a name="line.369"></a>
+<span class="sourceLineNo">370</span>   * Set the start row of the scan.<a name="line.370"></a>
+<span class="sourceLineNo">371</span>   * &lt;p&gt;<a name="line.371"></a>
+<span class="sourceLineNo">372</span>   * If the specified row does not exist, the Scanner will start from the<a name="line.372"></a>
+<span class="sourceLineNo">373</span>   * next closest row after the specified row.<a name="line.373"></a>
+<span class="sourceLineNo">374</span>   * @param startRow row to start scanner at or after<a name="line.374"></a>
+<span class="sourceLineNo">375</span>   * @return this<a name="line.375"></a>
+<span class="sourceLineNo">376</span>   */<a name="line.376"></a>
+<span class="sourceLineNo">377</span>  public Scan setStartRow(byte [] startRow) {<a name="line.377"></a>
+<span class="sourceLineNo">378</span>    this.startRow = startRow;<a name="line.378"></a>
+<span class="sourceLineNo">379</span>    return this;<a name="line.379"></a>
+<span class="sourceLineNo">380</span>  }<a name="line.380"></a>
+<span class="sourceLineNo">381</span><a name="line.381"></a>
+<span class="sourceLineNo">382</span>  /**<a name="line.382"></a>
+<span class="sourceLineNo">383</span>   * Set the stop row of the scan.<a name="line.383"></a>
+<span class="sourceLineNo">384</span>   * @param stopRow row to end at (exclusive)<a name="line.384"></a>
+<span class="sourceLineNo">385</span>   * &lt;p&gt;<a name="line.385"></a>
+<span class="sourceLineNo">386</span>   * The scan will include rows that are lexicographically less than<a name="line.386"></a>
+<span class="sourceLineNo">387</span>   * the provided stopRow.<a name="line.387"></a>
+<span class="sourceLineNo">388</span>   * &lt;p&gt;&lt;b&gt;Note:&lt;/b&gt; When doing a filter for a rowKey &lt;u&gt;Prefix&lt;/u&gt;<a name="line.388"></a>
+<span class="sourceLineNo">389</span>   * use {@link #setRowPrefixFilter(byte[])}.<a name="line.389"></a>
+<span class="sourceLineNo">390</span>   * The 'trailing 0' will not yield the desired result.&lt;/p&gt;<a name="line.390"></a>
+<span class="sourceLineNo">391</span>   * @return this<a name="line.391"></a>
+<span class="sourceLineNo">392</span>   */<a name="line.392"></a>
+<span class="sourceLineNo">393</span>  public Scan setStopRow(byte [] stopRow) {<a name="line.393"></a>
+<span class="sourceLineNo">394</span>    this.stopRow = stopRow;<a name="line.394"></a>
+<span class="sourceLineNo">395</span>    return this;<a name="line.395"></a>
+<span class="sourceLineNo">396</span>  }<a name="line.396"></a>
+<span class="sourceLineNo">397</span><a name="line.397"></a>
+<span class="sourceLineNo">398</span>  /**<a name="line.398"></a>
+<span class="sourceLineNo">399</span>   * &lt;p&gt;Set a filter (using stopRow and startRow) so the result set only contains rows where the<a name="line.399"></a>
+<span class="sourceLineNo">400</span>   * rowKey starts with the specified prefix.&lt;/p&gt;<a name="line.400"></a>
+<span class="sourceLineNo">401</span>   * &lt;p&gt;This is a utility method that converts the desired rowPrefix into the appropriate values<a name="line.401"></a>
+<span class="sourceLineNo">402</span>   * for the startRow and stopRow to achieve the desired result.&lt;/p&gt;<a name="line.402"></a>
+<span class="sourceLineNo">403</span>   * &lt;p&gt;This can safely be used in combination with setFilter.&lt;/p&gt;<a name="line.403"></a>
+<span class="sourceLineNo">404</span>   * &lt;p&gt;&lt;b&gt;NOTE: Doing a {@link #setStartRow(byte[])} and/or {@link #setStopRow(byte[])}<a name="line.404"></a>
+<span class="sourceLineNo">405</span>   * after this method will yield undefined results.&lt;/b&gt;&lt;/p&gt;<a name="line.405"></a>
+<span class="sourceLineNo">406</span>   * @param rowPrefix the prefix all rows must start with. (Set &lt;i&gt;null&lt;/i&gt; to remove the filter.)<a name="line.406"></a>
+<span class="sourceLineNo">407</span>   * @return this<a name="line.407"></a>
+<span class="sourceLineNo">408</span>   */<a name="line.408"></a>
+<span class="sourceLineNo">409</span>  public Scan setRowPrefixFilter(byte[] rowPrefix) {<a name="line.409"></a>
+<span class="sourceLineNo">410</span>    if (rowPrefix == null) {<a name="line.410"></a>
+<span class="sourceLineNo">411</span>      setStartRow(HConstants.EMPTY_START_ROW);<a name="line.411"></a>
+<span class="sourceLineNo">412</span>      setStopRow(HConstants.EMPTY_END_ROW);<a name="line.412"></a>
+<span class="sourceLineNo">413</span>    } else {<a name="line.413"></a>
+<span class="sourceLineNo">414</span>      this.setStartRow(rowPrefix);<a name="line.414"></a>
+<span class="sourceLineNo">415</span>      this.setStopRow(calculateTheClosestNextRowKeyForPrefix(rowPrefix));<a name="line.415"></a>
+<span class="sourceLineNo">416</span>    }<a name="line.416"></a>
+<span class="sourceLineNo">417</span>    return this;<a name="line.417"></a>
+<span class="sourceLineNo">418</span>  }<a name="line.418"></a>
+<span class="sourceLineNo">419</span><a name="line.419"></a>
+<span class="sourceLineNo">420</span>  /**<a name="line.420"></a>
+<span class="sourceLineNo">421</span>   * &lt;p&gt;When scanning for a prefix the scan should stop immediately after the the last row that<a name="line.421"></a>
+<span class="sourceLineNo">422</span>   * has the specified prefix. This method calculates the closest next rowKey immediately following<a name="line.422"></a>
+<span class="sourceLineNo">423</span>   * the given rowKeyPrefix.&lt;/p&gt;<a name="line.423"></a>
+<span class="sourceLineNo">424</span>   * &lt;p&gt;&lt;b&gt;IMPORTANT: This converts a rowKey&lt;u&gt;Prefix&lt;/u&gt; into a rowKey&lt;/b&gt;.&lt;/p&gt;<a name="line.424"></a>
+<span class="sourceLineNo">425</span>   * &lt;p&gt;If the prefix is an 'ASCII' string put into a byte[] then this is easy because you can<a name="line.425"></a>
+<span class="sourceLineNo">426</span>   * simply increment the last byte of the array.<a name="line.426"></a>
+<span class="sourceLineNo">427</span>   * But if your application uses real binary rowids you may run into the scenario that your<a name="line.427"></a>
+<span class="sourceLineNo">428</span>   * prefix is something like:&lt;/p&gt;<a name="line.428"></a>
+<span class="sourceLineNo">429</span>   * &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;{ 0x12, 0x23, 0xFF, 0xFF }&lt;/b&gt;&lt;br/&gt;<a name="line.429"></a>
+<span class="sourceLineNo">430</span>   * Then this stopRow needs to be fed into the actual scan&lt;br/&gt;<a name="line.430"></a>
+<span class="sourceLineNo">431</span>   * &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;{ 0x12, 0x24 }&lt;/b&gt; (Notice that it is shorter now)&lt;br/&gt;<a name="line.431"></a>
+<span class="sourceLineNo">432</span>   * This method calculates the correct stop row value for this usecase.<a name="line.432"></a>
+<span class="sourceLineNo">433</span>   *<a name="line.433"></a>
+<span class="sourceLineNo">434</span>   * @param rowKeyPrefix the rowKey&lt;u&gt;Prefix&lt;/u&gt;.<a name="line.434"></a>
+<span class="sourceLineNo">435</span>   * @return the closest next rowKey immediately following the given rowKeyPrefix.<a name="line.435"></a>
+<span class="sourceLineNo">436</span>   */<a name="line.436"></a>
+<span class="sourceLineNo">437</span>  private byte[] calculateTheClosestNextRowKeyForPrefix(byte[] rowKeyPrefix) {<a name="line.437"></a>
+<span class="sourceLineNo">438</span>    // Essentially we are treating it like an 'unsigned very very long' and doing +1 manually.<a name="line.438"></a>
+<span class="sourceLineNo">439</span>    // Search for the place where the trailing 0xFFs start<a name="line.439"></a>
+<span class="sourceLineNo">440</span>    int offset = rowKeyPrefix.length;<a name="line.440"></a>
+<span class="sourceLineNo">441</span>    while (offset &gt; 0) {<a name="line.441"></a>
+<span class="sourceLineNo">442</span>      if (rowKeyPrefix[offset - 1] != (byte) 0xFF) {<a name="line.442"></a>
+<span class="sourceLineNo">443</span>        break;<a name="line.443"></a>
+<span class="sourceLineNo">444</span>      }<a name="line.444"></a>
+<span class="sourceLineNo">445</span>      offset--;<a name="line.445"></a>
+<span class="sourceLineNo">446</span>    }<a name="line.446"></a>
+<span class="sourceLineNo">447</span><a name="line.447"></a>
+<span class="sourceLineNo">448</span>    if (offset == 0) {<a name="line.448"></a>
+<span class="sourceLineNo">449</span>      // We got an 0xFFFF... (only FFs) stopRow value which is<a name="line.449"></a>
+<span class="sourceLineNo">450</span>      // the last possible prefix before the end of the table.<a name="line.450"></a>
+<span class="sourceLineNo">451</span>      // So set it to stop at the 'end of the table'<a name="line.451"></a>
+<span class="sourceLineNo">452</span>      return HConstants.EMPTY_END_ROW;<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>    // Copy the right length of the original<a name="line.455"></a>
+<span class="sourceLineNo">456</span>    byte[] newStopRow = Arrays.copyOfRange(rowKeyPrefix, 0, offset);<a name="line.456"></a>
+<span class="sourceLineNo">457</span>    // And increment the last one<a name="line.457"></a>
+<span class="sourceLineNo">458</span>    newStopRow[newStopRow.length - 1]++;<a name="line.458"></a>
+<span class="sourceLineNo">459</span>    return newStopRow;<a name="line.459"></a>
+<span class="sourceLineNo">460</span>  }<a name="line.460"></a>
+<span class="sourceLineNo">461</span><a name="line.461"></a>
+<span class="sourceLineNo">462</span>  /**<a name="line.462"></a>
+<span class="sourceLineNo">463</span>   * Get all available versions.<a name="line.463"></a>
+<span class="sourceLineNo">464</span>   * @return this<a name="line.464"></a>
+<span class="sourceLineNo">465</span>   */<a name="line.465"></a>
+<span class="sourceLineNo">466</span>  public Scan setMaxVersions() {<a name="line.466"></a>
+<span class="sourceLineNo">467</span>    this.maxVersions = Integer.MAX_VALUE;<a name="line.467"></a>
+<span class="sourceLineNo">468</span>    return this;<a name="line.468"></a>
+<span class="sourceLineNo">469</span>  }<a name="line.469"></a>
+<span class="sourceLineNo">470</span><a name="line.470"></a>
+<span class="sourceLineNo">471</span>  /**<a name="line.471"></a>
+<span class="sourceLineNo">472</span>   * Get up to the specified number of versions of each column.<a name="line.472"></a>
+<span class="sourceLineNo">473</span>   * @param maxVersions maximum versions for each column<a name="line.473"></a>
+<span class="sourceLineNo">474</span>   * @return this<a name="line.474"></a>
+<span class="sourceLineNo">475</span>   */<a name="line.475"></a>
+<span class="sourceLineNo">476</span>  public Scan setMaxVersions(int maxVersions) {<a name="line.476"></a>
+<span class="sourceLineNo">477</span>    this.maxVersions = maxVersions;<a name="line.477"></a>
+<span class="sourceLineNo">478</span>    return this;<a name="line.478"></a>
+<span class="sourceLineNo">479</span>  }<a name="line.479"></a>
+<span class="sourceLineNo">480</span><a name="line.480"></a>
+<span class="sourceLineNo">481</span>  /**<a name="line.481"></a>
+<span class="sourceLineNo">482</span>   * Set the maximum number of values to return for each call to next()<a name="line.482"></a>
+<span class="sourceLineNo">483</span>   * @param batch the maximum number of values<a name="line.483"></a>
+<span class="sourceLineNo">484</span>   */<a name="line.484"></a>
+<span class="sourceLineNo">485</span>  public Scan setBatch(int batch) {<a name="line.485"></a>
+<span class="sourceLineNo">486</span>    if (this.hasFilter() &amp;&amp; this.filter.hasFilterRow()) {<a name="line.486"></a>
+<span class="sourceLineNo">487</span>      throw new IncompatibleFilterException(<a name="line.487"></a>
+<span class="sourceLineNo">488</span>        "Cannot set batch on a scan using a filter" +<a name="line.488"></a>
+<span class="sourceLineNo">489</span>        " that returns true for filter.hasFilterRow");<a name="line.489"></a>
+<span class="sourceLineNo">490</span>    }<a name="line.490"></a>
+<span class="sourceLineNo">491</span>    this.batch = batch;<a name="line.491"></a>
+<span class="sourceLineNo">492</span>    return this;<a name="line.492"></a>
+<span class="sourceLineNo">493</span>  }<a name="line.493"></a>
+<span class="sourceLineNo">494</span><a name="line.494"></a>
+<span class="sourceLineNo">495</span>  /**<a name="line.495"></a>
+<span class="sourceLineNo">496</span>   * Set the maximum number of values to return per row per Column Family<a name="line.496"></a>
+<span class="sourceLineNo">497</span>   * @param limit the maximum number of values returned / row / CF<a name="line.497"></a>
+<span class="sourceLineNo">498</span>   */<a name="line.498"></a>
+<span class="sourceLineNo">499</span>  public Scan setMaxResultsPerColumnFamily(int limit) {<a name="line.499"></a>
+<span class="sourceLineNo">500</span>    this.storeLimit = limit;<a name="line.500"></a>
+<span class="sourceLineNo">501</span>    return this;<a name="line.501"></a>
+<span class="sourceLineNo">502</span>  }<a name="line.502"></a>
+<span class="sourceLineNo">503</span><a name="line.503"></a>
+<span class="sourceLineNo">504</span>  /**<a name="line.504"></a>
+<span class="sourceLineNo">505</span>   * Set offset for the row per Column Family.<a name="line.505"></a>
+<span class="sourceLineNo">506</span>   * @param offset is the number of kvs that will be skipped.<a name="line.506"></a>
+<span class="sourceLineNo">507</span>   */<a name="line.507"></a>
+<span class="sourceLineNo">508</span>  public Scan setRowOffsetPerColumnFamily(int offset) {<a name="line.508"></a>
+<span class="sourceLineNo">509</span>    this.storeOffset = offset;<a name="line.509"></a>
+<span class="sourceLineNo">510</span>    return this;<a name="line.510"></a>
+<span class="sourceLineNo">511</span>  }<a name="line.511"></a>
+<span class="sourceLineNo">512</span><a name="line.512"></a>
+<span class="sourceLineNo">513</span>  /**<a name="line.513"></a>
+<span class="sourceLineNo">514</span>   * Set the number of rows for caching that will be passed to scanners.<a name="line.514"></a>
+<span class="sourceLineNo">515</span>   * If not set, the Configuration setting {@link HConstants#HBASE_CLIENT_SCANNER_CACHING} will<a name="line.515"></a>
+<span class="sourceLineNo">516</span>   * apply.<a name="line.516"></a>
+<span class="sourceLineNo">517</span>   * Higher caching values will enable faster scanners but will use more memory.<a name="line.517"></a>
+<span class="sourceLineNo">518</span>   * @param caching the number of rows for c

<TRUNCATED>

[43/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/checkstyle-aggregate.html
----------------------------------------------------------------------
diff --git a/checkstyle-aggregate.html b/checkstyle-aggregate.html
index 4c6a7e8..eac6537 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="20160129" />
+    <meta name="Date-Revision-yyyymmdd" content="20160201" />
     <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" />
@@ -283,7 +283,7 @@
 <td>1672</td>
 <td>0</td>
 <td>0</td>
-<td>12884</td></tr></table></div>
+<td>12854</td></tr></table></div>
 <div class="section">
 <h2><a name="Files"></a>Files</h2>
 <table border="0" class="table table-striped">
@@ -1351,7 +1351,7 @@
 <td><a href="#org.apache.hadoop.hbase.coprocessor.example.ZooKeeperScanPolicyObserver.java">org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.java</a></td>
 <td>0</td>
 <td>0</td>
-<td>25</td></tr>
+<td>22</td></tr>
 <tr class="b">
 <td><a href="#org.apache.hadoop.hbase.coprocessor.package-info.java">org/apache/hadoop/hbase/coprocessor/package-info.java</a></td>
 <td>0</td>
@@ -1936,7 +1936,7 @@
 <td><a href="#org.apache.hadoop.hbase.io.hfile.HFileBlockIndex.java">org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.java</a></td>
 <td>0</td>
 <td>0</td>
-<td>42</td></tr>
+<td>41</td></tr>
 <tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.HFileContext.java">org/apache/hadoop/hbase/io/hfile/HFileContext.java</a></td>
 <td>0</td>
@@ -2201,7 +2201,7 @@
 <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>90</td></tr>
+<td>84</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>
@@ -3501,7 +3501,7 @@
 <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>
+<td>19</td></tr>
 <tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.DefaultStoreFileManager.java">org/apache/hadoop/hbase/regionserver/DefaultStoreFileManager.java</a></td>
 <td>0</td>
@@ -3556,7 +3556,7 @@
 <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>
+<td>279</td></tr>
 <tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.HRegionFileSystem.java">org/apache/hadoop/hbase/regionserver/HRegionFileSystem.java</a></td>
 <td>0</td>
@@ -3826,7 +3826,7 @@
 <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>
+<td>5</td></tr>
 <tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.RpcSchedulerFactory.java">org/apache/hadoop/hbase/regionserver/RpcSchedulerFactory.java</a></td>
 <td>0</td>
@@ -6028,7 +6028,7 @@
 <tr class="b">
 <td></td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_blocks.html#LeftCurly">LeftCurly</a></td>
-<td>224</td>
+<td>223</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
 <tr class="a">
 <td></td>
@@ -6094,19 +6094,19 @@
 <ul>
 <li>ordered: <tt>&quot;true&quot;</tt></li>
 <li>sortStaticImportsAlphabetically: <tt>&quot;true&quot;</tt></li></ul></td>
-<td>972</td>
+<td>965</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
 <tr class="a">
 <td></td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_imports.html#RedundantImport">RedundantImport</a></td>
-<td>12</td>
+<td>11</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
 <tr class="b">
 <td></td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_imports.html#UnusedImports">UnusedImports</a>
 <ul>
 <li>processJavadoc: <tt>&quot;true&quot;</tt></li></ul></td>
-<td>7</td>
+<td>6</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
 <tr class="a">
 <td>indentation</td>
@@ -6117,19 +6117,19 @@
 <li>arrayInitIndent: <tt>&quot;2&quot;</tt></li>
 <li>throwsIndent: <tt>&quot;2&quot;</tt></li>
 <li>basicOffset: <tt>&quot;2&quot;</tt></li></ul></td>
-<td>4678</td>
+<td>4663</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
 <tr class="b">
 <td>javadoc</td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_javadoc.html#JavadocTagContinuationIndentation">JavadocTagContinuationIndentation</a>
 <ul>
 <li>offset: <tt>&quot;2&quot;</tt></li></ul></td>
-<td>758</td>
+<td>759</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
 <tr class="a">
 <td></td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_javadoc.html#NonEmptyAtclauseDescription">NonEmptyAtclauseDescription</a></td>
-<td>3431</td>
+<td>3425</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
 <tr class="b">
 <td>misc</td>
@@ -14553,7 +14553,7 @@
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
-<td>NonEmptyAtclauseDescription</td>
+<td>JavadocTagContinuationIndentation</td>
 <td>Javadoc comment at column 64 has parse error. Missed HTML close tag 'code'. Sometimes it means that close tag missed for one of previous tags.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/HBaseAdmin.html#L1767">1767</a></td></tr>
 <tr class="a">
@@ -16745,43 +16745,43 @@
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/client/Scan.html#L384">384</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/client/Scan.html#L386">386</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/client/Scan.html#L385">385</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/client/Scan.html#L387">387</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/client/Scan.html#L674">674</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/client/Scan.html#L676">676</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/client/Scan.html#L684">684</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/client/Scan.html#L686">686</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/client/Scan.html#L715">715</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/client/Scan.html#L717">717</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/client/Scan.html#L896">896</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/client/Scan.html#L898">898</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/client/Scan.html#L974">974</a></td></tr></table></div>
+<td><a href="./xref/org/apache/hadoop/hbase/client/Scan.html#L976">976</a></td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.ScannerCallable.java">org/apache/hadoop/hbase/client/ScannerCallable.java</h3>
 <table border="0" class="table table-striped">
@@ -22025,22 +22025,10 @@
 <th>Line</th></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
-<td>imports</td>
-<td>ImportOrder</td>
-<td>Wrong order for 'org.apache.hadoop.hbase.regionserver.ScanInfo' import.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#L37">37</a></td></tr>
-<tr class="b">
-<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
-<td>imports</td>
-<td>ImportOrder</td>
-<td>Wrong order for 'org.apache.hadoop.hbase.regionserver.InternalScanner' import.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#L38">38</a></td></tr>
-<tr class="a">
-<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
-<td>imports</td>
-<td>RedundantImport</td>
-<td>Duplicate import to line 36 - org.apache.hadoop.hbase.regionserver.Store.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#L41">41</a></td></tr>
+<td>indentation</td>
+<td>Indentation</td>
+<td>'case' child have incorrect indentation level 6, expected level should be 8.</td>
+<td><a href="./xref/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#L132">132</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
@@ -22051,80 +22039,80 @@
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'case' child have incorrect indentation level 6, expected level should be 8.</td>
+<td>'try' have incorrect indentation level 6, expected level should be 10.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#L134">134</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'try' have incorrect indentation level 6, expected level should be 10.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#L135">135</a></td></tr>
+<td>'try' child have incorrect indentation level 8, expected level should be 12.</td>
+<td><a href="./xref/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#L136">136</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'try' child have incorrect indentation level 8, expected level should be 12.</td>
+<td>'method call' child have incorrect indentation level 8, expected level should be 12.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#L137">137</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'method call' child have incorrect indentation level 8, expected level should be 12.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#L138">138</a></td></tr>
+<td>'try' child have incorrect indentation level 8, expected level should be 12.</td>
+<td><a href="./xref/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#L137">137</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'try' child have incorrect indentation level 8, expected level should be 12.</td>
+<td>'try rcurly' have incorrect indentation level 6, expected level should be 10.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#L138">138</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'try rcurly' have incorrect indentation level 6, expected level should be 10.</td>
+<td>'catch rcurly' have incorrect indentation level 6, expected level should be 10.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#L139">139</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'catch rcurly' have incorrect indentation level 6, expected level should be 10.</td>
+<td>'catch' child have incorrect indentation level 8, expected level should be 12.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#L140">140</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'catch' child have incorrect indentation level 8, expected level should be 12.</td>
+<td>'catch rcurly' have incorrect indentation level 6, expected level should be 10.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#L141">141</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'catch rcurly' have incorrect indentation level 6, expected level should be 10.</td>
+<td>'block' child have incorrect indentation level 6, expected level should be 10.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#L142">142</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'block' child have incorrect indentation level 6, expected level should be 10.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#L143">143</a></td></tr>
+<td>'case' child have incorrect indentation level 6, expected level should be 8.</td>
+<td><a href="./xref/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#L144">144</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'case' child have incorrect indentation level 6, expected level should be 8.</td>
+<td>'try' have incorrect indentation level 6, expected level should be 10.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#L145">145</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'try' have incorrect indentation level 6, expected level should be 10.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#L146">146</a></td></tr>
+<td>'method call' child have incorrect indentation level 8, expected level should be 12.</td>
+<td><a href="./xref/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#L147">147</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'method call' child have incorrect indentation level 8, expected level should be 12.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#L148">148</a></td></tr>
+<td>'try' child have incorrect indentation level 8, expected level should be 12.</td>
+<td><a href="./xref/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#L147">147</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
@@ -22135,54 +22123,48 @@
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'try' child have incorrect indentation level 8, expected level should be 12.</td>
+<td>'try rcurly' have incorrect indentation level 6, expected level should be 10.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#L149">149</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'try rcurly' have incorrect indentation level 6, expected level should be 10.</td>
+<td>'catch rcurly' have incorrect indentation level 6, expected level should be 10.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#L150">150</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'catch rcurly' have incorrect indentation level 6, expected level should be 10.</td>
+<td>'catch' child have incorrect indentation level 8, expected level should be 12.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#L151">151</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'catch' child have incorrect indentation level 8, expected level should be 12.</td>
+<td>'catch rcurly' have incorrect indentation level 6, expected level should be 10.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#L152">152</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'catch rcurly' have incorrect indentation level 6, expected level should be 10.</td>
+<td>'block' child have incorrect indentation level 6, expected level should be 10.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#L153">153</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
-<td>'block' child have incorrect indentation level 6, expected level should be 10.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#L154">154</a></td></tr>
-<tr class="a">
-<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
-<td>indentation</td>
-<td>Indentation</td>
 <td>'case' child have incorrect indentation level 6, expected level should be 8.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#L156">156</a></td></tr></table></div>
+<td><a href="./xref/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#L155">155</a></td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.coprocessor.package-info.java">org/apache/hadoop/hbase/coprocessor/package-info.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
@@ -22191,49 +22173,49 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.errorhandling.ForeignException.java">org/apache/hadoop/hbase/errorhandling/ForeignException.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'com.google.protobuf.InvalidProtocolBufferException' import.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/errorhandling/ForeignException.html#L30">30</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/errorhandling/ForeignException.html#L57">57</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/errorhandling/ForeignException.html#L58">58</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/errorhandling/ForeignException.html#L70">70</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/errorhandling/ForeignException.html#L71">71</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/errorhandling/ForeignException.html#L109">109</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
@@ -22242,13 +22224,13 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.errorhandling.ForeignExceptionDispatcher.java">org/apache/hadoop/hbase/errorhandling/ForeignExceptionDispatcher.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
@@ -22257,13 +22239,13 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.errorhandling.TimeoutExceptionInjector.java">org/apache/hadoop/hbase/errorhandling/TimeoutExceptionInjector.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
@@ -22272,25 +22254,25 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.exceptions.FailedSanityCheckException.java">org/apache/hadoop/hbase/exceptions/FailedSanityCheckException.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/exceptions/FailedSanityCheckException.html#L40">40</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/exceptions/FailedSanityCheckException.html#L47">47</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
@@ -22299,13 +22281,13 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.exceptions.LockTimeoutException.java">org/apache/hadoop/hbase/exceptions/LockTimeoutException.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
@@ -22314,175 +22296,175 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.exceptions.PreemptiveFastFailException.java">org/apache/hadoop/hbase/exceptions/PreemptiveFastFailException.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.ServerName' import.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/exceptions/PreemptiveFastFailException.html#L26">26</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'class def modifier' have incorrect indentation level 1, expected level should be 0.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/exceptions/PreemptiveFastFailException.html#L35">35</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'class def modifier' have incorrect indentation level 1, expected level should be 0.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/exceptions/PreemptiveFastFailException.html#L36">36</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'class def modifier' have incorrect indentation level 1, expected level should be 0.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/exceptions/PreemptiveFastFailException.html#L37">37</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'member def modifier' have incorrect indentation level 3, expected level should be 2.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/exceptions/PreemptiveFastFailException.html#L38">38</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'member def modifier' have incorrect indentation level 3, expected level should be 2.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/exceptions/PreemptiveFastFailException.html#L39">39</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/exceptions/PreemptiveFastFailException.html#L42">42</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/exceptions/PreemptiveFastFailException.html#L43">43</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/exceptions/PreemptiveFastFailException.html#L44">44</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/exceptions/PreemptiveFastFailException.html#L45">45</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'ctor def modifier' have incorrect indentation level 3, expected level should be 2.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/exceptions/PreemptiveFastFailException.html#L47">47</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'ctor def' child have incorrect indentation level 5, expected level should be 4.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/exceptions/PreemptiveFastFailException.html#L50">50</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'ctor def' child have incorrect indentation level 5, expected level should be 4.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/exceptions/PreemptiveFastFailException.html#L51">51</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'ctor def' child have incorrect indentation level 5, expected level should be 4.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/exceptions/PreemptiveFastFailException.html#L52">52</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'ctor def rcurly' have incorrect indentation level 3, expected level should be 2.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/exceptions/PreemptiveFastFailException.html#L53">53</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def modifier' have incorrect indentation level 3, expected level should be 2.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/exceptions/PreemptiveFastFailException.html#L55">55</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child have incorrect indentation level 5, expected level should be 4.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/exceptions/PreemptiveFastFailException.html#L56">56</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def rcurly' have incorrect indentation level 3, expected level should be 2.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/exceptions/PreemptiveFastFailException.html#L57">57</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def modifier' have incorrect indentation level 3, expected level should be 2.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/exceptions/PreemptiveFastFailException.html#L59">59</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child have incorrect indentation level 5, expected level should be 4.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/exceptions/PreemptiveFastFailException.html#L60">60</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def rcurly' have incorrect indentation level 3, expected level should be 2.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/exceptions/PreemptiveFastFailException.html#L61">61</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def modifier' have incorrect indentation level 3, expected level should be 2.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/exceptions/PreemptiveFastFailException.html#L63">63</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child have incorrect indentation level 5, expected level should be 4.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/exceptions/PreemptiveFastFailException.html#L64">64</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def rcurly' have incorrect indentation level 3, expected level should be 2.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/exceptions/PreemptiveFastFailException.html#L65">65</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def modifier' have incorrect indentation level 3, expected level should be 2.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/exceptions/PreemptiveFastFailException.html#L67">67</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child have incorrect indentation level 5, expected level should be 4.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/exceptions/PreemptiveFastFailException.html#L68">68</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def rcurly' have incorrect indentation level 3, expected level should be 2.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/exceptions/PreemptiveFastFailException.html#L69">69</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
@@ -22491,19 +22473,19 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.executor.EventHandler.java">org/apache/hadoop/hbase/executor/EventHandler.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.Server' import.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/executor/EventHandler.html#L27">27</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
@@ -22512,19 +22494,19 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.executor.EventType.java">org/apache/hadoop/hbase/executor/EventType.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/executor/EventType.html#L295">295</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
@@ -22533,37 +22515,37 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.executor.ExecutorService.java">org/apache/hadoop/hbase/executor/ExecutorService.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'com.google.common.annotations.VisibleForTesting' import.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/executor/ExecutorService.html#L40">40</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/executor/ExecutorService.html#L183">183</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/executor/ExecutorService.html#L247">247</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/executor/ExecutorService.html#L248">248</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
@@ -22572,13 +22554,13 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.executor.ExecutorType.java">org/apache/hadoop/hbase/executor/ExecutorType.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
@@ -22587,43 +22569,43 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.filter.BinaryComparator.java">org/apache/hadoop/hbase/filter/BinaryComparator.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'com.google.protobuf.InvalidProtocolBufferException' import.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/BinaryComparator.html#L31">31</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/BinaryComparator.html#L72">72</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/BinaryComparator.html#L87">87</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/BinaryComparator.html#L89">89</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/BinaryComparator.html#L92">92</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
@@ -22632,43 +22614,43 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.filter.BinaryPrefixComparator.java">org/apache/hadoop/hbase/filter/BinaryPrefixComparator.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'com.google.protobuf.InvalidProtocolBufferException' import.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/BinaryPrefixComparator.html#L31">31</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/BinaryPrefixComparator.html#L77">77</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/BinaryPrefixComparator.html#L92">92</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/BinaryPrefixComparator.html#L94">94</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/BinaryPrefixComparator.html#L97">97</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
@@ -22677,55 +22659,55 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.filter.BitComparator.java">org/apache/hadoop/hbase/filter/BitComparator.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'com.google.protobuf.InvalidProtocolBufferException' import.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/BitComparator.html#L29">29</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/BitComparator.html#L85">85</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/BitComparator.html#L101">101</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/BitComparator.html#L103">103</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/BitComparator.html#L106">106</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/BitComparator.html#L107">107</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>coding</td>
 <td>MissingSwitchDefault</td>
 <td>switch without &quot;default&quot; clause.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/BitComparator.html#L122">122</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>coding</td>
 <td>MissingSwitchDefault</td>
@@ -22734,37 +22716,37 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.filter.ByteArrayComparable.java">org/apache/hadoop/hbase/filter/ByteArrayComparable.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ByteArrayComparable.html#L63">63</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ByteArrayComparable.html#L70">70</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ByteArrayComparable.html#L80">80</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ByteArrayComparable.html#L82">82</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
@@ -22773,43 +22755,43 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.filter.ColumnCountGetFilter.java">org/apache/hadoop/hbase/filter/ColumnCountGetFilter.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'com.google.common.base.Preconditions' import.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#L31">31</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#L97">97</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#L112">112</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#L114">114</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#L117">117</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
@@ -22818,73 +22800,73 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.filter.ColumnPaginationFilter.java">org/apache/hadoop/hbase/filter/ColumnPaginationFilter.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'com.google.common.base.Preconditions' import.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#L34">34</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 115).</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#L39">39</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 110).</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#L40">40</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>LeftCurly</td>
 <td>'{' at column 3 should be on the previous line.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#L62">62</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>LeftCurly</td>
 <td>'{' at column 3 should be on the previous line.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#L117">117</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>LeftCurly</td>
 <td>'{' at column 3 should be on the previous line.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#L152">152</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#L183">183</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#L202">202</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#L204">204</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#L207">207</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
@@ -22893,73 +22875,73 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.filter.ColumnPrefixFilter.java">org/apache/hadoop/hbase/filter/ColumnPrefixFilter.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'com.google.common.base.Preconditions' import.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#L36">36</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#L115">115</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#L122">122</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#L137">137</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#L139">139</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#L142">142</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' have incorrect indentation level 3, expected level should be 4.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#L142">142</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#L143">143</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' have incorrect indentation level 3, expected level should be 4.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#L143">143</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'member def type' have incorrect indentation level 3, expected level should be 4.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#L145">145</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
@@ -22968,133 +22950,133 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.filter.ColumnRangeFilter.java">org/apache/hadoop/hbase/filter/ColumnRangeFilter.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'java.io.IOException' import.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#L24">24</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'com.google.common.base.Preconditions' import.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#L37">37</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#L64">64</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#L68">68</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#L164">164</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#L166">166</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#L178">178</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#L180">180</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#L188">188</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#L205">205</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#L207">207</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#L210">210</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' have incorrect indentation level 3, expected level should be 4.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#L210">210</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#L211">211</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' have incorrect indentation level 3, expected level should be 4.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#L211">211</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'member def type' have incorrect indentation level 3, expected level should be 4.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#L213">213</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child have incorrect indentation level 3, expected level should be 4.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#L213">213</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child have incorrect indentation level 3, expected level should be 4.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#L214">214</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child have incorrect indentation level 5, expected level should be 6.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#L215">215</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child have incorrect indentation level 5, expected level should be 6.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#L216">216</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
@@ -23103,133 +23085,133 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.filter.CompareFilter.java">org/apache/hadoop/hbase/filter/CompareFilter.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'com.google.common.base.Preconditions' import.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/CompareFilter.html#L35">35</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 4, expected level should be 6.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/CompareFilter.html#L147">147</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 6, expected level should be 8.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/CompareFilter.html#L148">148</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 4, expected level should be 6.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/CompareFilter.html#L149">149</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 6, expected level should be 8.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/CompareFilter.html#L150">150</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 4, expected level should be 6.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/CompareFilter.html#L151">151</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 6, expected level should be 8.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/CompareFilter.html#L152">152</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 4, expected level should be 6.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/CompareFilter.html#L153">153</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 6, expected level should be 8.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/CompareFilter.html#L154">154</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 4, expected level should be 6.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/CompareFilter.html#L155">155</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 6, expected level should be 8.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/CompareFilter.html#L156">156</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 4, expected level should be 6.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/CompareFilter.html#L157">157</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 6, expected level should be 8.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/CompareFilter.html#L158">158</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 4, expected level should be 6.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/CompareFilter.html#L159">159</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 6, expected level should be 8.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/CompareFilter.html#L160">160</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>whitespace</td>
 <td>MethodParamPad</td>
 <td>'(' is preceded with whitespace.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/CompareFilter.html#L176">176</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/CompareFilter.html#L194">194</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/CompareFilter.html#L200">200</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/CompareFilter.html#L202">202</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/CompareFilter.html#L205">205</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
@@ -23238,55 +23220,55 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.filter.DependentColumnFilter.java">org/apache/hadoop/hbase/filter/DependentColumnFilter.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'com.google.common.base.Preconditions' import.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#L38">38</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child have incorrect indentation level 8, expected level should be 6.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#L141">141</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#L144">144</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#L236">236</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#L264">264</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#L266">266</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#L271">271</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
@@ -23295,61 +23277,61 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.filter.FamilyFilter.java">org/apache/hadoop/hbase/filter/FamilyFilter.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'com.google.protobuf.InvalidProtocolBufferException' import.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/FamilyFilter.html#L32">32</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 144).</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/FamilyFilter.html#L40">40</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 116).</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/FamilyFilter.html#L45">45</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/FamilyFilter.html#L94">94</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/FamilyFilter.html#L119">119</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/FamilyFilter.html#L121">121</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/FamilyFilter.html#L124">124</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/FamilyFilter.html#L125">125</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
@@ -23358,31 +23340,31 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.filter.Filter.java">org/apache/hadoop/hbase/filter/Filter.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 101).</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/Filter.html#L42">42</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'enum def rcurly' have incorrect indentation level 0, expected level should be 2.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/Filter.html#L188">188</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/Filter.html#L267">267</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
@@ -23391,19 +23373,19 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.filter.FilterBase.java">org/apache/hadoop/hbase/filter/FilterBase.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/FilterBase.html#L170">170</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
@@ -23412,229 +23394,229 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.filter.FilterList.java">org/apache/hadoop/hbase/filter/FilterList.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'com.google.protobuf.InvalidProtocolBufferException' import.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/FilterList.html#L35">35</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/FilterList.html#L101">101</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 8, expected level should be 10.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/FilterList.html#L266">266</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 10, expected level should be 12.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/FilterList.html#L267">267</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 8, expected level should be 10.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/FilterList.html#L268">268</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 10, expected level should be 12.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/FilterList.html#L269">269</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 10, expected level should be 12.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/FilterList.html#L270">270</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 8, expected level should be 10.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/FilterList.html#L271">271</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 10, expected level should be 12.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/FilterList.html#L272">272</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 10, expected level should be 12.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/FilterList.html#L273">273</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 8, expected level should be 10.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/FilterList.html#L274">274</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 10, expected level should be 12.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/FilterList.html#L275">275</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 8, expected level should be 10.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/FilterList.html#L283">283</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' have incorrect indentation level 10, expected level should be 12.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/FilterList.html#L284">284</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child have incorrect indentation level 12, expected level should be 14.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/FilterList.html#L285">285</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if rcurly' have incorrect indentation level 10, expected level should be 12.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/FilterList.html#L286">286</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 10, expected level should be 12.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/FilterList.html#L287">287</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 10, expected level should be 12.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/FilterList.html#L288">288</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 8, expected level should be 10.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/FilterList.html#L289">289</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 10, expected level should be 12.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/FilterList.html#L290">290</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 10, expected level should be 12.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/FilterList.html#L291">291</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 10, expected level should be 12.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/FilterList.html#L293">293</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 8, expected level should be 10.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/FilterList.html#L294">294</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 10, expected level should be 12.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/FilterList.html#L295">295</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 8, expected level should be 10.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/FilterList.html#L296">296</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 10, expected level should be 12.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/FilterList.html#L297">297</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 8, expected level should be 10.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/FilterList.html#L298">298</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 10, expected level should be 12.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/FilterList.html#L299">299</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 8, expected level should be 10.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/FilterList.html#L300">300</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 10, expected level should be 12.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/FilterList.html#L301">301</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 8, expected level should be 10.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/FilterList.html#L302">302</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 10, expected level should be 12.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/FilterList.html#L303">303</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/FilterList.html#L374">374</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/FilterList.html#L401">401</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/filter/FilterList.html#L403">403</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' constr

<TRUNCATED>

[17/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/src-html/org/apache/hadoop/hbase/HConstants.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/HConstants.html b/devapidocs/src-html/org/apache/hadoop/hbase/HConstants.html
index 78acfb7..8c20ead 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/HConstants.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/HConstants.html
@@ -1020,258 +1020,253 @@
 <span class="sourceLineNo">1012</span><a name="line.1012"></a>
 <span class="sourceLineNo">1013</span>  public static final String LOAD_BALANCER_SLOP_KEY = "hbase.regions.slop";<a name="line.1013"></a>
 <span class="sourceLineNo">1014</span><a name="line.1014"></a>
-<span class="sourceLineNo">1015</span>  /**<a name="line.1015"></a>
-<span class="sourceLineNo">1016</span>   * The byte array represents for NO_NEXT_INDEXED_KEY;<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span>   * The actual value is irrelevant because this is always compared by reference.<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span>   */<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span>  public static final Cell NO_NEXT_INDEXED_KEY = new KeyValue();<a name="line.1019"></a>
-<span class="sourceLineNo">1020</span>  /** delimiter used between portions of a region name */<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span>  public static final int DELIMITER = ',';<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span><a name="line.1022"></a>
-<span class="sourceLineNo">1023</span>  /**<a name="line.1023"></a>
-<span class="sourceLineNo">1024</span>   * QOS attributes: these attributes are used to demarcate RPC call processing<a name="line.1024"></a>
-<span class="sourceLineNo">1025</span>   * by different set of handlers. For example, HIGH_QOS tagged methods are<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span>   * handled by high priority handlers.<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span>   */<a name="line.1027"></a>
-<span class="sourceLineNo">1028</span>  // normal_QOS &lt; QOS_threshold &lt; replication_QOS &lt; replay_QOS &lt; admin_QOS &lt; high_QOS<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span>  public static final int NORMAL_QOS = 0;<a name="line.1029"></a>
-<span class="sourceLineNo">1030</span>  public static final int QOS_THRESHOLD = 10;<a name="line.1030"></a>
-<span class="sourceLineNo">1031</span>  public static final int HIGH_QOS = 200;<a name="line.1031"></a>
-<span class="sourceLineNo">1032</span>  public static final int REPLICATION_QOS = 5;<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span>  public static final int REPLAY_QOS = 6;<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span>  public static final int ADMIN_QOS = 100;<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span>  public static final int SYSTEMTABLE_QOS = HIGH_QOS;<a name="line.1035"></a>
-<span class="sourceLineNo">1036</span><a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>  /** Directory under /hbase where archived hfiles are stored */<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span>  public static final String HFILE_ARCHIVE_DIRECTORY = "archive";<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span><a name="line.1039"></a>
-<span class="sourceLineNo">1040</span>  /**<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span>   * Name of the directory to store all snapshots. See SnapshotDescriptionUtils for<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span>   * remaining snapshot constants; this is here to keep HConstants dependencies at a minimum and<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span>   * uni-directional.<a name="line.1043"></a>
-<span class="sourceLineNo">1044</span>   */<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span>  public static final String SNAPSHOT_DIR_NAME = ".hbase-snapshot";<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span><a name="line.1046"></a>
-<span class="sourceLineNo">1047</span>  /* Name of old snapshot directory. See HBASE-8352 for details on why it needs to be renamed */<a name="line.1047"></a>
-<span class="sourceLineNo">1048</span>  public static final String OLD_SNAPSHOT_DIR_NAME = ".snapshot";<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span><a name="line.1049"></a>
-<span class="sourceLineNo">1050</span>  /** Temporary directory used for table creation and deletion */<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span>  public static final String HBASE_TEMP_DIRECTORY = ".tmp";<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span>  /**<a name="line.1052"></a>
-<span class="sourceLineNo">1053</span>   * The period (in milliseconds) between computing region server point in time metrics<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span>   */<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span>  public static final String REGIONSERVER_METRICS_PERIOD = "hbase.regionserver.metrics.period";<a name="line.1055"></a>
-<span class="sourceLineNo">1056</span>  public static final long DEFAULT_REGIONSERVER_METRICS_PERIOD = 5000;<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span>  /** Directories that are not HBase table directories */<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span>  public static final List&lt;String&gt; HBASE_NON_TABLE_DIRS =<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span>    Collections.unmodifiableList(Arrays.asList(new String[] {<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span>      HBCK_SIDELINEDIR_NAME, HBASE_TEMP_DIRECTORY, MIGRATION_NAME<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span>    }));<a name="line.1061"></a>
-<span class="sourceLineNo">1062</span><a name="line.1062"></a>
-<span class="sourceLineNo">1063</span>  /** Directories that are not HBase user table directories */<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span>  public static final List&lt;String&gt; HBASE_NON_USER_TABLE_DIRS =<a name="line.1064"></a>
-<span class="sourceLineNo">1065</span>    Collections.unmodifiableList(Arrays.asList((String[])ArrayUtils.addAll(<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span>      new String[] { TableName.META_TABLE_NAME.getNameAsString() },<a name="line.1066"></a>
-<span class="sourceLineNo">1067</span>      HBASE_NON_TABLE_DIRS.toArray())));<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span><a name="line.1068"></a>
-<span class="sourceLineNo">1069</span>  /** Health script related settings. */<a name="line.1069"></a>
-<span class="sourceLineNo">1070</span>  public static final String HEALTH_SCRIPT_LOC = "hbase.node.health.script.location";<a name="line.1070"></a>
-<span class="sourceLineNo">1071</span>  public static final String HEALTH_SCRIPT_TIMEOUT = "hbase.node.health.script.timeout";<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span>  public static final String HEALTH_CHORE_WAKE_FREQ =<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span>      "hbase.node.health.script.frequency";<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span>  public static final long DEFAULT_HEALTH_SCRIPT_TIMEOUT = 60000;<a name="line.1074"></a>
-<span class="sourceLineNo">1075</span>  /**<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span>   * The maximum number of health check failures a server can encounter consecutively.<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span>   */<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span>  public static final String HEALTH_FAILURE_THRESHOLD =<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span>      "hbase.node.health.failure.threshold";<a name="line.1079"></a>
-<span class="sourceLineNo">1080</span>  public static final int DEFAULT_HEALTH_FAILURE_THRESHOLD = 3;<a name="line.1080"></a>
-<span class="sourceLineNo">1081</span><a name="line.1081"></a>
-<span class="sourceLineNo">1082</span><a name="line.1082"></a>
-<span class="sourceLineNo">1083</span>  /**<a name="line.1083"></a>
-<span class="sourceLineNo">1084</span>   * Setting to activate, or not, the publication of the status by the master. Default<a name="line.1084"></a>
-<span class="sourceLineNo">1085</span>   *  notification is by a multicast message.<a name="line.1085"></a>
-<span class="sourceLineNo">1086</span>   */<a name="line.1086"></a>
-<span class="sourceLineNo">1087</span>  public static final String STATUS_PUBLISHED = "hbase.status.published";<a name="line.1087"></a>
-<span class="sourceLineNo">1088</span>  public static final boolean STATUS_PUBLISHED_DEFAULT = false;<a name="line.1088"></a>
-<span class="sourceLineNo">1089</span><a name="line.1089"></a>
-<span class="sourceLineNo">1090</span>  /**<a name="line.1090"></a>
-<span class="sourceLineNo">1091</span>   * IP to use for the multicast status messages between the master and the clients.<a name="line.1091"></a>
-<span class="sourceLineNo">1092</span>   * The default address is chosen as one among others within the ones suitable for multicast<a name="line.1092"></a>
-<span class="sourceLineNo">1093</span>   * messages.<a name="line.1093"></a>
-<span class="sourceLineNo">1094</span>   */<a name="line.1094"></a>
-<span class="sourceLineNo">1095</span>  public static final String STATUS_MULTICAST_ADDRESS = "hbase.status.multicast.address.ip";<a name="line.1095"></a>
-<span class="sourceLineNo">1096</span>  public static final String DEFAULT_STATUS_MULTICAST_ADDRESS = "226.1.1.3";<a name="line.1096"></a>
-<span class="sourceLineNo">1097</span><a name="line.1097"></a>
-<span class="sourceLineNo">1098</span>  /**<a name="line.1098"></a>
-<span class="sourceLineNo">1099</span>   * The address to use for binding the local socket for receiving multicast. Defaults to<a name="line.1099"></a>
-<span class="sourceLineNo">1100</span>   * 0.0.0.0.<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span>   * @see &lt;a href="https://issues.apache.org/jira/browse/HBASE-9961"&gt;HBASE-9961&lt;/a&gt;<a name="line.1101"></a>
-<span class="sourceLineNo">1102</span>   */<a name="line.1102"></a>
-<span class="sourceLineNo">1103</span>  public static final String STATUS_MULTICAST_BIND_ADDRESS =<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span>      "hbase.status.multicast.bind.address.ip";<a name="line.1104"></a>
-<span class="sourceLineNo">1105</span>  public static final String DEFAULT_STATUS_MULTICAST_BIND_ADDRESS = "0.0.0.0";<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span><a name="line.1106"></a>
-<span class="sourceLineNo">1107</span>  /**<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span>   * The port to use for the multicast messages.<a name="line.1108"></a>
-<span class="sourceLineNo">1109</span>   */<a name="line.1109"></a>
-<span class="sourceLineNo">1110</span>  public static final String STATUS_MULTICAST_PORT = "hbase.status.multicast.address.port";<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span>  public static final int DEFAULT_STATUS_MULTICAST_PORT = 16100;<a name="line.1111"></a>
+<span class="sourceLineNo">1015</span>  /** delimiter used between portions of a region name */<a name="line.1015"></a>
+<span class="sourceLineNo">1016</span>  public static final int DELIMITER = ',';<a name="line.1016"></a>
+<span class="sourceLineNo">1017</span><a name="line.1017"></a>
+<span class="sourceLineNo">1018</span>  /**<a name="line.1018"></a>
+<span class="sourceLineNo">1019</span>   * QOS attributes: these attributes are used to demarcate RPC call processing<a name="line.1019"></a>
+<span class="sourceLineNo">1020</span>   * by different set of handlers. For example, HIGH_QOS tagged methods are<a name="line.1020"></a>
+<span class="sourceLineNo">1021</span>   * handled by high priority handlers.<a name="line.1021"></a>
+<span class="sourceLineNo">1022</span>   */<a name="line.1022"></a>
+<span class="sourceLineNo">1023</span>  // normal_QOS &lt; QOS_threshold &lt; replication_QOS &lt; replay_QOS &lt; admin_QOS &lt; high_QOS<a name="line.1023"></a>
+<span class="sourceLineNo">1024</span>  public static final int NORMAL_QOS = 0;<a name="line.1024"></a>
+<span class="sourceLineNo">1025</span>  public static final int QOS_THRESHOLD = 10;<a name="line.1025"></a>
+<span class="sourceLineNo">1026</span>  public static final int HIGH_QOS = 200;<a name="line.1026"></a>
+<span class="sourceLineNo">1027</span>  public static final int REPLICATION_QOS = 5;<a name="line.1027"></a>
+<span class="sourceLineNo">1028</span>  public static final int REPLAY_QOS = 6;<a name="line.1028"></a>
+<span class="sourceLineNo">1029</span>  public static final int ADMIN_QOS = 100;<a name="line.1029"></a>
+<span class="sourceLineNo">1030</span>  public static final int SYSTEMTABLE_QOS = HIGH_QOS;<a name="line.1030"></a>
+<span class="sourceLineNo">1031</span><a name="line.1031"></a>
+<span class="sourceLineNo">1032</span>  /** Directory under /hbase where archived hfiles are stored */<a name="line.1032"></a>
+<span class="sourceLineNo">1033</span>  public static final String HFILE_ARCHIVE_DIRECTORY = "archive";<a name="line.1033"></a>
+<span class="sourceLineNo">1034</span><a name="line.1034"></a>
+<span class="sourceLineNo">1035</span>  /**<a name="line.1035"></a>
+<span class="sourceLineNo">1036</span>   * Name of the directory to store all snapshots. See SnapshotDescriptionUtils for<a name="line.1036"></a>
+<span class="sourceLineNo">1037</span>   * remaining snapshot constants; this is here to keep HConstants dependencies at a minimum and<a name="line.1037"></a>
+<span class="sourceLineNo">1038</span>   * uni-directional.<a name="line.1038"></a>
+<span class="sourceLineNo">1039</span>   */<a name="line.1039"></a>
+<span class="sourceLineNo">1040</span>  public static final String SNAPSHOT_DIR_NAME = ".hbase-snapshot";<a name="line.1040"></a>
+<span class="sourceLineNo">1041</span><a name="line.1041"></a>
+<span class="sourceLineNo">1042</span>  /* Name of old snapshot directory. See HBASE-8352 for details on why it needs to be renamed */<a name="line.1042"></a>
+<span class="sourceLineNo">1043</span>  public static final String OLD_SNAPSHOT_DIR_NAME = ".snapshot";<a name="line.1043"></a>
+<span class="sourceLineNo">1044</span><a name="line.1044"></a>
+<span class="sourceLineNo">1045</span>  /** Temporary directory used for table creation and deletion */<a name="line.1045"></a>
+<span class="sourceLineNo">1046</span>  public static final String HBASE_TEMP_DIRECTORY = ".tmp";<a name="line.1046"></a>
+<span class="sourceLineNo">1047</span>  /**<a name="line.1047"></a>
+<span class="sourceLineNo">1048</span>   * The period (in milliseconds) between computing region server point in time metrics<a name="line.1048"></a>
+<span class="sourceLineNo">1049</span>   */<a name="line.1049"></a>
+<span class="sourceLineNo">1050</span>  public static final String REGIONSERVER_METRICS_PERIOD = "hbase.regionserver.metrics.period";<a name="line.1050"></a>
+<span class="sourceLineNo">1051</span>  public static final long DEFAULT_REGIONSERVER_METRICS_PERIOD = 5000;<a name="line.1051"></a>
+<span class="sourceLineNo">1052</span>  /** Directories that are not HBase table directories */<a name="line.1052"></a>
+<span class="sourceLineNo">1053</span>  public static final List&lt;String&gt; HBASE_NON_TABLE_DIRS =<a name="line.1053"></a>
+<span class="sourceLineNo">1054</span>    Collections.unmodifiableList(Arrays.asList(new String[] {<a name="line.1054"></a>
+<span class="sourceLineNo">1055</span>      HBCK_SIDELINEDIR_NAME, HBASE_TEMP_DIRECTORY, MIGRATION_NAME<a name="line.1055"></a>
+<span class="sourceLineNo">1056</span>    }));<a name="line.1056"></a>
+<span class="sourceLineNo">1057</span><a name="line.1057"></a>
+<span class="sourceLineNo">1058</span>  /** Directories that are not HBase user table directories */<a name="line.1058"></a>
+<span class="sourceLineNo">1059</span>  public static final List&lt;String&gt; HBASE_NON_USER_TABLE_DIRS =<a name="line.1059"></a>
+<span class="sourceLineNo">1060</span>    Collections.unmodifiableList(Arrays.asList((String[])ArrayUtils.addAll(<a name="line.1060"></a>
+<span class="sourceLineNo">1061</span>      new String[] { TableName.META_TABLE_NAME.getNameAsString() },<a name="line.1061"></a>
+<span class="sourceLineNo">1062</span>      HBASE_NON_TABLE_DIRS.toArray())));<a name="line.1062"></a>
+<span class="sourceLineNo">1063</span><a name="line.1063"></a>
+<span class="sourceLineNo">1064</span>  /** Health script related settings. */<a name="line.1064"></a>
+<span class="sourceLineNo">1065</span>  public static final String HEALTH_SCRIPT_LOC = "hbase.node.health.script.location";<a name="line.1065"></a>
+<span class="sourceLineNo">1066</span>  public static final String HEALTH_SCRIPT_TIMEOUT = "hbase.node.health.script.timeout";<a name="line.1066"></a>
+<span class="sourceLineNo">1067</span>  public static final String HEALTH_CHORE_WAKE_FREQ =<a name="line.1067"></a>
+<span class="sourceLineNo">1068</span>      "hbase.node.health.script.frequency";<a name="line.1068"></a>
+<span class="sourceLineNo">1069</span>  public static final long DEFAULT_HEALTH_SCRIPT_TIMEOUT = 60000;<a name="line.1069"></a>
+<span class="sourceLineNo">1070</span>  /**<a name="line.1070"></a>
+<span class="sourceLineNo">1071</span>   * The maximum number of health check failures a server can encounter consecutively.<a name="line.1071"></a>
+<span class="sourceLineNo">1072</span>   */<a name="line.1072"></a>
+<span class="sourceLineNo">1073</span>  public static final String HEALTH_FAILURE_THRESHOLD =<a name="line.1073"></a>
+<span class="sourceLineNo">1074</span>      "hbase.node.health.failure.threshold";<a name="line.1074"></a>
+<span class="sourceLineNo">1075</span>  public static final int DEFAULT_HEALTH_FAILURE_THRESHOLD = 3;<a name="line.1075"></a>
+<span class="sourceLineNo">1076</span><a name="line.1076"></a>
+<span class="sourceLineNo">1077</span><a name="line.1077"></a>
+<span class="sourceLineNo">1078</span>  /**<a name="line.1078"></a>
+<span class="sourceLineNo">1079</span>   * Setting to activate, or not, the publication of the status by the master. Default<a name="line.1079"></a>
+<span class="sourceLineNo">1080</span>   *  notification is by a multicast message.<a name="line.1080"></a>
+<span class="sourceLineNo">1081</span>   */<a name="line.1081"></a>
+<span class="sourceLineNo">1082</span>  public static final String STATUS_PUBLISHED = "hbase.status.published";<a name="line.1082"></a>
+<span class="sourceLineNo">1083</span>  public static final boolean STATUS_PUBLISHED_DEFAULT = false;<a name="line.1083"></a>
+<span class="sourceLineNo">1084</span><a name="line.1084"></a>
+<span class="sourceLineNo">1085</span>  /**<a name="line.1085"></a>
+<span class="sourceLineNo">1086</span>   * IP to use for the multicast status messages between the master and the clients.<a name="line.1086"></a>
+<span class="sourceLineNo">1087</span>   * The default address is chosen as one among others within the ones suitable for multicast<a name="line.1087"></a>
+<span class="sourceLineNo">1088</span>   * messages.<a name="line.1088"></a>
+<span class="sourceLineNo">1089</span>   */<a name="line.1089"></a>
+<span class="sourceLineNo">1090</span>  public static final String STATUS_MULTICAST_ADDRESS = "hbase.status.multicast.address.ip";<a name="line.1090"></a>
+<span class="sourceLineNo">1091</span>  public static final String DEFAULT_STATUS_MULTICAST_ADDRESS = "226.1.1.3";<a name="line.1091"></a>
+<span class="sourceLineNo">1092</span><a name="line.1092"></a>
+<span class="sourceLineNo">1093</span>  /**<a name="line.1093"></a>
+<span class="sourceLineNo">1094</span>   * The address to use for binding the local socket for receiving multicast. Defaults to<a name="line.1094"></a>
+<span class="sourceLineNo">1095</span>   * 0.0.0.0.<a name="line.1095"></a>
+<span class="sourceLineNo">1096</span>   * @see &lt;a href="https://issues.apache.org/jira/browse/HBASE-9961"&gt;HBASE-9961&lt;/a&gt;<a name="line.1096"></a>
+<span class="sourceLineNo">1097</span>   */<a name="line.1097"></a>
+<span class="sourceLineNo">1098</span>  public static final String STATUS_MULTICAST_BIND_ADDRESS =<a name="line.1098"></a>
+<span class="sourceLineNo">1099</span>      "hbase.status.multicast.bind.address.ip";<a name="line.1099"></a>
+<span class="sourceLineNo">1100</span>  public static final String DEFAULT_STATUS_MULTICAST_BIND_ADDRESS = "0.0.0.0";<a name="line.1100"></a>
+<span class="sourceLineNo">1101</span><a name="line.1101"></a>
+<span class="sourceLineNo">1102</span>  /**<a name="line.1102"></a>
+<span class="sourceLineNo">1103</span>   * The port to use for the multicast messages.<a name="line.1103"></a>
+<span class="sourceLineNo">1104</span>   */<a name="line.1104"></a>
+<span class="sourceLineNo">1105</span>  public static final String STATUS_MULTICAST_PORT = "hbase.status.multicast.address.port";<a name="line.1105"></a>
+<span class="sourceLineNo">1106</span>  public static final int DEFAULT_STATUS_MULTICAST_PORT = 16100;<a name="line.1106"></a>
+<span class="sourceLineNo">1107</span><a name="line.1107"></a>
+<span class="sourceLineNo">1108</span>  public static final long NO_NONCE = 0;<a name="line.1108"></a>
+<span class="sourceLineNo">1109</span><a name="line.1109"></a>
+<span class="sourceLineNo">1110</span>  /** Default cipher for encryption */<a name="line.1110"></a>
+<span class="sourceLineNo">1111</span>  public static final String CIPHER_AES = "AES";<a name="line.1111"></a>
 <span class="sourceLineNo">1112</span><a name="line.1112"></a>
-<span class="sourceLineNo">1113</span>  public static final long NO_NONCE = 0;<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span><a name="line.1114"></a>
-<span class="sourceLineNo">1115</span>  /** Default cipher for encryption */<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span>  public static final String CIPHER_AES = "AES";<a name="line.1116"></a>
-<span class="sourceLineNo">1117</span><a name="line.1117"></a>
-<span class="sourceLineNo">1118</span>  /** Configuration key for the crypto algorithm provider, a class name */<a name="line.1118"></a>
-<span class="sourceLineNo">1119</span>  public static final String CRYPTO_CIPHERPROVIDER_CONF_KEY = "hbase.crypto.cipherprovider";<a name="line.1119"></a>
-<span class="sourceLineNo">1120</span><a name="line.1120"></a>
-<span class="sourceLineNo">1121</span>  /** Configuration key for the crypto key provider, a class name */<a name="line.1121"></a>
-<span class="sourceLineNo">1122</span>  public static final String CRYPTO_KEYPROVIDER_CONF_KEY = "hbase.crypto.keyprovider";<a name="line.1122"></a>
-<span class="sourceLineNo">1123</span><a name="line.1123"></a>
-<span class="sourceLineNo">1124</span>  /** Configuration key for the crypto key provider parameters */<a name="line.1124"></a>
-<span class="sourceLineNo">1125</span>  public static final String CRYPTO_KEYPROVIDER_PARAMETERS_KEY =<a name="line.1125"></a>
-<span class="sourceLineNo">1126</span>      "hbase.crypto.keyprovider.parameters";<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span><a name="line.1127"></a>
-<span class="sourceLineNo">1128</span>  /** Configuration key for the name of the master key for the cluster, a string */<a name="line.1128"></a>
-<span class="sourceLineNo">1129</span>  public static final String CRYPTO_MASTERKEY_NAME_CONF_KEY = "hbase.crypto.master.key.name";<a name="line.1129"></a>
-<span class="sourceLineNo">1130</span><a name="line.1130"></a>
-<span class="sourceLineNo">1131</span>  /** Configuration key for the name of the alternate master key for the cluster, a string */<a name="line.1131"></a>
-<span class="sourceLineNo">1132</span>  public static final String CRYPTO_MASTERKEY_ALTERNATE_NAME_CONF_KEY =<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span>    "hbase.crypto.master.alternate.key.name";<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span><a name="line.1134"></a>
-<span class="sourceLineNo">1135</span>  /** Configuration key for the algorithm to use when encrypting the WAL, a string */<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span>  public static final String CRYPTO_WAL_ALGORITHM_CONF_KEY = "hbase.crypto.wal.algorithm";<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span><a name="line.1137"></a>
-<span class="sourceLineNo">1138</span>  /** Configuration key for the name of the master WAL encryption key for the cluster, a string */<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span>  public static final String CRYPTO_WAL_KEY_NAME_CONF_KEY = "hbase.crypto.wal.key.name";<a name="line.1139"></a>
-<span class="sourceLineNo">1140</span><a name="line.1140"></a>
-<span class="sourceLineNo">1141</span>  /** Configuration key for the algorithm used for creating jks key, a string */<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span>  public static final String CRYPTO_KEY_ALGORITHM_CONF_KEY = "hbase.crypto.key.algorithm";<a name="line.1142"></a>
-<span class="sourceLineNo">1143</span><a name="line.1143"></a>
-<span class="sourceLineNo">1144</span>  /** Configuration key for the name of the alternate cipher algorithm for the cluster, a string */<a name="line.1144"></a>
-<span class="sourceLineNo">1145</span>  public static final String CRYPTO_ALTERNATE_KEY_ALGORITHM_CONF_KEY =<a name="line.1145"></a>
-<span class="sourceLineNo">1146</span>      "hbase.crypto.alternate.key.algorithm";<a name="line.1146"></a>
-<span class="sourceLineNo">1147</span><a name="line.1147"></a>
-<span class="sourceLineNo">1148</span>  /** Configuration key for enabling WAL encryption, a boolean */<a name="line.1148"></a>
-<span class="sourceLineNo">1149</span>  public static final String ENABLE_WAL_ENCRYPTION = "hbase.regionserver.wal.encryption";<a name="line.1149"></a>
-<span class="sourceLineNo">1150</span><a name="line.1150"></a>
-<span class="sourceLineNo">1151</span>  /** Configuration key for setting RPC codec class name */<a name="line.1151"></a>
-<span class="sourceLineNo">1152</span>  public static final String RPC_CODEC_CONF_KEY = "hbase.client.rpc.codec";<a name="line.1152"></a>
-<span class="sourceLineNo">1153</span><a name="line.1153"></a>
-<span class="sourceLineNo">1154</span>  /** Configuration key for setting replication codec class name */<a name="line.1154"></a>
-<span class="sourceLineNo">1155</span>  public static final String REPLICATION_CODEC_CONF_KEY = "hbase.replication.rpc.codec";<a name="line.1155"></a>
-<span class="sourceLineNo">1156</span><a name="line.1156"></a>
-<span class="sourceLineNo">1157</span>  /** Maximum number of threads used by the replication source for shipping edits to the sinks */<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span>  public static final String REPLICATION_SOURCE_MAXTHREADS_KEY =<a name="line.1158"></a>
-<span class="sourceLineNo">1159</span>      "hbase.replication.source.maxthreads";<a name="line.1159"></a>
-<span class="sourceLineNo">1160</span><a name="line.1160"></a>
-<span class="sourceLineNo">1161</span>  public static final int REPLICATION_SOURCE_MAXTHREADS_DEFAULT = 10;<a name="line.1161"></a>
-<span class="sourceLineNo">1162</span><a name="line.1162"></a>
-<span class="sourceLineNo">1163</span>  /** Config for pluggable consensus provider */<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span>  public static final String HBASE_COORDINATED_STATE_MANAGER_CLASS =<a name="line.1164"></a>
-<span class="sourceLineNo">1165</span>    "hbase.coordinated.state.manager.class";<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span><a name="line.1166"></a>
-<span class="sourceLineNo">1167</span>  /** Configuration key for SplitLog manager timeout */<a name="line.1167"></a>
-<span class="sourceLineNo">1168</span>  public static final String HBASE_SPLITLOG_MANAGER_TIMEOUT = "hbase.splitlog.manager.timeout";<a name="line.1168"></a>
-<span class="sourceLineNo">1169</span><a name="line.1169"></a>
-<span class="sourceLineNo">1170</span>  /**<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span>   * Configuration keys for Bucket cache<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span>   */<a name="line.1172"></a>
-<span class="sourceLineNo">1173</span>  // TODO moving these bucket cache implementation specific configs to this level is violation of<a name="line.1173"></a>
-<span class="sourceLineNo">1174</span>  // encapsulation. But as these has to be referred from hbase-common and bucket cache<a name="line.1174"></a>
-<span class="sourceLineNo">1175</span>  // sits in hbase-server, there were no other go! Can we move the cache implementation to<a name="line.1175"></a>
-<span class="sourceLineNo">1176</span>  // hbase-common?<a name="line.1176"></a>
-<span class="sourceLineNo">1177</span><a name="line.1177"></a>
-<span class="sourceLineNo">1178</span>  /**<a name="line.1178"></a>
-<span class="sourceLineNo">1179</span>   * Current ioengine options in include: heap, offheap and file:PATH (where PATH is the path<a name="line.1179"></a>
-<span class="sourceLineNo">1180</span>   * to the file that will host the file-based cache.  See BucketCache#getIOEngineFromName() for<a name="line.1180"></a>
-<span class="sourceLineNo">1181</span>   * list of supported ioengine options.<a name="line.1181"></a>
-<span class="sourceLineNo">1182</span>   * &lt;p&gt;Set this option and a non-zero {@link #BUCKET_CACHE_SIZE_KEY} to enable bucket cache.<a name="line.1182"></a>
-<span class="sourceLineNo">1183</span>   */<a name="line.1183"></a>
-<span class="sourceLineNo">1184</span>  public static final String BUCKET_CACHE_IOENGINE_KEY = "hbase.bucketcache.ioengine";<a name="line.1184"></a>
-<span class="sourceLineNo">1185</span><a name="line.1185"></a>
-<span class="sourceLineNo">1186</span>  /**<a name="line.1186"></a>
-<span class="sourceLineNo">1187</span>   * When using bucket cache, this is a float that EITHER represents a percentage of total heap<a name="line.1187"></a>
-<span class="sourceLineNo">1188</span>   * memory size to give to the cache (if &amp;lt; 1.0) OR, it is the capacity in<a name="line.1188"></a>
-<span class="sourceLineNo">1189</span>   * megabytes of the cache.<a name="line.1189"></a>
+<span class="sourceLineNo">1113</span>  /** Configuration key for the crypto algorithm provider, a class name */<a name="line.1113"></a>
+<span class="sourceLineNo">1114</span>  public static final String CRYPTO_CIPHERPROVIDER_CONF_KEY = "hbase.crypto.cipherprovider";<a name="line.1114"></a>
+<span class="sourceLineNo">1115</span><a name="line.1115"></a>
+<span class="sourceLineNo">1116</span>  /** Configuration key for the crypto key provider, a class name */<a name="line.1116"></a>
+<span class="sourceLineNo">1117</span>  public static final String CRYPTO_KEYPROVIDER_CONF_KEY = "hbase.crypto.keyprovider";<a name="line.1117"></a>
+<span class="sourceLineNo">1118</span><a name="line.1118"></a>
+<span class="sourceLineNo">1119</span>  /** Configuration key for the crypto key provider parameters */<a name="line.1119"></a>
+<span class="sourceLineNo">1120</span>  public static final String CRYPTO_KEYPROVIDER_PARAMETERS_KEY =<a name="line.1120"></a>
+<span class="sourceLineNo">1121</span>      "hbase.crypto.keyprovider.parameters";<a name="line.1121"></a>
+<span class="sourceLineNo">1122</span><a name="line.1122"></a>
+<span class="sourceLineNo">1123</span>  /** Configuration key for the name of the master key for the cluster, a string */<a name="line.1123"></a>
+<span class="sourceLineNo">1124</span>  public static final String CRYPTO_MASTERKEY_NAME_CONF_KEY = "hbase.crypto.master.key.name";<a name="line.1124"></a>
+<span class="sourceLineNo">1125</span><a name="line.1125"></a>
+<span class="sourceLineNo">1126</span>  /** Configuration key for the name of the alternate master key for the cluster, a string */<a name="line.1126"></a>
+<span class="sourceLineNo">1127</span>  public static final String CRYPTO_MASTERKEY_ALTERNATE_NAME_CONF_KEY =<a name="line.1127"></a>
+<span class="sourceLineNo">1128</span>    "hbase.crypto.master.alternate.key.name";<a name="line.1128"></a>
+<span class="sourceLineNo">1129</span><a name="line.1129"></a>
+<span class="sourceLineNo">1130</span>  /** Configuration key for the algorithm to use when encrypting the WAL, a string */<a name="line.1130"></a>
+<span class="sourceLineNo">1131</span>  public static final String CRYPTO_WAL_ALGORITHM_CONF_KEY = "hbase.crypto.wal.algorithm";<a name="line.1131"></a>
+<span class="sourceLineNo">1132</span><a name="line.1132"></a>
+<span class="sourceLineNo">1133</span>  /** Configuration key for the name of the master WAL encryption key for the cluster, a string */<a name="line.1133"></a>
+<span class="sourceLineNo">1134</span>  public static final String CRYPTO_WAL_KEY_NAME_CONF_KEY = "hbase.crypto.wal.key.name";<a name="line.1134"></a>
+<span class="sourceLineNo">1135</span><a name="line.1135"></a>
+<span class="sourceLineNo">1136</span>  /** Configuration key for the algorithm used for creating jks key, a string */<a name="line.1136"></a>
+<span class="sourceLineNo">1137</span>  public static final String CRYPTO_KEY_ALGORITHM_CONF_KEY = "hbase.crypto.key.algorithm";<a name="line.1137"></a>
+<span class="sourceLineNo">1138</span><a name="line.1138"></a>
+<span class="sourceLineNo">1139</span>  /** Configuration key for the name of the alternate cipher algorithm for the cluster, a string */<a name="line.1139"></a>
+<span class="sourceLineNo">1140</span>  public static final String CRYPTO_ALTERNATE_KEY_ALGORITHM_CONF_KEY =<a name="line.1140"></a>
+<span class="sourceLineNo">1141</span>      "hbase.crypto.alternate.key.algorithm";<a name="line.1141"></a>
+<span class="sourceLineNo">1142</span><a name="line.1142"></a>
+<span class="sourceLineNo">1143</span>  /** Configuration key for enabling WAL encryption, a boolean */<a name="line.1143"></a>
+<span class="sourceLineNo">1144</span>  public static final String ENABLE_WAL_ENCRYPTION = "hbase.regionserver.wal.encryption";<a name="line.1144"></a>
+<span class="sourceLineNo">1145</span><a name="line.1145"></a>
+<span class="sourceLineNo">1146</span>  /** Configuration key for setting RPC codec class name */<a name="line.1146"></a>
+<span class="sourceLineNo">1147</span>  public static final String RPC_CODEC_CONF_KEY = "hbase.client.rpc.codec";<a name="line.1147"></a>
+<span class="sourceLineNo">1148</span><a name="line.1148"></a>
+<span class="sourceLineNo">1149</span>  /** Configuration key for setting replication codec class name */<a name="line.1149"></a>
+<span class="sourceLineNo">1150</span>  public static final String REPLICATION_CODEC_CONF_KEY = "hbase.replication.rpc.codec";<a name="line.1150"></a>
+<span class="sourceLineNo">1151</span><a name="line.1151"></a>
+<span class="sourceLineNo">1152</span>  /** Maximum number of threads used by the replication source for shipping edits to the sinks */<a name="line.1152"></a>
+<span class="sourceLineNo">1153</span>  public static final String REPLICATION_SOURCE_MAXTHREADS_KEY =<a name="line.1153"></a>
+<span class="sourceLineNo">1154</span>      "hbase.replication.source.maxthreads";<a name="line.1154"></a>
+<span class="sourceLineNo">1155</span><a name="line.1155"></a>
+<span class="sourceLineNo">1156</span>  public static final int REPLICATION_SOURCE_MAXTHREADS_DEFAULT = 10;<a name="line.1156"></a>
+<span class="sourceLineNo">1157</span><a name="line.1157"></a>
+<span class="sourceLineNo">1158</span>  /** Config for pluggable consensus provider */<a name="line.1158"></a>
+<span class="sourceLineNo">1159</span>  public static final String HBASE_COORDINATED_STATE_MANAGER_CLASS =<a name="line.1159"></a>
+<span class="sourceLineNo">1160</span>    "hbase.coordinated.state.manager.class";<a name="line.1160"></a>
+<span class="sourceLineNo">1161</span><a name="line.1161"></a>
+<span class="sourceLineNo">1162</span>  /** Configuration key for SplitLog manager timeout */<a name="line.1162"></a>
+<span class="sourceLineNo">1163</span>  public static final String HBASE_SPLITLOG_MANAGER_TIMEOUT = "hbase.splitlog.manager.timeout";<a name="line.1163"></a>
+<span class="sourceLineNo">1164</span><a name="line.1164"></a>
+<span class="sourceLineNo">1165</span>  /**<a name="line.1165"></a>
+<span class="sourceLineNo">1166</span>   * Configuration keys for Bucket cache<a name="line.1166"></a>
+<span class="sourceLineNo">1167</span>   */<a name="line.1167"></a>
+<span class="sourceLineNo">1168</span>  // TODO moving these bucket cache implementation specific configs to this level is violation of<a name="line.1168"></a>
+<span class="sourceLineNo">1169</span>  // encapsulation. But as these has to be referred from hbase-common and bucket cache<a name="line.1169"></a>
+<span class="sourceLineNo">1170</span>  // sits in hbase-server, there were no other go! Can we move the cache implementation to<a name="line.1170"></a>
+<span class="sourceLineNo">1171</span>  // hbase-common?<a name="line.1171"></a>
+<span class="sourceLineNo">1172</span><a name="line.1172"></a>
+<span class="sourceLineNo">1173</span>  /**<a name="line.1173"></a>
+<span class="sourceLineNo">1174</span>   * Current ioengine options in include: heap, offheap and file:PATH (where PATH is the path<a name="line.1174"></a>
+<span class="sourceLineNo">1175</span>   * to the file that will host the file-based cache.  See BucketCache#getIOEngineFromName() for<a name="line.1175"></a>
+<span class="sourceLineNo">1176</span>   * list of supported ioengine options.<a name="line.1176"></a>
+<span class="sourceLineNo">1177</span>   * &lt;p&gt;Set this option and a non-zero {@link #BUCKET_CACHE_SIZE_KEY} to enable bucket cache.<a name="line.1177"></a>
+<span class="sourceLineNo">1178</span>   */<a name="line.1178"></a>
+<span class="sourceLineNo">1179</span>  public static final String BUCKET_CACHE_IOENGINE_KEY = "hbase.bucketcache.ioengine";<a name="line.1179"></a>
+<span class="sourceLineNo">1180</span><a name="line.1180"></a>
+<span class="sourceLineNo">1181</span>  /**<a name="line.1181"></a>
+<span class="sourceLineNo">1182</span>   * When using bucket cache, this is a float that EITHER represents a percentage of total heap<a name="line.1182"></a>
+<span class="sourceLineNo">1183</span>   * memory size to give to the cache (if &amp;lt; 1.0) OR, it is the capacity in<a name="line.1183"></a>
+<span class="sourceLineNo">1184</span>   * megabytes of the cache.<a name="line.1184"></a>
+<span class="sourceLineNo">1185</span>   */<a name="line.1185"></a>
+<span class="sourceLineNo">1186</span>  public static final String BUCKET_CACHE_SIZE_KEY = "hbase.bucketcache.size";<a name="line.1186"></a>
+<span class="sourceLineNo">1187</span><a name="line.1187"></a>
+<span class="sourceLineNo">1188</span>  /**<a name="line.1188"></a>
+<span class="sourceLineNo">1189</span>   * HConstants for fast fail on the client side follow<a name="line.1189"></a>
 <span class="sourceLineNo">1190</span>   */<a name="line.1190"></a>
-<span class="sourceLineNo">1191</span>  public static final String BUCKET_CACHE_SIZE_KEY = "hbase.bucketcache.size";<a name="line.1191"></a>
-<span class="sourceLineNo">1192</span><a name="line.1192"></a>
-<span class="sourceLineNo">1193</span>  /**<a name="line.1193"></a>
-<span class="sourceLineNo">1194</span>   * HConstants for fast fail on the client side follow<a name="line.1194"></a>
-<span class="sourceLineNo">1195</span>   */<a name="line.1195"></a>
-<span class="sourceLineNo">1196</span>  /**<a name="line.1196"></a>
-<span class="sourceLineNo">1197</span>   * Config for enabling/disabling the fast fail mode.<a name="line.1197"></a>
-<span class="sourceLineNo">1198</span>   */<a name="line.1198"></a>
-<span class="sourceLineNo">1199</span>  public static final String HBASE_CLIENT_FAST_FAIL_MODE_ENABLED =<a name="line.1199"></a>
-<span class="sourceLineNo">1200</span>      "hbase.client.fast.fail.mode.enabled";<a name="line.1200"></a>
-<span class="sourceLineNo">1201</span><a name="line.1201"></a>
-<span class="sourceLineNo">1202</span>  public static final boolean HBASE_CLIENT_ENABLE_FAST_FAIL_MODE_DEFAULT =<a name="line.1202"></a>
-<span class="sourceLineNo">1203</span>      false;<a name="line.1203"></a>
-<span class="sourceLineNo">1204</span><a name="line.1204"></a>
-<span class="sourceLineNo">1205</span>  public static final String HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS =<a name="line.1205"></a>
-<span class="sourceLineNo">1206</span>      "hbase.client.fastfail.threshold";<a name="line.1206"></a>
-<span class="sourceLineNo">1207</span><a name="line.1207"></a>
-<span class="sourceLineNo">1208</span>  public static final long HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS_DEFAULT =<a name="line.1208"></a>
-<span class="sourceLineNo">1209</span>      60000;<a name="line.1209"></a>
-<span class="sourceLineNo">1210</span><a name="line.1210"></a>
-<span class="sourceLineNo">1211</span>  public static final String HBASE_CLIENT_FAST_FAIL_CLEANUP_MS_DURATION_MS =<a name="line.1211"></a>
-<span class="sourceLineNo">1212</span>      "hbase.client.fast.fail.cleanup.duration";<a name="line.1212"></a>
-<span class="sourceLineNo">1213</span><a name="line.1213"></a>
-<span class="sourceLineNo">1214</span>  public static final long HBASE_CLIENT_FAST_FAIL_CLEANUP_DURATION_MS_DEFAULT =<a name="line.1214"></a>
-<span class="sourceLineNo">1215</span>      600000;<a name="line.1215"></a>
-<span class="sourceLineNo">1216</span><a name="line.1216"></a>
-<span class="sourceLineNo">1217</span>  public static final String HBASE_CLIENT_FAST_FAIL_INTERCEPTOR_IMPL =<a name="line.1217"></a>
-<span class="sourceLineNo">1218</span>      "hbase.client.fast.fail.interceptor.impl";<a name="line.1218"></a>
+<span class="sourceLineNo">1191</span>  /**<a name="line.1191"></a>
+<span class="sourceLineNo">1192</span>   * Config for enabling/disabling the fast fail mode.<a name="line.1192"></a>
+<span class="sourceLineNo">1193</span>   */<a name="line.1193"></a>
+<span class="sourceLineNo">1194</span>  public static final String HBASE_CLIENT_FAST_FAIL_MODE_ENABLED =<a name="line.1194"></a>
+<span class="sourceLineNo">1195</span>      "hbase.client.fast.fail.mode.enabled";<a name="line.1195"></a>
+<span class="sourceLineNo">1196</span><a name="line.1196"></a>
+<span class="sourceLineNo">1197</span>  public static final boolean HBASE_CLIENT_ENABLE_FAST_FAIL_MODE_DEFAULT =<a name="line.1197"></a>
+<span class="sourceLineNo">1198</span>      false;<a name="line.1198"></a>
+<span class="sourceLineNo">1199</span><a name="line.1199"></a>
+<span class="sourceLineNo">1200</span>  public static final String HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS =<a name="line.1200"></a>
+<span class="sourceLineNo">1201</span>      "hbase.client.fastfail.threshold";<a name="line.1201"></a>
+<span class="sourceLineNo">1202</span><a name="line.1202"></a>
+<span class="sourceLineNo">1203</span>  public static final long HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS_DEFAULT =<a name="line.1203"></a>
+<span class="sourceLineNo">1204</span>      60000;<a name="line.1204"></a>
+<span class="sourceLineNo">1205</span><a name="line.1205"></a>
+<span class="sourceLineNo">1206</span>  public static final String HBASE_CLIENT_FAST_FAIL_CLEANUP_MS_DURATION_MS =<a name="line.1206"></a>
+<span class="sourceLineNo">1207</span>      "hbase.client.fast.fail.cleanup.duration";<a name="line.1207"></a>
+<span class="sourceLineNo">1208</span><a name="line.1208"></a>
+<span class="sourceLineNo">1209</span>  public static final long HBASE_CLIENT_FAST_FAIL_CLEANUP_DURATION_MS_DEFAULT =<a name="line.1209"></a>
+<span class="sourceLineNo">1210</span>      600000;<a name="line.1210"></a>
+<span class="sourceLineNo">1211</span><a name="line.1211"></a>
+<span class="sourceLineNo">1212</span>  public static final String HBASE_CLIENT_FAST_FAIL_INTERCEPTOR_IMPL =<a name="line.1212"></a>
+<span class="sourceLineNo">1213</span>      "hbase.client.fast.fail.interceptor.impl";<a name="line.1213"></a>
+<span class="sourceLineNo">1214</span><a name="line.1214"></a>
+<span class="sourceLineNo">1215</span>  /** Config key for if the server should send backpressure and if the client should listen to<a name="line.1215"></a>
+<span class="sourceLineNo">1216</span>   * that backpressure from the server */<a name="line.1216"></a>
+<span class="sourceLineNo">1217</span>  public static final String ENABLE_CLIENT_BACKPRESSURE = "hbase.client.backpressure.enabled";<a name="line.1217"></a>
+<span class="sourceLineNo">1218</span>  public static final boolean DEFAULT_ENABLE_CLIENT_BACKPRESSURE = false;<a name="line.1218"></a>
 <span class="sourceLineNo">1219</span><a name="line.1219"></a>
-<span class="sourceLineNo">1220</span>  /** Config key for if the server should send backpressure and if the client should listen to<a name="line.1220"></a>
-<span class="sourceLineNo">1221</span>   * that backpressure from the server */<a name="line.1221"></a>
-<span class="sourceLineNo">1222</span>  public static final String ENABLE_CLIENT_BACKPRESSURE = "hbase.client.backpressure.enabled";<a name="line.1222"></a>
-<span class="sourceLineNo">1223</span>  public static final boolean DEFAULT_ENABLE_CLIENT_BACKPRESSURE = false;<a name="line.1223"></a>
-<span class="sourceLineNo">1224</span><a name="line.1224"></a>
-<span class="sourceLineNo">1225</span>  public static final String HEAP_OCCUPANCY_LOW_WATERMARK_KEY =<a name="line.1225"></a>
-<span class="sourceLineNo">1226</span>      "hbase.heap.occupancy.low_water_mark";<a name="line.1226"></a>
-<span class="sourceLineNo">1227</span>  public static final float DEFAULT_HEAP_OCCUPANCY_LOW_WATERMARK = 0.95f;<a name="line.1227"></a>
-<span class="sourceLineNo">1228</span>  public static final String HEAP_OCCUPANCY_HIGH_WATERMARK_KEY =<a name="line.1228"></a>
-<span class="sourceLineNo">1229</span>      "hbase.heap.occupancy.high_water_mark";<a name="line.1229"></a>
-<span class="sourceLineNo">1230</span>  public static final float DEFAULT_HEAP_OCCUPANCY_HIGH_WATERMARK = 0.98f;<a name="line.1230"></a>
-<span class="sourceLineNo">1231</span><a name="line.1231"></a>
-<span class="sourceLineNo">1232</span>  /**<a name="line.1232"></a>
-<span class="sourceLineNo">1233</span>   * The max number of threads used for splitting storefiles in parallel during<a name="line.1233"></a>
-<span class="sourceLineNo">1234</span>   * the region split process.<a name="line.1234"></a>
-<span class="sourceLineNo">1235</span>   */<a name="line.1235"></a>
-<span class="sourceLineNo">1236</span>  public static final String REGION_SPLIT_THREADS_MAX =<a name="line.1236"></a>
-<span class="sourceLineNo">1237</span>    "hbase.regionserver.region.split.threads.max";<a name="line.1237"></a>
-<span class="sourceLineNo">1238</span><a name="line.1238"></a>
-<span class="sourceLineNo">1239</span>  /** Canary config keys */<a name="line.1239"></a>
-<span class="sourceLineNo">1240</span>  public static final String HBASE_CANARY_WRITE_DATA_TTL_KEY = "hbase.canary.write.data.ttl";<a name="line.1240"></a>
-<span class="sourceLineNo">1241</span><a name="line.1241"></a>
-<span class="sourceLineNo">1242</span>  public static final String HBASE_CANARY_WRITE_PERSERVER_REGIONS_LOWERLIMIT_KEY =<a name="line.1242"></a>
-<span class="sourceLineNo">1243</span>      "hbase.canary.write.perserver.regions.lowerLimit";<a name="line.1243"></a>
+<span class="sourceLineNo">1220</span>  public static final String HEAP_OCCUPANCY_LOW_WATERMARK_KEY =<a name="line.1220"></a>
+<span class="sourceLineNo">1221</span>      "hbase.heap.occupancy.low_water_mark";<a name="line.1221"></a>
+<span class="sourceLineNo">1222</span>  public static final float DEFAULT_HEAP_OCCUPANCY_LOW_WATERMARK = 0.95f;<a name="line.1222"></a>
+<span class="sourceLineNo">1223</span>  public static final String HEAP_OCCUPANCY_HIGH_WATERMARK_KEY =<a name="line.1223"></a>
+<span class="sourceLineNo">1224</span>      "hbase.heap.occupancy.high_water_mark";<a name="line.1224"></a>
+<span class="sourceLineNo">1225</span>  public static final float DEFAULT_HEAP_OCCUPANCY_HIGH_WATERMARK = 0.98f;<a name="line.1225"></a>
+<span class="sourceLineNo">1226</span><a name="line.1226"></a>
+<span class="sourceLineNo">1227</span>  /**<a name="line.1227"></a>
+<span class="sourceLineNo">1228</span>   * The max number of threads used for splitting storefiles in parallel during<a name="line.1228"></a>
+<span class="sourceLineNo">1229</span>   * the region split process.<a name="line.1229"></a>
+<span class="sourceLineNo">1230</span>   */<a name="line.1230"></a>
+<span class="sourceLineNo">1231</span>  public static final String REGION_SPLIT_THREADS_MAX =<a name="line.1231"></a>
+<span class="sourceLineNo">1232</span>    "hbase.regionserver.region.split.threads.max";<a name="line.1232"></a>
+<span class="sourceLineNo">1233</span><a name="line.1233"></a>
+<span class="sourceLineNo">1234</span>  /** Canary config keys */<a name="line.1234"></a>
+<span class="sourceLineNo">1235</span>  public static final String HBASE_CANARY_WRITE_DATA_TTL_KEY = "hbase.canary.write.data.ttl";<a name="line.1235"></a>
+<span class="sourceLineNo">1236</span><a name="line.1236"></a>
+<span class="sourceLineNo">1237</span>  public static final String HBASE_CANARY_WRITE_PERSERVER_REGIONS_LOWERLIMIT_KEY =<a name="line.1237"></a>
+<span class="sourceLineNo">1238</span>      "hbase.canary.write.perserver.regions.lowerLimit";<a name="line.1238"></a>
+<span class="sourceLineNo">1239</span><a name="line.1239"></a>
+<span class="sourceLineNo">1240</span>  public static final String HBASE_CANARY_WRITE_PERSERVER_REGIONS_UPPERLIMIT_KEY =<a name="line.1240"></a>
+<span class="sourceLineNo">1241</span>      "hbase.canary.write.perserver.regions.upperLimit";<a name="line.1241"></a>
+<span class="sourceLineNo">1242</span><a name="line.1242"></a>
+<span class="sourceLineNo">1243</span>  public static final String HBASE_CANARY_WRITE_VALUE_SIZE_KEY = "hbase.canary.write.value.size";<a name="line.1243"></a>
 <span class="sourceLineNo">1244</span><a name="line.1244"></a>
-<span class="sourceLineNo">1245</span>  public static final String HBASE_CANARY_WRITE_PERSERVER_REGIONS_UPPERLIMIT_KEY =<a name="line.1245"></a>
-<span class="sourceLineNo">1246</span>      "hbase.canary.write.perserver.regions.upperLimit";<a name="line.1246"></a>
+<span class="sourceLineNo">1245</span>  public static final String HBASE_CANARY_WRITE_TABLE_CHECK_PERIOD_KEY =<a name="line.1245"></a>
+<span class="sourceLineNo">1246</span>      "hbase.canary.write.table.check.period";<a name="line.1246"></a>
 <span class="sourceLineNo">1247</span><a name="line.1247"></a>
-<span class="sourceLineNo">1248</span>  public static final String HBASE_CANARY_WRITE_VALUE_SIZE_KEY = "hbase.canary.write.value.size";<a name="line.1248"></a>
-<span class="sourceLineNo">1249</span><a name="line.1249"></a>
-<span class="sourceLineNo">1250</span>  public static final String HBASE_CANARY_WRITE_TABLE_CHECK_PERIOD_KEY =<a name="line.1250"></a>
-<span class="sourceLineNo">1251</span>      "hbase.canary.write.table.check.period";<a name="line.1251"></a>
-<span class="sourceLineNo">1252</span><a name="line.1252"></a>
-<span class="sourceLineNo">1253</span>  /**<a name="line.1253"></a>
-<span class="sourceLineNo">1254</span>   * Configuration keys for programmatic JAAS configuration for secured ZK interaction<a name="line.1254"></a>
-<span class="sourceLineNo">1255</span>   */<a name="line.1255"></a>
-<span class="sourceLineNo">1256</span>  public static final String ZK_CLIENT_KEYTAB_FILE = "hbase.zookeeper.client.keytab.file";<a name="line.1256"></a>
-<span class="sourceLineNo">1257</span>  public static final String ZK_CLIENT_KERBEROS_PRINCIPAL =<a name="line.1257"></a>
-<span class="sourceLineNo">1258</span>      "hbase.zookeeper.client.kerberos.principal";<a name="line.1258"></a>
-<span class="sourceLineNo">1259</span>  public static final String ZK_SERVER_KEYTAB_FILE = "hbase.zookeeper.server.keytab.file";<a name="line.1259"></a>
-<span class="sourceLineNo">1260</span>  public static final String ZK_SERVER_KERBEROS_PRINCIPAL =<a name="line.1260"></a>
-<span class="sourceLineNo">1261</span>      "hbase.zookeeper.server.kerberos.principal";<a name="line.1261"></a>
-<span class="sourceLineNo">1262</span><a name="line.1262"></a>
-<span class="sourceLineNo">1263</span>  private HConstants() {<a name="line.1263"></a>
-<span class="sourceLineNo">1264</span>    // Can't be instantiated with this ctor.<a name="line.1264"></a>
-<span class="sourceLineNo">1265</span>  }<a name="line.1265"></a>
-<span class="sourceLineNo">1266</span>}<a name="line.1266"></a>
+<span class="sourceLineNo">1248</span>  /**<a name="line.1248"></a>
+<span class="sourceLineNo">1249</span>   * Configuration keys for programmatic JAAS configuration for secured ZK interaction<a name="line.1249"></a>
+<span class="sourceLineNo">1250</span>   */<a name="line.1250"></a>
+<span class="sourceLineNo">1251</span>  public static final String ZK_CLIENT_KEYTAB_FILE = "hbase.zookeeper.client.keytab.file";<a name="line.1251"></a>
+<span class="sourceLineNo">1252</span>  public static final String ZK_CLIENT_KERBEROS_PRINCIPAL =<a name="line.1252"></a>
+<span class="sourceLineNo">1253</span>      "hbase.zookeeper.client.kerberos.principal";<a name="line.1253"></a>
+<span class="sourceLineNo">1254</span>  public static final String ZK_SERVER_KEYTAB_FILE = "hbase.zookeeper.server.keytab.file";<a name="line.1254"></a>
+<span class="sourceLineNo">1255</span>  public static final String ZK_SERVER_KERBEROS_PRINCIPAL =<a name="line.1255"></a>
+<span class="sourceLineNo">1256</span>      "hbase.zookeeper.server.kerberos.principal";<a name="line.1256"></a>
+<span class="sourceLineNo">1257</span><a name="line.1257"></a>
+<span class="sourceLineNo">1258</span>  private HConstants() {<a name="line.1258"></a>
+<span class="sourceLineNo">1259</span>    // Can't be instantiated with this ctor.<a name="line.1259"></a>
+<span class="sourceLineNo">1260</span>  }<a name="line.1260"></a>
+<span class="sourceLineNo">1261</span>}<a name="line.1261"></a>
 
 
 


[05/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html
index e8248d4..c36648a 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html
@@ -59,1847 +59,1848 @@
 <span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.io.encoding.HFileBlockDecodingContext;<a name="line.51"></a>
 <span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.io.hfile.HFile.FileInfo;<a name="line.52"></a>
 <span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.nio.ByteBuff;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.security.EncryptionUtil;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.util.ByteBufferUtils;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.util.IdLock;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.util.ObjectIntPair;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.io.WritableUtils;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.htrace.Trace;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.htrace.TraceScope;<a name="line.61"></a>
-<span class="sourceLineNo">062</span><a name="line.62"></a>
-<span class="sourceLineNo">063</span>import com.google.common.annotations.VisibleForTesting;<a name="line.63"></a>
-<span class="sourceLineNo">064</span><a name="line.64"></a>
-<span class="sourceLineNo">065</span>/**<a name="line.65"></a>
-<span class="sourceLineNo">066</span> * Implementation that can handle all hfile versions of {@link HFile.Reader}.<a name="line.66"></a>
-<span class="sourceLineNo">067</span> */<a name="line.67"></a>
-<span class="sourceLineNo">068</span>@InterfaceAudience.Private<a name="line.68"></a>
-<span class="sourceLineNo">069</span>@edu.umd.cs.findbugs.annotations.SuppressWarnings(value="URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")<a name="line.69"></a>
-<span class="sourceLineNo">070</span>public class HFileReaderImpl implements HFile.Reader, Configurable {<a name="line.70"></a>
-<span class="sourceLineNo">071</span>  // This class is HFileReaderV3 + HFileReaderV2 + AbstractHFileReader all squashed together into<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  // one file.  Ditto for all the HFileReader.ScannerV? implementations. I was running up against<a name="line.72"></a>
-<span class="sourceLineNo">073</span>  // the MaxInlineLevel limit because too many tiers involved reading from an hfile. Was also hard<a name="line.73"></a>
-<span class="sourceLineNo">074</span>  // to navigate the source code when so many classes participating in read.<a name="line.74"></a>
-<span class="sourceLineNo">075</span>  private static final Log LOG = LogFactory.getLog(HFileReaderImpl.class);<a name="line.75"></a>
-<span class="sourceLineNo">076</span><a name="line.76"></a>
-<span class="sourceLineNo">077</span>  /** Data block index reader keeping the root data index in memory */<a name="line.77"></a>
-<span class="sourceLineNo">078</span>  private HFileBlockIndex.CellBasedKeyBlockIndexReader dataBlockIndexReader;<a name="line.78"></a>
-<span class="sourceLineNo">079</span><a name="line.79"></a>
-<span class="sourceLineNo">080</span>  /** Meta block index reader -- always single level */<a name="line.80"></a>
-<span class="sourceLineNo">081</span>  private HFileBlockIndex.ByteArrayKeyBlockIndexReader metaBlockIndexReader;<a name="line.81"></a>
-<span class="sourceLineNo">082</span><a name="line.82"></a>
-<span class="sourceLineNo">083</span>  private final FixedFileTrailer trailer;<a name="line.83"></a>
-<span class="sourceLineNo">084</span><a name="line.84"></a>
-<span class="sourceLineNo">085</span>  /** Filled when we read in the trailer. */<a name="line.85"></a>
-<span class="sourceLineNo">086</span>  private final Compression.Algorithm compressAlgo;<a name="line.86"></a>
-<span class="sourceLineNo">087</span><a name="line.87"></a>
-<span class="sourceLineNo">088</span>  private boolean isPrimaryReplicaReader;<a name="line.88"></a>
-<span class="sourceLineNo">089</span><a name="line.89"></a>
-<span class="sourceLineNo">090</span>  /**<a name="line.90"></a>
-<span class="sourceLineNo">091</span>   * What kind of data block encoding should be used while reading, writing,<a name="line.91"></a>
-<span class="sourceLineNo">092</span>   * and handling cache.<a name="line.92"></a>
-<span class="sourceLineNo">093</span>   */<a name="line.93"></a>
-<span class="sourceLineNo">094</span>  private HFileDataBlockEncoder dataBlockEncoder = NoOpDataBlockEncoder.INSTANCE;<a name="line.94"></a>
-<span class="sourceLineNo">095</span><a name="line.95"></a>
-<span class="sourceLineNo">096</span>  /** Last key in the file. Filled in when we read in the file info */<a name="line.96"></a>
-<span class="sourceLineNo">097</span>  private Cell lastKeyCell = null;<a name="line.97"></a>
-<span class="sourceLineNo">098</span><a name="line.98"></a>
-<span class="sourceLineNo">099</span>  /** Average key length read from file info */<a name="line.99"></a>
-<span class="sourceLineNo">100</span>  private int avgKeyLen = -1;<a name="line.100"></a>
-<span class="sourceLineNo">101</span><a name="line.101"></a>
-<span class="sourceLineNo">102</span>  /** Average value length read from file info */<a name="line.102"></a>
-<span class="sourceLineNo">103</span>  private int avgValueLen = -1;<a name="line.103"></a>
-<span class="sourceLineNo">104</span><a name="line.104"></a>
-<span class="sourceLineNo">105</span>  /** Key comparator */<a name="line.105"></a>
-<span class="sourceLineNo">106</span>  private CellComparator comparator = CellComparator.COMPARATOR;<a name="line.106"></a>
-<span class="sourceLineNo">107</span><a name="line.107"></a>
-<span class="sourceLineNo">108</span>  /** Size of this file. */<a name="line.108"></a>
-<span class="sourceLineNo">109</span>  private final long fileSize;<a name="line.109"></a>
-<span class="sourceLineNo">110</span><a name="line.110"></a>
-<span class="sourceLineNo">111</span>  /** Block cache configuration. */<a name="line.111"></a>
-<span class="sourceLineNo">112</span>  private final CacheConfig cacheConf;<a name="line.112"></a>
-<span class="sourceLineNo">113</span><a name="line.113"></a>
-<span class="sourceLineNo">114</span>  /** Path of file */<a name="line.114"></a>
-<span class="sourceLineNo">115</span>  private final Path path;<a name="line.115"></a>
-<span class="sourceLineNo">116</span><a name="line.116"></a>
-<span class="sourceLineNo">117</span>  /** File name to be used for block names */<a name="line.117"></a>
-<span class="sourceLineNo">118</span>  private final String name;<a name="line.118"></a>
-<span class="sourceLineNo">119</span><a name="line.119"></a>
-<span class="sourceLineNo">120</span>  private FileInfo fileInfo;<a name="line.120"></a>
-<span class="sourceLineNo">121</span><a name="line.121"></a>
-<span class="sourceLineNo">122</span>  private Configuration conf;<a name="line.122"></a>
-<span class="sourceLineNo">123</span><a name="line.123"></a>
-<span class="sourceLineNo">124</span>  private HFileContext hfileContext;<a name="line.124"></a>
-<span class="sourceLineNo">125</span><a name="line.125"></a>
-<span class="sourceLineNo">126</span>  /** Filesystem-level block reader. */<a name="line.126"></a>
-<span class="sourceLineNo">127</span>  private HFileBlock.FSReader fsBlockReader;<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>   * A "sparse lock" implementation allowing to lock on a particular block<a name="line.130"></a>
-<span class="sourceLineNo">131</span>   * identified by offset. The purpose of this is to avoid two clients loading<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   * the same block, and have all but one client wait to get the block from the<a name="line.132"></a>
-<span class="sourceLineNo">133</span>   * cache.<a name="line.133"></a>
-<span class="sourceLineNo">134</span>   */<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  private IdLock offsetLock = new IdLock();<a name="line.135"></a>
-<span class="sourceLineNo">136</span><a name="line.136"></a>
-<span class="sourceLineNo">137</span>  /**<a name="line.137"></a>
-<span class="sourceLineNo">138</span>   * Blocks read from the load-on-open section, excluding data root index, meta<a name="line.138"></a>
-<span class="sourceLineNo">139</span>   * index, and file info.<a name="line.139"></a>
-<span class="sourceLineNo">140</span>   */<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  private List&lt;HFileBlock&gt; loadOnOpenBlocks = new ArrayList&lt;HFileBlock&gt;();<a name="line.141"></a>
-<span class="sourceLineNo">142</span><a name="line.142"></a>
-<span class="sourceLineNo">143</span>  /** Minimum minor version supported by this HFile format */<a name="line.143"></a>
-<span class="sourceLineNo">144</span>  static final int MIN_MINOR_VERSION = 0;<a name="line.144"></a>
-<span class="sourceLineNo">145</span><a name="line.145"></a>
-<span class="sourceLineNo">146</span>  /** Maximum minor version supported by this HFile format */<a name="line.146"></a>
-<span class="sourceLineNo">147</span>  // We went to version 2 when we moved to pb'ing fileinfo and the trailer on<a name="line.147"></a>
-<span class="sourceLineNo">148</span>  // the file. This version can read Writables version 1.<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  static final int MAX_MINOR_VERSION = 3;<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>   * We can read files whose major version is v2 IFF their minor version is at least 3.<a name="line.152"></a>
-<span class="sourceLineNo">153</span>   */<a name="line.153"></a>
-<span class="sourceLineNo">154</span>  private static final int MIN_V2_MINOR_VERSION_WITH_PB = 3;<a name="line.154"></a>
-<span class="sourceLineNo">155</span><a name="line.155"></a>
-<span class="sourceLineNo">156</span>  /** Minor versions starting with this number have faked index key */<a name="line.156"></a>
-<span class="sourceLineNo">157</span>  static final int MINOR_VERSION_WITH_FAKED_KEY = 3;<a name="line.157"></a>
-<span class="sourceLineNo">158</span><a name="line.158"></a>
-<span class="sourceLineNo">159</span>  /**<a name="line.159"></a>
-<span class="sourceLineNo">160</span>   * Opens a HFile. You must load the index before you can use it by calling<a name="line.160"></a>
-<span class="sourceLineNo">161</span>   * {@link #loadFileInfo()}.<a name="line.161"></a>
-<span class="sourceLineNo">162</span>   * @param path<a name="line.162"></a>
-<span class="sourceLineNo">163</span>   *          Path to HFile.<a name="line.163"></a>
-<span class="sourceLineNo">164</span>   * @param trailer<a name="line.164"></a>
-<span class="sourceLineNo">165</span>   *          File trailer.<a name="line.165"></a>
-<span class="sourceLineNo">166</span>   * @param fsdis<a name="line.166"></a>
-<span class="sourceLineNo">167</span>   *          input stream.<a name="line.167"></a>
-<span class="sourceLineNo">168</span>   * @param fileSize<a name="line.168"></a>
-<span class="sourceLineNo">169</span>   *          Length of the stream.<a name="line.169"></a>
-<span class="sourceLineNo">170</span>   * @param cacheConf<a name="line.170"></a>
-<span class="sourceLineNo">171</span>   *          Cache configuration.<a name="line.171"></a>
-<span class="sourceLineNo">172</span>   * @param hfs<a name="line.172"></a>
-<span class="sourceLineNo">173</span>   *          The file system.<a name="line.173"></a>
-<span class="sourceLineNo">174</span>   * @param conf<a name="line.174"></a>
-<span class="sourceLineNo">175</span>   *          Configuration<a name="line.175"></a>
-<span class="sourceLineNo">176</span>   */<a name="line.176"></a>
-<span class="sourceLineNo">177</span>  @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")<a name="line.177"></a>
-<span class="sourceLineNo">178</span>  public HFileReaderImpl(final Path path, FixedFileTrailer trailer,<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      final FSDataInputStreamWrapper fsdis,<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      final long fileSize, final CacheConfig cacheConf, final HFileSystem hfs,<a name="line.180"></a>
-<span class="sourceLineNo">181</span>      final Configuration conf)<a name="line.181"></a>
-<span class="sourceLineNo">182</span>  throws IOException {<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    this.trailer = trailer;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    this.compressAlgo = trailer.getCompressionCodec();<a name="line.184"></a>
-<span class="sourceLineNo">185</span>    this.cacheConf = cacheConf;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    this.fileSize = fileSize;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    this.path = path;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    this.name = path.getName();<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    this.conf = conf;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    checkFileVersion();<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    this.hfileContext = createHFileContext(fsdis, fileSize, hfs, path, trailer);<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    this.fsBlockReader = new HFileBlock.FSReaderImpl(fsdis, fileSize, hfs, path, hfileContext);<a name="line.192"></a>
-<span class="sourceLineNo">193</span><a name="line.193"></a>
-<span class="sourceLineNo">194</span>    // Comparator class name is stored in the trailer in version 2.<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    comparator = trailer.createComparator();<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    dataBlockIndexReader = new HFileBlockIndex.CellBasedKeyBlockIndexReader(comparator,<a name="line.196"></a>
-<span class="sourceLineNo">197</span>        trailer.getNumDataIndexLevels(), this);<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    metaBlockIndexReader = new HFileBlockIndex.ByteArrayKeyBlockIndexReader(1);<a name="line.198"></a>
-<span class="sourceLineNo">199</span><a name="line.199"></a>
-<span class="sourceLineNo">200</span>    // Parse load-on-open data.<a name="line.200"></a>
-<span class="sourceLineNo">201</span><a name="line.201"></a>
-<span class="sourceLineNo">202</span>    HFileBlock.BlockIterator blockIter = fsBlockReader.blockRange(<a name="line.202"></a>
-<span class="sourceLineNo">203</span>        trailer.getLoadOnOpenDataOffset(),<a name="line.203"></a>
-<span class="sourceLineNo">204</span>        fileSize - trailer.getTrailerSize());<a name="line.204"></a>
-<span class="sourceLineNo">205</span><a name="line.205"></a>
-<span class="sourceLineNo">206</span>    // Data index. We also read statistics about the block index written after<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    // the root level.<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    dataBlockIndexReader.readMultiLevelIndexRoot(<a name="line.208"></a>
-<span class="sourceLineNo">209</span>        blockIter.nextBlockWithBlockType(BlockType.ROOT_INDEX),<a name="line.209"></a>
-<span class="sourceLineNo">210</span>        trailer.getDataIndexCount());<a name="line.210"></a>
-<span class="sourceLineNo">211</span><a name="line.211"></a>
-<span class="sourceLineNo">212</span>    // Meta index.<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    metaBlockIndexReader.readRootIndex(<a name="line.213"></a>
-<span class="sourceLineNo">214</span>        blockIter.nextBlockWithBlockType(BlockType.ROOT_INDEX),<a name="line.214"></a>
-<span class="sourceLineNo">215</span>        trailer.getMetaIndexCount());<a name="line.215"></a>
-<span class="sourceLineNo">216</span><a name="line.216"></a>
-<span class="sourceLineNo">217</span>    // File info<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    fileInfo = new FileInfo();<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    fileInfo.read(blockIter.nextBlockWithBlockType(BlockType.FILE_INFO).getByteStream());<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    byte[] creationTimeBytes = fileInfo.get(FileInfo.CREATE_TIME_TS);<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    this.hfileContext.setFileCreateTime(creationTimeBytes == null?  0:<a name="line.221"></a>
-<span class="sourceLineNo">222</span>        Bytes.toLong(creationTimeBytes));<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    if (fileInfo.get(FileInfo.LASTKEY) != null) {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>      lastKeyCell = new KeyValue.KeyOnlyKeyValue(fileInfo.get(FileInfo.LASTKEY));<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    }<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    avgKeyLen = Bytes.toInt(fileInfo.get(FileInfo.AVG_KEY_LEN));<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    avgValueLen = Bytes.toInt(fileInfo.get(FileInfo.AVG_VALUE_LEN));<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    byte [] keyValueFormatVersion = fileInfo.get(HFileWriterImpl.KEY_VALUE_VERSION);<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    includesMemstoreTS = keyValueFormatVersion != null &amp;&amp;<a name="line.229"></a>
-<span class="sourceLineNo">230</span>        Bytes.toInt(keyValueFormatVersion) == HFileWriterImpl.KEY_VALUE_VER_WITH_MEMSTORE;<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    fsBlockReader.setIncludesMemstoreTS(includesMemstoreTS);<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    if (includesMemstoreTS) {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      decodeMemstoreTS = Bytes.toLong(fileInfo.get(HFileWriterImpl.MAX_MEMSTORE_TS_KEY)) &gt; 0;<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    }<a name="line.234"></a>
-<span class="sourceLineNo">235</span><a name="line.235"></a>
-<span class="sourceLineNo">236</span>    // Read data block encoding algorithm name from file info.<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    dataBlockEncoder = HFileDataBlockEncoderImpl.createFromFileInfo(fileInfo);<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    fsBlockReader.setDataBlockEncoder(dataBlockEncoder);<a name="line.238"></a>
-<span class="sourceLineNo">239</span><a name="line.239"></a>
-<span class="sourceLineNo">240</span>    // Store all other load-on-open blocks for further consumption.<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    HFileBlock b;<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    while ((b = blockIter.nextBlock()) != null) {<a name="line.242"></a>
-<span class="sourceLineNo">243</span>      loadOnOpenBlocks.add(b);<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>    // Prefetch file blocks upon open if requested<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    if (cacheConf.shouldPrefetchOnOpen()) {<a name="line.247"></a>
-<span class="sourceLineNo">248</span>      PrefetchExecutor.request(path, new Runnable() {<a name="line.248"></a>
-<span class="sourceLineNo">249</span>        public void run() {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>          try {<a name="line.250"></a>
-<span class="sourceLineNo">251</span>            long offset = 0;<a name="line.251"></a>
-<span class="sourceLineNo">252</span>            long end = fileSize - getTrailer().getTrailerSize();<a name="line.252"></a>
-<span class="sourceLineNo">253</span>            HFileBlock prevBlock = null;<a name="line.253"></a>
-<span class="sourceLineNo">254</span>            while (offset &lt; end) {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>              if (Thread.interrupted()) {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>                break;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>              }<a name="line.257"></a>
-<span class="sourceLineNo">258</span>              long onDiskSize = -1;<a name="line.258"></a>
-<span class="sourceLineNo">259</span>              if (prevBlock != null) {<a name="line.259"></a>
-<span class="sourceLineNo">260</span>                onDiskSize = prevBlock.getNextBlockOnDiskSizeWithHeader();<a name="line.260"></a>
-<span class="sourceLineNo">261</span>              }<a name="line.261"></a>
-<span class="sourceLineNo">262</span>              HFileBlock block = readBlock(offset, onDiskSize, true, false, false, false,<a name="line.262"></a>
-<span class="sourceLineNo">263</span>                null, null);<a name="line.263"></a>
-<span class="sourceLineNo">264</span>              // Need not update the current block. Ideally here the readBlock won't find the<a name="line.264"></a>
-<span class="sourceLineNo">265</span>              // block in cache. We call this readBlock so that block data is read from FS and<a name="line.265"></a>
-<span class="sourceLineNo">266</span>              // cached in BC. So there is no reference count increment that happens here.<a name="line.266"></a>
-<span class="sourceLineNo">267</span>              // The return will ideally be a noop because the block is not of MemoryType SHARED.<a name="line.267"></a>
-<span class="sourceLineNo">268</span>              returnBlock(block);<a name="line.268"></a>
-<span class="sourceLineNo">269</span>              prevBlock = block;<a name="line.269"></a>
-<span class="sourceLineNo">270</span>              offset += block.getOnDiskSizeWithHeader();<a name="line.270"></a>
-<span class="sourceLineNo">271</span>            }<a name="line.271"></a>
-<span class="sourceLineNo">272</span>          } catch (IOException e) {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>            // IOExceptions are probably due to region closes (relocation, etc.)<a name="line.273"></a>
-<span class="sourceLineNo">274</span>            if (LOG.isTraceEnabled()) {<a name="line.274"></a>
-<span class="sourceLineNo">275</span>              LOG.trace("Exception encountered while prefetching " + path + ":", e);<a name="line.275"></a>
-<span class="sourceLineNo">276</span>            }<a name="line.276"></a>
-<span class="sourceLineNo">277</span>          } catch (Exception e) {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>            // Other exceptions are interesting<a name="line.278"></a>
-<span class="sourceLineNo">279</span>            LOG.warn("Exception encountered while prefetching " + path + ":", e);<a name="line.279"></a>
-<span class="sourceLineNo">280</span>          } finally {<a name="line.280"></a>
-<span class="sourceLineNo">281</span>            PrefetchExecutor.complete(path);<a name="line.281"></a>
-<span class="sourceLineNo">282</span>          }<a name="line.282"></a>
-<span class="sourceLineNo">283</span>        }<a name="line.283"></a>
-<span class="sourceLineNo">284</span>      });<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    }<a name="line.285"></a>
-<span class="sourceLineNo">286</span><a name="line.286"></a>
-<span class="sourceLineNo">287</span>    byte[] tmp = fileInfo.get(FileInfo.MAX_TAGS_LEN);<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    // max tag length is not present in the HFile means tags were not at all written to file.<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    if (tmp != null) {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>      hfileContext.setIncludesTags(true);<a name="line.290"></a>
-<span class="sourceLineNo">291</span>      tmp = fileInfo.get(FileInfo.TAGS_COMPRESSED);<a name="line.291"></a>
-<span class="sourceLineNo">292</span>      if (tmp != null &amp;&amp; Bytes.toBoolean(tmp)) {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>        hfileContext.setCompressTags(true);<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      }<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    }<a name="line.295"></a>
-<span class="sourceLineNo">296</span>  }<a name="line.296"></a>
-<span class="sourceLineNo">297</span><a name="line.297"></a>
-<span class="sourceLineNo">298</span>  /**<a name="line.298"></a>
-<span class="sourceLineNo">299</span>   * File version check is a little sloppy. We read v3 files but can also read v2 files if their<a name="line.299"></a>
-<span class="sourceLineNo">300</span>   * content has been pb'd; files written with 0.98.<a name="line.300"></a>
-<span class="sourceLineNo">301</span>   */<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  private void checkFileVersion() {<a name="line.302"></a>
-<span class="sourceLineNo">303</span>    int majorVersion = trailer.getMajorVersion();<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    if (majorVersion == getMajorVersion()) return;<a name="line.304"></a>
-<span class="sourceLineNo">305</span>    int minorVersion = trailer.getMinorVersion();<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    if (majorVersion == 2 &amp;&amp; minorVersion &gt;= MIN_V2_MINOR_VERSION_WITH_PB) return;<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    // We can read v3 or v2 versions of hfile.<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    throw new IllegalArgumentException("Invalid HFile version: major=" +<a name="line.308"></a>
-<span class="sourceLineNo">309</span>      trailer.getMajorVersion() + ", minor=" + trailer.getMinorVersion() + ": expected at least " +<a name="line.309"></a>
-<span class="sourceLineNo">310</span>      "major=2 and minor=" + MAX_MINOR_VERSION);<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  }<a name="line.311"></a>
-<span class="sourceLineNo">312</span><a name="line.312"></a>
-<span class="sourceLineNo">313</span>  @SuppressWarnings("serial")<a name="line.313"></a>
-<span class="sourceLineNo">314</span>  public static class BlockIndexNotLoadedException extends IllegalStateException {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    public BlockIndexNotLoadedException() {<a name="line.315"></a>
-<span class="sourceLineNo">316</span>      // Add a message in case anyone relies on it as opposed to class name.<a name="line.316"></a>
-<span class="sourceLineNo">317</span>      super("Block index not loaded");<a name="line.317"></a>
-<span class="sourceLineNo">318</span>    }<a name="line.318"></a>
-<span class="sourceLineNo">319</span>  }<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>  private String toStringFirstKey() {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    if(getFirstKey() == null)<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      return null;<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    return CellUtil.getCellKeyAsString(getFirstKey());<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  }<a name="line.325"></a>
-<span class="sourceLineNo">326</span><a name="line.326"></a>
-<span class="sourceLineNo">327</span>  private String toStringLastKey() {<a name="line.327"></a>
-<span class="sourceLineNo">328</span>    return CellUtil.toString(getLastKey(), false);<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>  @Override<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  public String toString() {<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    return "reader=" + path.toString() +<a name="line.333"></a>
-<span class="sourceLineNo">334</span>        (!isFileInfoLoaded()? "":<a name="line.334"></a>
-<span class="sourceLineNo">335</span>          ", compression=" + compressAlgo.getName() +<a name="line.335"></a>
-<span class="sourceLineNo">336</span>          ", cacheConf=" + cacheConf +<a name="line.336"></a>
-<span class="sourceLineNo">337</span>          ", firstKey=" + toStringFirstKey() +<a name="line.337"></a>
-<span class="sourceLineNo">338</span>          ", lastKey=" + toStringLastKey()) +<a name="line.338"></a>
-<span class="sourceLineNo">339</span>          ", avgKeyLen=" + avgKeyLen +<a name="line.339"></a>
-<span class="sourceLineNo">340</span>          ", avgValueLen=" + avgValueLen +<a name="line.340"></a>
-<span class="sourceLineNo">341</span>          ", entries=" + trailer.getEntryCount() +<a name="line.341"></a>
-<span class="sourceLineNo">342</span>          ", length=" + fileSize;<a name="line.342"></a>
-<span class="sourceLineNo">343</span>  }<a name="line.343"></a>
-<span class="sourceLineNo">344</span><a name="line.344"></a>
-<span class="sourceLineNo">345</span>  @Override<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  public long length() {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    return fileSize;<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 void returnBlock(HFileBlock block) {<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    BlockCache blockCache = this.cacheConf.getBlockCache();<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    if (blockCache != null &amp;&amp; block != null) {<a name="line.353"></a>
-<span class="sourceLineNo">354</span>      BlockCacheKey cacheKey = new BlockCacheKey(this.getFileContext().getHFileName(),<a name="line.354"></a>
-<span class="sourceLineNo">355</span>          block.getOffset(), this.isPrimaryReplicaReader());<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      blockCache.returnBlock(cacheKey, block);<a name="line.356"></a>
-<span class="sourceLineNo">357</span>    }<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  }<a name="line.358"></a>
-<span class="sourceLineNo">359</span>  /**<a name="line.359"></a>
-<span class="sourceLineNo">360</span>   * @return the first key in the file. May be null if file has no entries. Note<a name="line.360"></a>
-<span class="sourceLineNo">361</span>   *         that this is not the first row key, but rather the byte form of the<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   *         first KeyValue.<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   */<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  @Override<a name="line.364"></a>
-<span class="sourceLineNo">365</span>  public Cell getFirstKey() {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    if (dataBlockIndexReader == null) {<a name="line.366"></a>
-<span class="sourceLineNo">367</span>      throw new BlockIndexNotLoadedException();<a name="line.367"></a>
-<span class="sourceLineNo">368</span>    }<a name="line.368"></a>
-<span class="sourceLineNo">369</span>    return dataBlockIndexReader.isEmpty() ? null<a name="line.369"></a>
-<span class="sourceLineNo">370</span>        : dataBlockIndexReader.getRootBlockKey(0);<a name="line.370"></a>
-<span class="sourceLineNo">371</span>  }<a name="line.371"></a>
-<span class="sourceLineNo">372</span><a name="line.372"></a>
-<span class="sourceLineNo">373</span>  /**<a name="line.373"></a>
-<span class="sourceLineNo">374</span>   * TODO left from {@link HFile} version 1: move this to StoreFile after Ryan's<a name="line.374"></a>
-<span class="sourceLineNo">375</span>   * patch goes in to eliminate {@link KeyValue} here.<a name="line.375"></a>
-<span class="sourceLineNo">376</span>   *<a name="line.376"></a>
-<span class="sourceLineNo">377</span>   * @return the first row key, or null if the file is empty.<a name="line.377"></a>
-<span class="sourceLineNo">378</span>   */<a name="line.378"></a>
-<span class="sourceLineNo">379</span>  @Override<a name="line.379"></a>
-<span class="sourceLineNo">380</span>  public byte[] getFirstRowKey() {<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    Cell firstKey = getFirstKey();<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    // We have to copy the row part to form the row key alone<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    return firstKey == null? null: CellUtil.cloneRow(firstKey);<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>  /**<a name="line.386"></a>
-<span class="sourceLineNo">387</span>   * TODO left from {@link HFile} version 1: move this to StoreFile after<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * Ryan's patch goes in to eliminate {@link KeyValue} here.<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   *<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   * @return the last row key, or null if the file is empty.<a name="line.390"></a>
-<span class="sourceLineNo">391</span>   */<a name="line.391"></a>
-<span class="sourceLineNo">392</span>  @Override<a name="line.392"></a>
-<span class="sourceLineNo">393</span>  public byte[] getLastRowKey() {<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    Cell lastKey = getLastKey();<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    return lastKey == null? null: CellUtil.cloneRow(lastKey);<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  }<a name="line.396"></a>
-<span class="sourceLineNo">397</span><a name="line.397"></a>
-<span class="sourceLineNo">398</span>  /** @return number of KV entries in this HFile */<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  @Override<a name="line.399"></a>
-<span class="sourceLineNo">400</span>  public long getEntries() {<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    return trailer.getEntryCount();<a name="line.401"></a>
-<span class="sourceLineNo">402</span>  }<a name="line.402"></a>
-<span class="sourceLineNo">403</span><a name="line.403"></a>
-<span class="sourceLineNo">404</span>  /** @return comparator */<a name="line.404"></a>
-<span class="sourceLineNo">405</span>  @Override<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  public CellComparator getComparator() {<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    return comparator;<a name="line.407"></a>
-<span class="sourceLineNo">408</span>  }<a name="line.408"></a>
-<span class="sourceLineNo">409</span><a name="line.409"></a>
-<span class="sourceLineNo">410</span>  /** @return compression algorithm */<a name="line.410"></a>
-<span class="sourceLineNo">411</span>  @Override<a name="line.411"></a>
-<span class="sourceLineNo">412</span>  public Compression.Algorithm getCompressionAlgorithm() {<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    return compressAlgo;<a name="line.413"></a>
-<span class="sourceLineNo">414</span>  }<a name="line.414"></a>
-<span class="sourceLineNo">415</span><a name="line.415"></a>
-<span class="sourceLineNo">416</span>  /**<a name="line.416"></a>
-<span class="sourceLineNo">417</span>   * @return the total heap size of data and meta block indexes in bytes. Does<a name="line.417"></a>
-<span class="sourceLineNo">418</span>   *         not take into account non-root blocks of a multilevel data index.<a name="line.418"></a>
-<span class="sourceLineNo">419</span>   */<a name="line.419"></a>
-<span class="sourceLineNo">420</span>  public long indexSize() {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    return (dataBlockIndexReader != null ? dataBlockIndexReader.heapSize() : 0)<a name="line.421"></a>
-<span class="sourceLineNo">422</span>        + ((metaBlockIndexReader != null) ? metaBlockIndexReader.heapSize()<a name="line.422"></a>
-<span class="sourceLineNo">423</span>            : 0);<a name="line.423"></a>
-<span class="sourceLineNo">424</span>  }<a name="line.424"></a>
-<span class="sourceLineNo">425</span><a name="line.425"></a>
-<span class="sourceLineNo">426</span>  @Override<a name="line.426"></a>
-<span class="sourceLineNo">427</span>  public String getName() {<a name="line.427"></a>
-<span class="sourceLineNo">428</span>    return name;<a name="line.428"></a>
-<span class="sourceLineNo">429</span>  }<a name="line.429"></a>
-<span class="sourceLineNo">430</span><a name="line.430"></a>
-<span class="sourceLineNo">431</span>  @Override<a name="line.431"></a>
-<span class="sourceLineNo">432</span>  public HFileBlockIndex.BlockIndexReader getDataBlockIndexReader() {<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    return dataBlockIndexReader;<a name="line.433"></a>
-<span class="sourceLineNo">434</span>  }<a name="line.434"></a>
-<span class="sourceLineNo">435</span><a name="line.435"></a>
-<span class="sourceLineNo">436</span>  @Override<a name="line.436"></a>
-<span class="sourceLineNo">437</span>  public FixedFileTrailer getTrailer() {<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    return trailer;<a name="line.438"></a>
-<span class="sourceLineNo">439</span>  }<a name="line.439"></a>
-<span class="sourceLineNo">440</span><a name="line.440"></a>
-<span class="sourceLineNo">441</span>  @Override<a name="line.441"></a>
-<span class="sourceLineNo">442</span>  public boolean isPrimaryReplicaReader() {<a name="line.442"></a>
-<span class="sourceLineNo">443</span>    return isPrimaryReplicaReader;<a name="line.443"></a>
-<span class="sourceLineNo">444</span>  }<a name="line.444"></a>
-<span class="sourceLineNo">445</span><a name="line.445"></a>
-<span class="sourceLineNo">446</span>  @Override<a name="line.446"></a>
-<span class="sourceLineNo">447</span>  public void setPrimaryReplicaReader(boolean isPrimaryReplicaReader) {<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    this.isPrimaryReplicaReader = isPrimaryReplicaReader;<a name="line.448"></a>
-<span class="sourceLineNo">449</span>  }<a name="line.449"></a>
-<span class="sourceLineNo">450</span><a name="line.450"></a>
-<span class="sourceLineNo">451</span>  @Override<a name="line.451"></a>
-<span class="sourceLineNo">452</span>  public FileInfo loadFileInfo() throws IOException {<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    return fileInfo;<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>   * An exception thrown when an operation requiring a scanner to be seeked<a name="line.457"></a>
-<span class="sourceLineNo">458</span>   * is invoked on a scanner that is not seeked.<a name="line.458"></a>
-<span class="sourceLineNo">459</span>   */<a name="line.459"></a>
-<span class="sourceLineNo">460</span>  @SuppressWarnings("serial")<a name="line.460"></a>
-<span class="sourceLineNo">461</span>  public static class NotSeekedException extends IllegalStateException {<a name="line.461"></a>
-<span class="sourceLineNo">462</span>    public NotSeekedException() {<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      super("Not seeked to a key/value");<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>  protected static class HFileScannerImpl implements HFileScanner {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    private ByteBuff blockBuffer;<a name="line.468"></a>
-<span class="sourceLineNo">469</span>    protected final boolean cacheBlocks;<a name="line.469"></a>
-<span class="sourceLineNo">470</span>    protected final boolean pread;<a name="line.470"></a>
-<span class="sourceLineNo">471</span>    protected final boolean isCompaction;<a name="line.471"></a>
-<span class="sourceLineNo">472</span>    private int currKeyLen;<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    private int currValueLen;<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    private int currMemstoreTSLen;<a name="line.474"></a>
-<span class="sourceLineNo">475</span>    private long currMemstoreTS;<a name="line.475"></a>
-<span class="sourceLineNo">476</span>    // Updated but never read?<a name="line.476"></a>
-<span class="sourceLineNo">477</span>    protected AtomicInteger blockFetches = new AtomicInteger(0);<a name="line.477"></a>
-<span class="sourceLineNo">478</span>    protected final HFile.Reader reader;<a name="line.478"></a>
-<span class="sourceLineNo">479</span>    private int currTagsLen;<a name="line.479"></a>
-<span class="sourceLineNo">480</span>    // buffer backed keyonlyKV<a name="line.480"></a>
-<span class="sourceLineNo">481</span>    private ByteBufferedKeyOnlyKeyValue bufBackedKeyOnlyKv = new ByteBufferedKeyOnlyKeyValue();<a name="line.481"></a>
-<span class="sourceLineNo">482</span>    // A pair for reusing in blockSeek() so that we don't garbage lot of objects<a name="line.482"></a>
-<span class="sourceLineNo">483</span>    final ObjectIntPair&lt;ByteBuffer&gt; pair = new ObjectIntPair&lt;ByteBuffer&gt;();<a name="line.483"></a>
-<span class="sourceLineNo">484</span><a name="line.484"></a>
-<span class="sourceLineNo">485</span>    /**<a name="line.485"></a>
-<span class="sourceLineNo">486</span>     * The next indexed key is to keep track of the indexed key of the next data block.<a name="line.486"></a>
-<span class="sourceLineNo">487</span>     * If the nextIndexedKey is HConstants.NO_NEXT_INDEXED_KEY, it means that the<a name="line.487"></a>
-<span class="sourceLineNo">488</span>     * current data block is the last data block.<a name="line.488"></a>
-<span class="sourceLineNo">489</span>     *<a name="line.489"></a>
-<span class="sourceLineNo">490</span>     * If the nextIndexedKey is null, it means the nextIndexedKey has not been loaded yet.<a name="line.490"></a>
-<span class="sourceLineNo">491</span>     */<a name="line.491"></a>
-<span class="sourceLineNo">492</span>    protected Cell nextIndexedKey;<a name="line.492"></a>
-<span class="sourceLineNo">493</span>    // Current block being used<a name="line.493"></a>
-<span class="sourceLineNo">494</span>    protected HFileBlock curBlock;<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    // Previous blocks that were used in the course of the read<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    protected final ArrayList&lt;HFileBlock&gt; prevBlocks = new ArrayList&lt;HFileBlock&gt;();<a name="line.496"></a>
-<span class="sourceLineNo">497</span><a name="line.497"></a>
-<span class="sourceLineNo">498</span>    public HFileScannerImpl(final HFile.Reader reader, final boolean cacheBlocks,<a name="line.498"></a>
-<span class="sourceLineNo">499</span>        final boolean pread, final boolean isCompaction) {<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      this.reader = reader;<a name="line.500"></a>
-<span class="sourceLineNo">501</span>      this.cacheBlocks = cacheBlocks;<a name="line.501"></a>
-<span class="sourceLineNo">502</span>      this.pread = pread;<a name="line.502"></a>
-<span class="sourceLineNo">503</span>      this.isCompaction = isCompaction;<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>    void updateCurrBlockRef(HFileBlock block) {<a name="line.506"></a>
-<span class="sourceLineNo">507</span>      if (block != null &amp;&amp; this.curBlock != null &amp;&amp;<a name="line.507"></a>
-<span class="sourceLineNo">508</span>          block.getOffset() == this.curBlock.getOffset()) {<a name="line.508"></a>
-<span class="sourceLineNo">509</span>        return;<a name="line.509"></a>
-<span class="sourceLineNo">510</span>      }<a name="line.510"></a>
-<span class="sourceLineNo">511</span>      // We don't have to keep ref to EXCLUSIVE type of block<a name="line.511"></a>
-<span class="sourceLineNo">512</span>      if (this.curBlock != null &amp;&amp; this.curBlock.usesSharedMemory()) {<a name="line.512"></a>
-<span class="sourceLineNo">513</span>        prevBlocks.add(this.curBlock);<a name="line.513"></a>
-<span class="sourceLineNo">514</span>      }<a name="line.514"></a>
-<span class="sourceLineNo">515</span>      this.curBlock = block;<a name="line.515"></a>
-<span class="sourceLineNo">516</span>    }<a name="line.516"></a>
-<span class="sourceLineNo">517</span><a name="line.517"></a>
-<span class="sourceLineNo">518</span>    void reset() {<a name="line.518"></a>
-<span class="sourceLineNo">519</span>      // We don't have to keep ref to EXCLUSIVE type of block<a name="line.519"></a>
-<span class="sourceLineNo">520</span>      if (this.curBlock != null &amp;&amp; this.curBlock.usesSharedMemory()) {<a name="line.520"></a>
-<span class="sourceLineNo">521</span>        this.prevBlocks.add(this.curBlock);<a name="line.521"></a>
-<span class="sourceLineNo">522</span>      }<a name="line.522"></a>
-<span class="sourceLineNo">523</span>      this.curBlock = null;<a name="line.523"></a>
-<span class="sourceLineNo">524</span>    }<a name="line.524"></a>
-<span class="sourceLineNo">525</span><a name="line.525"></a>
-<span class="sourceLineNo">526</span>    private void returnBlockToCache(HFileBlock block) {<a name="line.526"></a>
-<span class="sourceLineNo">527</span>      if (LOG.isTraceEnabled()) {<a name="line.527"></a>
-<span class="sourceLineNo">528</span>        LOG.trace("Returning the block : " + block);<a name="line.528"></a>
-<span class="sourceLineNo">529</span>      }<a name="line.529"></a>
-<span class="sourceLineNo">530</span>      this.reader.returnBlock(block);<a name="line.530"></a>
-<span class="sourceLineNo">531</span>    }<a name="line.531"></a>
-<span class="sourceLineNo">532</span><a name="line.532"></a>
-<span class="sourceLineNo">533</span>    private void returnBlocks(boolean returnAll) {<a name="line.533"></a>
-<span class="sourceLineNo">534</span>      for (int i = 0; i &lt; this.prevBlocks.size(); i++) {<a name="line.534"></a>
-<span class="sourceLineNo">535</span>        returnBlockToCache(this.prevBlocks.get(i));<a name="line.535"></a>
-<span class="sourceLineNo">536</span>      }<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      this.prevBlocks.clear();<a name="line.537"></a>
-<span class="sourceLineNo">538</span>      if (returnAll &amp;&amp; this.curBlock != null) {<a name="line.538"></a>
-<span class="sourceLineNo">539</span>        returnBlockToCache(this.curBlock);<a name="line.539"></a>
-<span class="sourceLineNo">540</span>        this.curBlock = null;<a name="line.540"></a>
-<span class="sourceLineNo">541</span>      }<a name="line.541"></a>
-<span class="sourceLineNo">542</span>    }<a name="line.542"></a>
-<span class="sourceLineNo">543</span>    @Override<a name="line.543"></a>
-<span class="sourceLineNo">544</span>    public boolean isSeeked(){<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      return blockBuffer != null;<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>    @Override<a name="line.548"></a>
-<span class="sourceLineNo">549</span>    public String toString() {<a name="line.549"></a>
-<span class="sourceLineNo">550</span>      return "HFileScanner for reader " + String.valueOf(getReader());<a name="line.550"></a>
-<span class="sourceLineNo">551</span>    }<a name="line.551"></a>
-<span class="sourceLineNo">552</span><a name="line.552"></a>
-<span class="sourceLineNo">553</span>    protected void assertSeeked() {<a name="line.553"></a>
-<span class="sourceLineNo">554</span>      if (!isSeeked())<a name="line.554"></a>
-<span class="sourceLineNo">555</span>        throw new NotSeekedException();<a name="line.555"></a>
-<span class="sourceLineNo">556</span>    }<a name="line.556"></a>
-<span class="sourceLineNo">557</span><a name="line.557"></a>
-<span class="sourceLineNo">558</span>    @Override<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    public HFile.Reader getReader() {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>      return reader;<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    }<a name="line.561"></a>
-<span class="sourceLineNo">562</span><a name="line.562"></a>
-<span class="sourceLineNo">563</span>    protected int getCellBufSize() {<a name="line.563"></a>
-<span class="sourceLineNo">564</span>      int kvBufSize = KEY_VALUE_LEN_SIZE + currKeyLen + currValueLen;<a name="line.564"></a>
-<span class="sourceLineNo">565</span>      if (this.reader.getFileContext().isIncludesTags()) {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>        kvBufSize += Bytes.SIZEOF_SHORT + currTagsLen;<a name="line.566"></a>
-<span class="sourceLineNo">567</span>      }<a name="line.567"></a>
-<span class="sourceLineNo">568</span>      return kvBufSize;<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>    @Override<a name="line.571"></a>
-<span class="sourceLineNo">572</span>    public void close() {<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      this.returnBlocks(true);<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    }<a name="line.574"></a>
-<span class="sourceLineNo">575</span><a name="line.575"></a>
-<span class="sourceLineNo">576</span>    protected int getCurCellSize() {<a name="line.576"></a>
-<span class="sourceLineNo">577</span>      int curCellSize =  KEY_VALUE_LEN_SIZE + currKeyLen + currValueLen<a name="line.577"></a>
-<span class="sourceLineNo">578</span>          + currMemstoreTSLen;<a name="line.578"></a>
-<span class="sourceLineNo">579</span>      if (this.reader.getFileContext().isIncludesTags()) {<a name="line.579"></a>
-<span class="sourceLineNo">580</span>        curCellSize += Bytes.SIZEOF_SHORT + currTagsLen;<a name="line.580"></a>
-<span class="sourceLineNo">581</span>      }<a name="line.581"></a>
-<span class="sourceLineNo">582</span>      return curCellSize;<a name="line.582"></a>
-<span class="sourceLineNo">583</span>    }<a name="line.583"></a>
-<span class="sourceLineNo">584</span><a name="line.584"></a>
-<span class="sourceLineNo">585</span>    protected void readKeyValueLen() {<a name="line.585"></a>
-<span class="sourceLineNo">586</span>      // This is a hot method. We go out of our way to make this method short so it can be<a name="line.586"></a>
-<span class="sourceLineNo">587</span>      // inlined and is not too big to compile. We also manage position in ByteBuffer ourselves<a name="line.587"></a>
-<span class="sourceLineNo">588</span>      // because it is faster than going via range-checked ByteBuffer methods or going through a<a name="line.588"></a>
-<span class="sourceLineNo">589</span>      // byte buffer array a byte at a time.<a name="line.589"></a>
-<span class="sourceLineNo">590</span>      // Get a long at a time rather than read two individual ints. In micro-benchmarking, even<a name="line.590"></a>
-<span class="sourceLineNo">591</span>      // with the extra bit-fiddling, this is order-of-magnitude faster than getting two ints.<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      // Trying to imitate what was done - need to profile if this is better or<a name="line.592"></a>
-<span class="sourceLineNo">593</span>      // earlier way is better by doing mark and reset?<a name="line.593"></a>
-<span class="sourceLineNo">594</span>      // But ensure that you read long instead of two ints<a name="line.594"></a>
-<span class="sourceLineNo">595</span>      long ll = blockBuffer.getLongAfterPosition(0);<a name="line.595"></a>
-<span class="sourceLineNo">596</span>      // Read top half as an int of key length and bottom int as value length<a name="line.596"></a>
-<span class="sourceLineNo">597</span>      this.currKeyLen = (int)(ll &gt;&gt; Integer.SIZE);<a name="line.597"></a>
-<span class="sourceLineNo">598</span>      this.currValueLen = (int)(Bytes.MASK_FOR_LOWER_INT_IN_LONG ^ ll);<a name="line.598"></a>
-<span class="sourceLineNo">599</span>      checkKeyValueLen();<a name="line.599"></a>
-<span class="sourceLineNo">600</span>      // Move position past the key and value lengths and then beyond the key and value<a name="line.600"></a>
-<span class="sourceLineNo">601</span>      int p = (Bytes.SIZEOF_LONG + currKeyLen + currValueLen);<a name="line.601"></a>
-<span class="sourceLineNo">602</span>      if (reader.getFileContext().isIncludesTags()) {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>        // Tags length is a short.<a name="line.603"></a>
-<span class="sourceLineNo">604</span>        this.currTagsLen = blockBuffer.getShortAfterPosition(p);<a name="line.604"></a>
-<span class="sourceLineNo">605</span>        checkTagsLen();<a name="line.605"></a>
-<span class="sourceLineNo">606</span>        p += (Bytes.SIZEOF_SHORT + currTagsLen);<a name="line.606"></a>
-<span class="sourceLineNo">607</span>      }<a name="line.607"></a>
-<span class="sourceLineNo">608</span>      readMvccVersion(p);<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>    private final void checkTagsLen() {<a name="line.611"></a>
-<span class="sourceLineNo">612</span>      if (checkLen(this.currTagsLen)) {<a name="line.612"></a>
-<span class="sourceLineNo">613</span>        throw new IllegalStateException("Invalid currTagsLen " + this.currTagsLen +<a name="line.613"></a>
-<span class="sourceLineNo">614</span>          ". Block offset: " + curBlock.getOffset() + ", block length: " +<a name="line.614"></a>
-<span class="sourceLineNo">615</span>            this.blockBuffer.limit() +<a name="line.615"></a>
-<span class="sourceLineNo">616</span>          ", position: " + this.blockBuffer.position() + " (without header).");<a name="line.616"></a>
-<span class="sourceLineNo">617</span>      }<a name="line.617"></a>
-<span class="sourceLineNo">618</span>    }<a name="line.618"></a>
-<span class="sourceLineNo">619</span><a name="line.619"></a>
-<span class="sourceLineNo">620</span>    /**<a name="line.620"></a>
-<span class="sourceLineNo">621</span>     * Read mvcc. Does checks to see if we even need to read the mvcc at all.<a name="line.621"></a>
-<span class="sourceLineNo">622</span>     * @param offsetFromPos<a name="line.622"></a>
-<span class="sourceLineNo">623</span>     */<a name="line.623"></a>
-<span class="sourceLineNo">624</span>    protected void readMvccVersion(final int offsetFromPos) {<a name="line.624"></a>
-<span class="sourceLineNo">625</span>      // See if we even need to decode mvcc.<a name="line.625"></a>
-<span class="sourceLineNo">626</span>      if (!this.reader.shouldIncludeMemstoreTS()) return;<a name="line.626"></a>
-<span class="sourceLineNo">627</span>      if (!this.reader.isDecodeMemstoreTS()) {<a name="line.627"></a>
-<span class="sourceLineNo">628</span>        currMemstoreTS = 0;<a name="line.628"></a>
-<span class="sourceLineNo">629</span>        currMemstoreTSLen = 1;<a name="line.629"></a>
-<span class="sourceLineNo">630</span>        return;<a name="line.630"></a>
-<span class="sourceLineNo">631</span>      }<a name="line.631"></a>
-<span class="sourceLineNo">632</span>      _readMvccVersion(offsetFromPos);<a name="line.632"></a>
-<span class="sourceLineNo">633</span>    }<a name="line.633"></a>
-<span class="sourceLineNo">634</span><a name="line.634"></a>
-<span class="sourceLineNo">635</span>    /**<a name="line.635"></a>
-<span class="sourceLineNo">636</span>     * Actually do the mvcc read. Does no checks.<a name="line.636"></a>
-<span class="sourceLineNo">637</span>     * @param offsetFromPos<a name="line.637"></a>
-<span class="sourceLineNo">638</span>     */<a name="line.638"></a>
-<span class="sourceLineNo">639</span>    private void _readMvccVersion(int offsetFromPos) {<a name="line.639"></a>
-<span class="sourceLineNo">640</span>      // This is Bytes#bytesToVint inlined so can save a few instructions in this hot method; i.e.<a name="line.640"></a>
-<span class="sourceLineNo">641</span>      // previous if one-byte vint, we'd redo the vint call to find int size.<a name="line.641"></a>
-<span class="sourceLineNo">642</span>      // Also the method is kept small so can be inlined.<a name="line.642"></a>
-<span class="sourceLineNo">643</span>      byte firstByte = blockBuffer.getByteAfterPosition(offsetFromPos);<a name="line.643"></a>
-<span class="sourceLineNo">644</span>      int len = WritableUtils.decodeVIntSize(firstByte);<a name="line.644"></a>
-<span class="sourceLineNo">645</span>      if (len == 1) {<a name="line.645"></a>
-<span class="sourceLineNo">646</span>        this.currMemstoreTS = firstByte;<a name="line.646"></a>
-<span class="sourceLineNo">647</span>      } else {<a name="line.647"></a>
-<span class="sourceLineNo">648</span>        int remaining = len -1;<a name="line.648"></a>
-<span class="sourceLineNo">649</span>        long i = 0;<a name="line.649"></a>
-<span class="sourceLineNo">650</span>        offsetFromPos++;<a name="line.650"></a>
-<span class="sourceLineNo">651</span>        if (remaining &gt;= Bytes.SIZEOF_INT) {<a name="line.651"></a>
-<span class="sourceLineNo">652</span>          i = blockBuffer.getIntAfterPosition(offsetFromPos);<a name="line.652"></a>
-<span class="sourceLineNo">653</span>          remaining -= Bytes.SIZEOF_INT;<a name="line.653"></a>
-<span class="sourceLineNo">654</span>          offsetFromPos += Bytes.SIZEOF_INT;<a name="line.654"></a>
-<span class="sourceLineNo">655</span>        }<a name="line.655"></a>
-<span class="sourceLineNo">656</span>        if (remaining &gt;= Bytes.SIZEOF_SHORT) {<a name="line.656"></a>
-<span class="sourceLineNo">657</span>          short s = blockBuffer.getShortAfterPosition(offsetFromPos);<a name="line.657"></a>
-<span class="sourceLineNo">658</span>          i = i &lt;&lt; 16;<a name="line.658"></a>
-<span class="sourceLineNo">659</span>          i = i | (s &amp; 0xFFFF);<a name="line.659"></a>
-<span class="sourceLineNo">660</span>          remaining -= Bytes.SIZEOF_SHORT;<a name="line.660"></a>
-<span class="sourceLineNo">661</span>          offsetFromPos += Bytes.SIZEOF_SHORT;<a name="line.661"></a>
-<span class="sourceLineNo">662</span>        }<a name="line.662"></a>
-<span class="sourceLineNo">663</span>        for (int idx = 0; idx &lt; remaining; idx++) {<a name="line.663"></a>
-<span class="sourceLineNo">664</span>          byte b = blockBuffer.getByteAfterPosition(offsetFromPos + idx);<a name="line.664"></a>
-<span class="sourceLineNo">665</span>          i = i &lt;&lt; 8;<a name="line.665"></a>
-<span class="sourceLineNo">666</span>          i = i | (b &amp; 0xFF);<a name="line.666"></a>
-<span class="sourceLineNo">667</span>        }<a name="line.667"></a>
-<span class="sourceLineNo">668</span>        currMemstoreTS = (WritableUtils.isNegativeVInt(firstByte) ? ~i : i);<a name="line.668"></a>
-<span class="sourceLineNo">669</span>      }<a name="line.669"></a>
-<span class="sourceLineNo">670</span>      this.currMemstoreTSLen = len;<a name="line.670"></a>
-<span class="sourceLineNo">671</span>    }<a name="line.671"></a>
-<span class="sourceLineNo">672</span><a name="line.672"></a>
-<span class="sourceLineNo">673</span>    /**<a name="line.673"></a>
-<span class="sourceLineNo">674</span>     * Within a loaded block, seek looking for the last key that is smaller than<a name="line.674"></a>
-<span class="sourceLineNo">675</span>     * (or equal to?) the key we are interested in.<a name="line.675"></a>
-<span class="sourceLineNo">676</span>     * A note on the seekBefore: if you have seekBefore = true, AND the first<a name="line.676"></a>
-<span class="sourceLineNo">677</span>     * key in the block = key, then you'll get thrown exceptions. The caller has<a name="line.677"></a>
-<span class="sourceLineNo">678</span>     * to check for that case and load the previous block as appropriate.<a name="line.678"></a>
-<span class="sourceLineNo">679</span>     * @param key<a name="line.679"></a>
-<span class="sourceLineNo">680</span>     *          the key to find<a name="line.680"></a>
-<span class="sourceLineNo">681</span>     * @param seekBefore<a name="line.681"></a>
-<span class="sourceLineNo">682</span>     *          find the key before the given key in case of exact match.<a name="line.682"></a>
-<span class="sourceLineNo">683</span>     * @return 0 in case of an exact key match, 1 in case of an inexact match,<a name="line.683"></a>
-<span class="sourceLineNo">684</span>     *         -2 in case of an inexact match and furthermore, the input key<a name="line.684"></a>
-<span class="sourceLineNo">685</span>     *         less than the first key of current block(e.g. using a faked index<a name="line.685"></a>
-<span class="sourceLineNo">686</span>     *         key)<a name="line.686"></a>
-<span class="sourceLineNo">687</span>     */<a name="line.687"></a>
-<span class="sourceLineNo">688</span>    protected int blockSeek(Cell key, boolean seekBefore) {<a name="line.688"></a>
-<span class="sourceLineNo">689</span>      int klen, vlen, tlen = 0;<a name="line.689"></a>
-<span class="sourceLineNo">690</span>      int lastKeyValueSize = -1;<a name="line.690"></a>
-<span class="sourceLineNo">691</span>      int offsetFromPos;<a name="line.691"></a>
-<span class="sourceLineNo">692</span>      do {<a name="line.692"></a>
-<span class="sourceLineNo">693</span>        offsetFromPos = 0;<a name="line.693"></a>
-<span class="sourceLineNo">694</span>        // Better to ensure that we use the BB Utils here<a name="line.694"></a>
-<span class="sourceLineNo">695</span>        long ll = blockBuffer.getLongAfterPosition(offsetFromPos);<a name="line.695"></a>
-<span class="sourceLineNo">696</span>        klen = (int)(ll &gt;&gt; Integer.SIZE);<a name="line.696"></a>
-<span class="sourceLineNo">697</span>        vlen = (int)(Bytes.MASK_FOR_LOWER_INT_IN_LONG ^ ll);<a name="line.697"></a>
-<span class="sourceLineNo">698</span>        if (klen &lt; 0 || vlen &lt; 0 || klen &gt; blockBuffer.limit()<a name="line.698"></a>
-<span class="sourceLineNo">699</span>            || vlen &gt; blockBuffer.limit()) {<a name="line.699"></a>
-<span class="sourceLineNo">700</span>          throw new IllegalStateException("Invalid klen " + klen + " or vlen "<a name="line.700"></a>
-<span class="sourceLineNo">701</span>              + vlen + ". Block offset: "<a name="line.701"></a>
-<span class="sourceLineNo">702</span>              + curBlock.getOffset() + ", block length: " + blockBuffer.limit() + ", position: "<a name="line.702"></a>
-<span class="sourceLineNo">703</span>              + blockBuffer.position() + " (without header).");<a name="line.703"></a>
-<span class="sourceLineNo">704</span>        }<a name="line.704"></a>
-<span class="sourceLineNo">705</span>        offsetFromPos += Bytes.SIZEOF_LONG;<a name="line.705"></a>
-<span class="sourceLineNo">706</span>        blockBuffer.asSubByteBuffer(blockBuffer.position() + offsetFromPos, klen, pair);<a name="line.706"></a>
-<span class="sourceLineNo">707</span>        bufBackedKeyOnlyKv.setKey(pair.getFirst(), pair.getSecond(), klen);<a name="line.707"></a>
-<span class="sourceLineNo">708</span>        int comp = reader.getComparator().compareKeyIgnoresMvcc(key, bufBackedKeyOnlyKv);<a name="line.708"></a>
-<span class="sourceLineNo">709</span>        offsetFromPos += klen + vlen;<a name="line.709"></a>
-<span class="sourceLineNo">710</span>        if (this.reader.getFileContext().isIncludesTags()) {<a name="line.710"></a>
-<span class="sourceLineNo">711</span>          // Read short as unsigned, high byte first<a name="line.711"></a>
-<span class="sourceLineNo">712</span>          tlen = ((blockBuffer.getByteAfterPosition(offsetFromPos) &amp; 0xff) &lt;&lt; 8)<a name="line.712"></a>
-<span class="sourceLineNo">713</span>              ^ (blockBuffer.getByteAfterPosition(offsetFromPos + 1) &amp; 0xff);<a name="line.713"></a>
-<span class="sourceLineNo">714</span>          if (tlen &lt; 0 || tlen &gt; blockBuffer.limit()) {<a name="line.714"></a>
-<span class="sourceLineNo">715</span>            throw new IllegalStateException("Invalid tlen " + tlen + ". Block offset: "<a name="line.715"></a>
-<span class="sourceLineNo">716</span>                + curBlock.getOffset() + ", block length: " + blockBuffer.limit() + ", position: "<a name="line.716"></a>
-<span class="sourceLineNo">717</span>                + blockBuffer.position() + " (without header).");<a name="line.717"></a>
-<span class="sourceLineNo">718</span>          }<a name="line.718"></a>
-<span class="sourceLineNo">719</span>          // add the two bytes read for the tags.<a name="line.719"></a>
-<span class="sourceLineNo">720</span>          offsetFromPos += tlen + (Bytes.SIZEOF_SHORT);<a name="line.720"></a>
-<span class="sourceLineNo">721</span>        }<a name="line.721"></a>
-<span class="sourceLineNo">722</span>        if (this.reader.shouldIncludeMemstoreTS()) {<a name="line.722"></a>
-<span class="sourceLineNo">723</span>          // Directly read the mvcc based on current position<a name="line.723"></a>
-<span class="sourceLineNo">724</span>          readMvccVersion(offsetFromPos);<a name="line.724"></a>
-<span class="sourceLineNo">725</span>        }<a name="line.725"></a>
-<span class="sourceLineNo">726</span>        if (comp == 0) {<a name="line.726"></a>
-<span class="sourceLineNo">727</span>          if (seekBefore) {<a name="line.727"></a>
-<span class="sourceLineNo">728</span>            if (lastKeyValueSize &lt; 0) {<a name="line.728"></a>
-<span class="sourceLineNo">729</span>              throw new IllegalStateException("blockSeek with seekBefore "<a name="line.729"></a>
-<span class="sourceLineNo">730</span>                  + "at the first key of the block: key=" + CellUtil.getCellKeyAsString(key)<a name="line.730"></a>
-<span class="sourceLineNo">731</span>                  + ", blockOffset=" + curBlock.getOffset() + ", onDiskSize="<a name="line.731"></a>
-<span class="sourceLineNo">732</span>                  + curBlock.getOnDiskSizeWithHeader());<a name="line.732"></a>
-<span class="sourceLineNo">733</span>            }<a name="line.733"></a>
-<span class="sourceLineNo">734</span>            blockBuffer.moveBack(lastKeyValueSize);<a name="line.734"></a>
-<span class="sourceLineNo">735</span>            readKeyValueLen();<a name="line.735"></a>
-<span class="sourceLineNo">736</span>            return 1; // non exact match.<a name="line.736"></a>
-<span class="sourceLineNo">737</span>          }<a name="line.737"></a>
-<span class="sourceLineNo">738</span>          currKeyLen = klen;<a name="line.738"></a>
-<span class="sourceLineNo">739</span>          currValueLen = vlen;<a name="line.739"></a>
-<span class="sourceLineNo">740</span>          currTagsLen = tlen;<a name="line.740"></a>
-<span class="sourceLineNo">741</span>          return 0; // indicate exact match<a name="line.741"></a>
-<span class="sourceLineNo">742</span>        } else if (comp &lt; 0) {<a name="line.742"></a>
-<span class="sourceLineNo">743</span>          if (lastKeyValueSize &gt; 0) {<a name="line.743"></a>
-<span class="sourceLineNo">744</span>            blockBuffer.moveBack(lastKeyValueSize);<a name="line.744"></a>
-<span class="sourceLineNo">745</span>          }<a name="line.745"></a>
-<span class="sourceLineNo">746</span>          readKeyValueLen();<a name="line.746"></a>
-<span class="sourceLineNo">747</span>          if (lastKeyValueSize == -1 &amp;&amp; blockBuffer.position() == 0) {<a name="line.747"></a>
-<span class="sourceLineNo">748</span>            return HConstants.INDEX_KEY_MAGIC;<a name="line.748"></a>
-<span class="sourceLineNo">749</span>          }<a name="line.749"></a>
-<span class="sourceLineNo">750</span>          return 1;<a name="line.750"></a>
-<span class="sourceLineNo">751</span>        }<a name="line.751"></a>
-<span class="sourceLineNo">752</span>        // The size of this key/value tuple, including key/value length fields.<a name="line.752"></a>
-<span class="sourceLineNo">753</span>        lastKeyValueSize = klen + vlen + currMemstoreTSLen + KEY_VALUE_LEN_SIZE;<a name="line.753"></a>
-<span class="sourceLineNo">754</span>        // include tag length also if tags included with KV<a name="line.754"></a>
-<span class="sourceLineNo">755</span>        if (reader.getFileContext().isIncludesTags()) {<a name="line.755"></a>
-<span class="sourceLineNo">756</span>          lastKeyValueSize += tlen + Bytes.SIZEOF_SHORT;<a name="line.756"></a>
-<span class="sourceLineNo">757</span>        }<a name="line.757"></a>
-<span class="sourceLineNo">758</span>        blockBuffer.skip(lastKeyValueSize);<a name="line.758"></a>
-<span class="sourceLineNo">759</span>      } while (blockBuffer.hasRemaining());<a name="line.759"></a>
-<span class="sourceLineNo">760</span><a name="line.760"></a>
-<span class="sourceLineNo">761</span>      // Seek to the last key we successfully read. This will happen if this is<a name="line.761"></a>
-<span class="sourceLineNo">762</span>      // the last key/value pair in the file, in which case the following call<a name="line.762"></a>
-<span class="sourceLineNo">763</span>      // to next() has to return false.<a name="line.763"></a>
-<span class="sourceLineNo">764</span>      blockBuffer.moveBack(lastKeyValueSize);<a name="line.764"></a>
-<span class="sourceLineNo">765</span>      readKeyValueLen();<a name="line.765"></a>
-<span class="sourceLineNo">766</span>      return 1; // didn't exactly find it.<a name="line.766"></a>
-<span class="sourceLineNo">767</span>    }<a name="line.767"></a>
-<span class="sourceLineNo">768</span><a name="line.768"></a>
-<span class="sourceLineNo">769</span>    @Override<a name="line.769"></a>
-<span class="sourceLineNo">770</span>    public Cell getNextIndexedKey() {<a name="line.770"></a>
-<span class="sourceLineNo">771</span>      return nextIndexedKey;<a name="line.771"></a>
-<span class="sourceLineNo">772</span>    }<a name="line.772"></a>
-<span class="sourceLineNo">773</span><a name="line.773"></a>
-<span class="sourceLineNo">774</span>    @Override<a name="line.774"></a>
-<span class="sourceLineNo">775</span>    public int seekTo(Cell key) throws IOException {<a name="line.775"></a>
-<span class="sourceLineNo">776</span>      return seekTo(key, true);<a name="line.776"></a>
-<span class="sourceLineNo">777</span>    }<a name="line.777"></a>
-<span class="sourceLineNo">778</span><a name="line.778"></a>
-<span class="sourceLineNo">779</span>    @Override<a name="line.779"></a>
-<span class="sourceLineNo">780</span>    public int reseekTo(Cell key) throws IOException {<a name="line.780"></a>
-<span class="sourceLineNo">781</span>      int compared;<a name="line.781"></a>
-<span class="sourceLineNo">782</span>      if (isSeeked()) {<a name="line.782"></a>
-<span class="sourceLineNo">783</span>        compared = compareKey(reader.getComparator(), key);<a name="line.783"></a>
-<span class="sourceLineNo">784</span>        if (compared &lt; 1) {<a name="line.784"></a>
-<span class="sourceLineNo">785</span>          // If the required key is less than or equal to current key, then<a name="line.785"></a>
-<span class="sourceLineNo">786</span>          // don't do anything.<a name="line.786"></a>
-<span class="sourceLineNo">787</span>          return compared;<a name="line.787"></a>
-<span class="sourceLineNo">788</span>        } else {<a name="line.788"></a>
-<span class="sourceLineNo">789</span>          // The comparison with no_next_index_key has to be checked<a name="line.789"></a>
-<span class="sourceLineNo">790</span>          if (this.nextIndexedKey != null &amp;&amp;<a name="line.790"></a>
-<span class="sourceLineNo">791</span>              (this.nextIndexedKey == HConstants.NO_NEXT_INDEXED_KEY || reader<a name="line.791"></a>
-<span class="sourceLineNo">792</span>              .getComparator().compareKeyIgnoresMvcc(key, nextIndexedKey) &lt; 0)) {<a name="line.792"></a>
-<span class="sourceLineNo">793</span>            // The reader shall continue to scan the current data block instead<a name="line.793"></a>
-<span class="sourceLineNo">794</span>            // of querying the<a name="line.794"></a>
-<span class="sourceLineNo">795</span>            // block index as long as it knows the target key is strictly<a name="line.795"></a>
-<span class="sourceLineNo">796</span>            // smaller than<a name="line.796"></a>
-<span class="sourceLineNo">797</span>            // the next indexed key or the current data block is the last data<a name="line.797"></a>
-<span class="sourceLineNo">798</span>            // block.<a name="line.798"></a>
-<span class="sourceLineNo">799</span>            return loadBlockAndSeekToKey(this.curBlock, nextIndexedKey, false, key,<a name="line.799"></a>
-<span class="sourceLineNo">800</span>                false);<a name="line.800"></a>
-<span class="sourceLineNo">801</span>          }<a name="line.801"></a>
-<span class="sourceLineNo">802</span><a name="line.802"></a>
-<span class="sourceLineNo">803</span>        }<a name="line.803"></a>
-<span class="sourceLineNo">804</span>      }<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      // Don't rewind on a reseek operation, because reseek implies that we are<a name="line.805"></a>
-<span class="sourceLineNo">806</span>      // always going forward in the file.<a name="line.806"></a>
-<span class="sourceLineNo">807</span>      return seekTo(key, false);<a name="line.807"></a>
-<span class="sourceLineNo">808</span>    }<a name="line.808"></a>
-<span class="sourceLineNo">809</span><a name="line.809"></a>
-<span class="sourceLineNo">810</span>    /**<a name="line.810"></a>
-<span class="sourceLineNo">811</span>     * An internal API function. Seek to the given key, optionally rewinding to<a name="line.811"></a>
-<span class="sourceLineNo">812</span>     * the first key of the block before doing the seek.<a name="line.812"></a>
-<span class="sourceLineNo">813</span>     *<a name="line.813"></a>
-<span class="sourceLineNo">814</span>     * @param key - a cell representing the key that we need to fetch<a name="line.814"></a>
-<span class="sourceLineNo">815</span>     * @param rewind whether to rewind to the first key of the block before<a name="line.815"></a>
-<span class="sourceLineNo">816</span>     *        doing the seek. If this is false, we are assuming we never go<a name="line.816"></a>
-<span class="sourceLineNo">817</span>     *        back, otherwise the result is undefined.<a name="line.817"></a>
-<span class="sourceLineNo">818</span>     * @return -1 if the key is earlier than the first key of the file,<a name="line.818"></a>
-<span class="sourceLineNo">819</span>     *         0 if we are at the given key, 1 if we are past the given key<a name="line.819"></a>
-<span class="sourceLineNo">820</span>     *         -2 if the key is earlier than the first key of the file while<a name="line.820"></a>
-<span class="sourceLineNo">821</span>     *         using a faked index key<a name="line.821"></a>
-<span class="sourceLineNo">822</span>     * @throws IOException<a name="line.822"></a>
-<span class="sourceLineNo">823</span>     */<a name="line.823"></a>
-<span class="sourceLineNo">824</span>    public int seekTo(Cell key, boolean rewind) throws IOException {<a name="line.824"></a>
-<span class="sourceLineNo">825</span>      HFileBlockIndex.BlockIndexReader indexReader = reader.getDataBlockIndexReader();<a name="line.825"></a>
-<span class="sourceLineNo">826</span>      BlockWithScanInfo blockWithScanInfo = indexReader.loadDataBlockWithScanInfo(key, curBlock,<a name="line.826"></a>
-<span class="sourceLineNo">827</span>          cacheBlocks, pread, isCompaction, getEffectiveDataBlockEncoding());<a name="line.827"></a>
-<span class="sourceLineNo">828</span>      if (blockWithScanInfo == null || blockWithScanInfo.getHFileBlock() == null) {<a name="line.828"></a>
-<span class="sourceLineNo">829</span>        // This happens if the key e.g. falls before the beginning of the<a name="line.829"></a>
-<span class="sourceLineNo">830</span>        // file.<a name="line.830"></a>
-<span class="sourceLineNo">831</span>        return -1;<a name="line.831"></a>
-<span class="sourceLineNo">832</span>      }<a name="line.832"></a>
-<span class="sourceLineNo">833</span>      return loadBlockAndSeekToKey(blockWithScanInfo.getHFileBlock(),<a name="line.833"></a>
-<span class="sourceLineNo">834</span>          blockWithScanInfo.getNextIndexedKey(), rewind, key, false);<a name="line.834"></a>
-<span class="sourceLineNo">835</span>    }<a name="line.835"></a>
-<span class="sourceLineNo">836</span><a name="line.836"></a>
-<span class="sourceLineNo">837</span>    @Override<a name="line.837"></a>
-<span class="sourceLineNo">838</span>    public boolean seekBefore(Cell key) throws IOException {<a name="line.838"></a>
-<span class="sourceLineNo">839</span>      HFileBlock seekToBlock = reader.getDataBlockIndexReader().seekToDataBlock(key, curBlock,<a name="line.839"></a>
-<span class="sourceLineNo">840</span>          cacheBlocks, pread, isCompaction, reader.getEffectiveEncodingInCache(isCompaction));<a name="line.840"></a>
-<span class="sourceLineNo">841</span>      if (seekToBlock == null) {<a name="line.841"></a>
-<span class="sourceLineNo">842</span>        return false;<a name="line.842"></a>
-<span class="sourceLineNo">843</span>      }<a name="line.843"></a>
-<span class="sourceLineNo">844</span>      Cell firstKey = getFirstKeyCellInBlock(seekToBlock);<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      if (reader.getComparator()<a name="line.845"></a>
-<span class="sourceLineNo">846</span>           .compareKeyIgnoresMvcc(firstKey, key) &gt;= 0) {<a name="line.846"></a>
-<span class="sourceLineNo">847</span>        long previousBlockOffset = seekToBlock.getPrevBlockOffset();<a name="line.847"></a>
-<span class="sourceLineNo">848</span>        // The key we are interested in<a name="line.848"></a>
-<span class="sourceLineNo">849</span>        if (previousBlockOffset == -1) {<a name="line.849"></a>
-<span class="sourceLineNo">850</span>          // we have a 'problem', the key we want is the first of the file.<a name="line.850"></a>
-<span class="sourceLineNo">851</span>          return false;<a name="line.851"></a>
-<span class="sourceLineNo">852</span>        }<a name="line.852"></a>
-<span class="sourceLineNo">853</span><a name="line.853"></a>
-<span class="sourceLineNo">854</span>        // The first key in the current block 'seekToBlock' is greater than the given <a name="line.854"></a>
-<span class="sourceLineNo">855</span>        // seekBefore key. We will go ahead by reading the next block that satisfies the<a name="line.855"></a>
-<span class="sourceLineNo">856</span>        // given key. Return the current block before reading the next one.<a name="line.856"></a>
-<span class="sourceLineNo">857</span>        reader.returnBlock(seekToBlock);<a name="line.857"></a>
-<span class="sourceLineNo">858</span>        // It is important that we compute and pass onDiskSize to the block<a name="line.858"></a>
-<span class="sourceLineNo">859</span>        // reader so that it does not have to read the header separately to<a name="line.859"></a>
-<span class="sourceLineNo">860</span>        // figure out the size.  Currently, we do not have a way to do this<a name="line.860"></a>
-<span class="sourceLineNo">861</span>        // correctly in the general case however.<a name="line.861"></a>
-<span class="sourceLineNo">862</span>        // TODO: See https://issues.apache.org/jira/browse/HBASE-14576<a name="line.862"></a>
-<span class="sourceLineNo">863</span>        int prevBlockSize = -1;<a name="line.863"></a>
-<span class="sourceLineNo">864</span>        seekToBlock = reader.readBlock(previousBlockOffset,<a name="line.864"></a>
-<span class="sourceLineNo">865</span>            prevBlockSize, cacheBlocks,<a name="line.865"></a>
-<span class="sourceLineNo">866</span>            pread, isCompaction, true, BlockType.DATA, getEffectiveDataBlockEncoding());<a name="line.866"></a>
-<span class="sourceLineNo">867</span>        // TODO shortcut: seek forward in this block to the last key of the<a name="line.867"></a>
-<span class="sourceLineNo">868</span>        // block.<a name="line.868"></a>
-<span class="sourceLineNo">869</span>      }<a name="line.869"></a>
-<span class="sourceLineNo">870</span>      loadBlockAndSeekToKey(seekToBlock, firstKey, true, key, true);<a name="line.870"></a>
-<span class="sourceLineNo">871</span>      return true;<a name="line.871"></a>
-<span class="sourceLineNo">872</span>    }<a name="line.872"></a>
-<span class="sourceLineNo">873</span><a name="line.873"></a>
-<span class="sourceLineNo">874</span>    /**<a name="line.874"></a>
-<span class="sourceLineNo">875</span>     * Scans blocks in the "scanned" section of the {@link HFile} until the next<a name="line.875"></a>
-<span class="sourceLineNo">876</span>     * data block is found.<a name="line.876"></a>
-<span class="sourceLineNo">877</span>     *<a name="line.877"></a>
-<span class="sourceLineNo">878</span>     * @return the next block, or null if there are no more data blocks<a name="line.878"></a>
-<span class="sourceLineNo">879</span>     * @throws IOException<a name="line.879"></a>
-<span class="sourceLineNo">880</span>     */<a name="line.880"></a>
-<span class="sourceLineNo">881</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="NP_NULL_ON_SOME_PATH",<a name="line.881"></a>
-<span class="sourceLineNo">882</span>        justification="Yeah, unnecessary null check; could do w/ clean up")<a name="line.882"></a>
-<span class="sourceLineNo">883</span>    protected HFileBlock readNextDataBlock() throws IOException {<a name="line.883"></a>
-<span class="sourceLineNo">884</span>      long lastDataBlockOffset = reader.getTrailer().getLastDataBlockOffset();<a name="line.884"></a>
-<span class="sourceLineNo">885</span>      if (curBlock == null)<a name="line.885"></a>
-<span class="sourceLineNo">886</span>        return null;<a name="line.886"></a>
-<span class="sourceLineNo">887</span><a name="line.887"></a>
-<span class="sourceLineNo">888</span>      HFileBlock block = this.curBlock;<a name="line.888"></a>
-<span class="sourceLineNo">889</span><a name="line.889"></a>
-<span class="sourceLineNo">890</span>      do {<a name="line.890"></a>
-<span class="sourceLineNo">891</span>        if (block.getOffset() &gt;= lastDataBlockOffset) {<a name="line.891"></a>
-<span class="sourceLineNo">892</span>          return null;<a name="line.892"></a>
-<span class="sourceLineNo">893</span>        }<a name="line.893"></a>
-<span class="sourceLineNo">894</span><a name="line.894"></a>
-<span class="sourceLineNo">895</span>        if (block.getOffset() &lt; 0) {<a name="line.895"></a>
-<span class="sourceLineNo">896</span>          throw new IOException("Invalid block file offset: " + block);<a name="line.896"></a>
-<span class="sourceLineNo">897</span>        }<a name="line.897"></a>
-<span class="sourceLineNo">898</span><a name="line.898"></a>
-<span class="sourceLineNo">899</span>        // We are reading the next block without block type validation, because<a name="line.899"></a>
-<span class="sourceLineNo">900</span>        // it might turn out to be a non-data block.<a name="line.900"></a>
-<span class="sourceLineNo">901</span>        block = reader.readBlock(block.getOffset()<a name="line.901"></a>
-<span class="sourceLineNo">902</span>            + block.getOnDiskSizeWithHeader(),<a name="line.902"></a>
-<span class="sourceLineNo">903</span>            block.getNextBlockOnDiskSizeWithHeader(), cacheBlocks, pread,<a name="line.903"></a>
-<span class="sourceLineNo">904</span>            isCompaction, true, null, getEffectiveDataBlockEncoding());<a name="line.904"></a>
-<span class="sourceLineNo">905</span>        if (block != null &amp;&amp; !block.getBlockType().isData()) { // Findbugs: NP_NULL_ON_SOME_PATH<a name="line.905"></a>
-<span class="sourceLineNo">906</span>          // Whatever block we read we will be returning it unless<a name="line.906"></a>
-<span class="sourceLineNo">907</span>          // it is a datablock. Just in case the blocks are non data blocks<a name="line.907"></a>
-<span class="sourceLineNo">908</span>          reader.returnBlock(block);<a name="line.908"></a>
-<span class="sourceLineNo">909</span>        }<a name="line.909"></a>
-<span class="sourceLineNo">910</span>      } while (!block.getBlockType().isData());<a name="line.910"></a>
-<span class="sourceLineNo">911</span><a name="line.911"></a>
-<span class="sourceLineNo">912</span>      return block;<a name="line.912"></a>
-<span class="sourceLineNo">913</span>    }<a name="line.913"></a>
-<span class="sourceLineNo">914</span><a name="line.914"></a>
-<span class="sourceLineNo">915</span>    public DataBlockEncoding getEffectiveDataBlockEncoding() {<a name="line.915"></a>
-<span class="sourceLineNo">916</span>      return this.reader.getEffectiveEncodingInCache(isCompaction);<a name="line.916"></a>
-<span class="sourceLineNo">917</span>    }<a name="line.917"></a>
-<span class="sourceLineNo">918</span><a name="line.918"></a>
-<span class="sourceLineNo">919</span>    @Override<a name="line.919"></a>
-<span class="sourceLineNo">920</span>    public Cell getCell() {<a name="line.920"></a>
-<span class="sourceLineNo">921</span>      if (!isSeeked())<a name="line.921"></a>
-<span class="sourceLineNo">922</span>        return null;<a name="line.922"></a>
-<span class="sourceLineNo">923</span><a name="line.923"></a>
-<span class="sourceLineNo">924</span>      Cell ret;<a name="line.924"></a>
-<span class="sourceLineNo">925</span>      int cellBufSize = getCellBufSize();<a name="line.925"></a>
-<span class="sourceLineNo">926</span>      long seqId = 0l;<a name="line.926"></a>
-<span class="sourceLineNo">927</span>      if (this.reader.shouldIncludeMemstoreTS()) {<a name="line.927"></a>
-<span class="sourceLineNo">928</span>        seqId = currMemstoreTS;<a name="line.928"></a>
-<span class="sourceLineNo">929</span>      }<a name="line.929"></a>
-<span class="sourceLineNo">930</span>      if (blockBuffer.hasArray()) {<a name="line.930"></a>
-<span class="sourceLineNo">931</span>        // TODO : reduce the varieties of KV here. Check if based on a boolean<a name="line.931"></a>
-<span class="sourceLineNo">932</span>        // we can handle the 'no tags' case.<a name="line.932"></a>
-<span class="sourceLineNo">933</span>        if (currTagsLen &gt; 0) {<a name="line.933"></a>
-<span class="sourceLineNo">934</span>          if (this.curBlock.usesSharedMemory()) {<a name="line.934"></a>
-<span class="sourceLineNo">935</span>            ret = new ShareableMemoryKeyValue(blockBuffer.array(), blockBuffer.arrayOffset()<a name="line.935"></a>
-<span class="sourceLineNo">936</span>              + blockBuffer.position(), getCellBufSize(), seqId);<a name="line.936"></a>
-<span class="sourceLineNo">937</span>          } else {<a name="line.937"></a>
-<span class="sourceLineNo">938</span>            ret = new SizeCachedKeyValue(blockBuffer.array(), blockBuffer.arrayOffset()<a name="line.938"></a>
-<span class="sourceLineNo">939</span>                    + blockBuffer.position(), cellBufSize, seqId);<a name="line.939"></a>
-<span class="sourceLineNo">940</span>          }<a name="line.940"></a>
-<span class="sourceLineNo">941</span>        } else {<a name="line.941"></a>
-<span class="sourceLineNo">942</span>          if (this.curBlock.usesSharedMemory()) {<a name="line.942"></a>
-<span class="sourceLineNo">943</span>            ret = new ShareableMemoryNoTagsKeyValue(blockBuffer.array(), blockBuffer.arrayOffset()<a name="line.943

<TRUNCATED>

[19/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/src-html/org/apache/hadoop/hbase/HConstants.Modify.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/HConstants.Modify.html b/devapidocs/src-html/org/apache/hadoop/hbase/HConstants.Modify.html
index 78acfb7..8c20ead 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/HConstants.Modify.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/HConstants.Modify.html
@@ -1020,258 +1020,253 @@
 <span class="sourceLineNo">1012</span><a name="line.1012"></a>
 <span class="sourceLineNo">1013</span>  public static final String LOAD_BALANCER_SLOP_KEY = "hbase.regions.slop";<a name="line.1013"></a>
 <span class="sourceLineNo">1014</span><a name="line.1014"></a>
-<span class="sourceLineNo">1015</span>  /**<a name="line.1015"></a>
-<span class="sourceLineNo">1016</span>   * The byte array represents for NO_NEXT_INDEXED_KEY;<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span>   * The actual value is irrelevant because this is always compared by reference.<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span>   */<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span>  public static final Cell NO_NEXT_INDEXED_KEY = new KeyValue();<a name="line.1019"></a>
-<span class="sourceLineNo">1020</span>  /** delimiter used between portions of a region name */<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span>  public static final int DELIMITER = ',';<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span><a name="line.1022"></a>
-<span class="sourceLineNo">1023</span>  /**<a name="line.1023"></a>
-<span class="sourceLineNo">1024</span>   * QOS attributes: these attributes are used to demarcate RPC call processing<a name="line.1024"></a>
-<span class="sourceLineNo">1025</span>   * by different set of handlers. For example, HIGH_QOS tagged methods are<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span>   * handled by high priority handlers.<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span>   */<a name="line.1027"></a>
-<span class="sourceLineNo">1028</span>  // normal_QOS &lt; QOS_threshold &lt; replication_QOS &lt; replay_QOS &lt; admin_QOS &lt; high_QOS<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span>  public static final int NORMAL_QOS = 0;<a name="line.1029"></a>
-<span class="sourceLineNo">1030</span>  public static final int QOS_THRESHOLD = 10;<a name="line.1030"></a>
-<span class="sourceLineNo">1031</span>  public static final int HIGH_QOS = 200;<a name="line.1031"></a>
-<span class="sourceLineNo">1032</span>  public static final int REPLICATION_QOS = 5;<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span>  public static final int REPLAY_QOS = 6;<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span>  public static final int ADMIN_QOS = 100;<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span>  public static final int SYSTEMTABLE_QOS = HIGH_QOS;<a name="line.1035"></a>
-<span class="sourceLineNo">1036</span><a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>  /** Directory under /hbase where archived hfiles are stored */<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span>  public static final String HFILE_ARCHIVE_DIRECTORY = "archive";<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span><a name="line.1039"></a>
-<span class="sourceLineNo">1040</span>  /**<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span>   * Name of the directory to store all snapshots. See SnapshotDescriptionUtils for<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span>   * remaining snapshot constants; this is here to keep HConstants dependencies at a minimum and<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span>   * uni-directional.<a name="line.1043"></a>
-<span class="sourceLineNo">1044</span>   */<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span>  public static final String SNAPSHOT_DIR_NAME = ".hbase-snapshot";<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span><a name="line.1046"></a>
-<span class="sourceLineNo">1047</span>  /* Name of old snapshot directory. See HBASE-8352 for details on why it needs to be renamed */<a name="line.1047"></a>
-<span class="sourceLineNo">1048</span>  public static final String OLD_SNAPSHOT_DIR_NAME = ".snapshot";<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span><a name="line.1049"></a>
-<span class="sourceLineNo">1050</span>  /** Temporary directory used for table creation and deletion */<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span>  public static final String HBASE_TEMP_DIRECTORY = ".tmp";<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span>  /**<a name="line.1052"></a>
-<span class="sourceLineNo">1053</span>   * The period (in milliseconds) between computing region server point in time metrics<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span>   */<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span>  public static final String REGIONSERVER_METRICS_PERIOD = "hbase.regionserver.metrics.period";<a name="line.1055"></a>
-<span class="sourceLineNo">1056</span>  public static final long DEFAULT_REGIONSERVER_METRICS_PERIOD = 5000;<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span>  /** Directories that are not HBase table directories */<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span>  public static final List&lt;String&gt; HBASE_NON_TABLE_DIRS =<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span>    Collections.unmodifiableList(Arrays.asList(new String[] {<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span>      HBCK_SIDELINEDIR_NAME, HBASE_TEMP_DIRECTORY, MIGRATION_NAME<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span>    }));<a name="line.1061"></a>
-<span class="sourceLineNo">1062</span><a name="line.1062"></a>
-<span class="sourceLineNo">1063</span>  /** Directories that are not HBase user table directories */<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span>  public static final List&lt;String&gt; HBASE_NON_USER_TABLE_DIRS =<a name="line.1064"></a>
-<span class="sourceLineNo">1065</span>    Collections.unmodifiableList(Arrays.asList((String[])ArrayUtils.addAll(<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span>      new String[] { TableName.META_TABLE_NAME.getNameAsString() },<a name="line.1066"></a>
-<span class="sourceLineNo">1067</span>      HBASE_NON_TABLE_DIRS.toArray())));<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span><a name="line.1068"></a>
-<span class="sourceLineNo">1069</span>  /** Health script related settings. */<a name="line.1069"></a>
-<span class="sourceLineNo">1070</span>  public static final String HEALTH_SCRIPT_LOC = "hbase.node.health.script.location";<a name="line.1070"></a>
-<span class="sourceLineNo">1071</span>  public static final String HEALTH_SCRIPT_TIMEOUT = "hbase.node.health.script.timeout";<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span>  public static final String HEALTH_CHORE_WAKE_FREQ =<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span>      "hbase.node.health.script.frequency";<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span>  public static final long DEFAULT_HEALTH_SCRIPT_TIMEOUT = 60000;<a name="line.1074"></a>
-<span class="sourceLineNo">1075</span>  /**<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span>   * The maximum number of health check failures a server can encounter consecutively.<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span>   */<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span>  public static final String HEALTH_FAILURE_THRESHOLD =<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span>      "hbase.node.health.failure.threshold";<a name="line.1079"></a>
-<span class="sourceLineNo">1080</span>  public static final int DEFAULT_HEALTH_FAILURE_THRESHOLD = 3;<a name="line.1080"></a>
-<span class="sourceLineNo">1081</span><a name="line.1081"></a>
-<span class="sourceLineNo">1082</span><a name="line.1082"></a>
-<span class="sourceLineNo">1083</span>  /**<a name="line.1083"></a>
-<span class="sourceLineNo">1084</span>   * Setting to activate, or not, the publication of the status by the master. Default<a name="line.1084"></a>
-<span class="sourceLineNo">1085</span>   *  notification is by a multicast message.<a name="line.1085"></a>
-<span class="sourceLineNo">1086</span>   */<a name="line.1086"></a>
-<span class="sourceLineNo">1087</span>  public static final String STATUS_PUBLISHED = "hbase.status.published";<a name="line.1087"></a>
-<span class="sourceLineNo">1088</span>  public static final boolean STATUS_PUBLISHED_DEFAULT = false;<a name="line.1088"></a>
-<span class="sourceLineNo">1089</span><a name="line.1089"></a>
-<span class="sourceLineNo">1090</span>  /**<a name="line.1090"></a>
-<span class="sourceLineNo">1091</span>   * IP to use for the multicast status messages between the master and the clients.<a name="line.1091"></a>
-<span class="sourceLineNo">1092</span>   * The default address is chosen as one among others within the ones suitable for multicast<a name="line.1092"></a>
-<span class="sourceLineNo">1093</span>   * messages.<a name="line.1093"></a>
-<span class="sourceLineNo">1094</span>   */<a name="line.1094"></a>
-<span class="sourceLineNo">1095</span>  public static final String STATUS_MULTICAST_ADDRESS = "hbase.status.multicast.address.ip";<a name="line.1095"></a>
-<span class="sourceLineNo">1096</span>  public static final String DEFAULT_STATUS_MULTICAST_ADDRESS = "226.1.1.3";<a name="line.1096"></a>
-<span class="sourceLineNo">1097</span><a name="line.1097"></a>
-<span class="sourceLineNo">1098</span>  /**<a name="line.1098"></a>
-<span class="sourceLineNo">1099</span>   * The address to use for binding the local socket for receiving multicast. Defaults to<a name="line.1099"></a>
-<span class="sourceLineNo">1100</span>   * 0.0.0.0.<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span>   * @see &lt;a href="https://issues.apache.org/jira/browse/HBASE-9961"&gt;HBASE-9961&lt;/a&gt;<a name="line.1101"></a>
-<span class="sourceLineNo">1102</span>   */<a name="line.1102"></a>
-<span class="sourceLineNo">1103</span>  public static final String STATUS_MULTICAST_BIND_ADDRESS =<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span>      "hbase.status.multicast.bind.address.ip";<a name="line.1104"></a>
-<span class="sourceLineNo">1105</span>  public static final String DEFAULT_STATUS_MULTICAST_BIND_ADDRESS = "0.0.0.0";<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span><a name="line.1106"></a>
-<span class="sourceLineNo">1107</span>  /**<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span>   * The port to use for the multicast messages.<a name="line.1108"></a>
-<span class="sourceLineNo">1109</span>   */<a name="line.1109"></a>
-<span class="sourceLineNo">1110</span>  public static final String STATUS_MULTICAST_PORT = "hbase.status.multicast.address.port";<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span>  public static final int DEFAULT_STATUS_MULTICAST_PORT = 16100;<a name="line.1111"></a>
+<span class="sourceLineNo">1015</span>  /** delimiter used between portions of a region name */<a name="line.1015"></a>
+<span class="sourceLineNo">1016</span>  public static final int DELIMITER = ',';<a name="line.1016"></a>
+<span class="sourceLineNo">1017</span><a name="line.1017"></a>
+<span class="sourceLineNo">1018</span>  /**<a name="line.1018"></a>
+<span class="sourceLineNo">1019</span>   * QOS attributes: these attributes are used to demarcate RPC call processing<a name="line.1019"></a>
+<span class="sourceLineNo">1020</span>   * by different set of handlers. For example, HIGH_QOS tagged methods are<a name="line.1020"></a>
+<span class="sourceLineNo">1021</span>   * handled by high priority handlers.<a name="line.1021"></a>
+<span class="sourceLineNo">1022</span>   */<a name="line.1022"></a>
+<span class="sourceLineNo">1023</span>  // normal_QOS &lt; QOS_threshold &lt; replication_QOS &lt; replay_QOS &lt; admin_QOS &lt; high_QOS<a name="line.1023"></a>
+<span class="sourceLineNo">1024</span>  public static final int NORMAL_QOS = 0;<a name="line.1024"></a>
+<span class="sourceLineNo">1025</span>  public static final int QOS_THRESHOLD = 10;<a name="line.1025"></a>
+<span class="sourceLineNo">1026</span>  public static final int HIGH_QOS = 200;<a name="line.1026"></a>
+<span class="sourceLineNo">1027</span>  public static final int REPLICATION_QOS = 5;<a name="line.1027"></a>
+<span class="sourceLineNo">1028</span>  public static final int REPLAY_QOS = 6;<a name="line.1028"></a>
+<span class="sourceLineNo">1029</span>  public static final int ADMIN_QOS = 100;<a name="line.1029"></a>
+<span class="sourceLineNo">1030</span>  public static final int SYSTEMTABLE_QOS = HIGH_QOS;<a name="line.1030"></a>
+<span class="sourceLineNo">1031</span><a name="line.1031"></a>
+<span class="sourceLineNo">1032</span>  /** Directory under /hbase where archived hfiles are stored */<a name="line.1032"></a>
+<span class="sourceLineNo">1033</span>  public static final String HFILE_ARCHIVE_DIRECTORY = "archive";<a name="line.1033"></a>
+<span class="sourceLineNo">1034</span><a name="line.1034"></a>
+<span class="sourceLineNo">1035</span>  /**<a name="line.1035"></a>
+<span class="sourceLineNo">1036</span>   * Name of the directory to store all snapshots. See SnapshotDescriptionUtils for<a name="line.1036"></a>
+<span class="sourceLineNo">1037</span>   * remaining snapshot constants; this is here to keep HConstants dependencies at a minimum and<a name="line.1037"></a>
+<span class="sourceLineNo">1038</span>   * uni-directional.<a name="line.1038"></a>
+<span class="sourceLineNo">1039</span>   */<a name="line.1039"></a>
+<span class="sourceLineNo">1040</span>  public static final String SNAPSHOT_DIR_NAME = ".hbase-snapshot";<a name="line.1040"></a>
+<span class="sourceLineNo">1041</span><a name="line.1041"></a>
+<span class="sourceLineNo">1042</span>  /* Name of old snapshot directory. See HBASE-8352 for details on why it needs to be renamed */<a name="line.1042"></a>
+<span class="sourceLineNo">1043</span>  public static final String OLD_SNAPSHOT_DIR_NAME = ".snapshot";<a name="line.1043"></a>
+<span class="sourceLineNo">1044</span><a name="line.1044"></a>
+<span class="sourceLineNo">1045</span>  /** Temporary directory used for table creation and deletion */<a name="line.1045"></a>
+<span class="sourceLineNo">1046</span>  public static final String HBASE_TEMP_DIRECTORY = ".tmp";<a name="line.1046"></a>
+<span class="sourceLineNo">1047</span>  /**<a name="line.1047"></a>
+<span class="sourceLineNo">1048</span>   * The period (in milliseconds) between computing region server point in time metrics<a name="line.1048"></a>
+<span class="sourceLineNo">1049</span>   */<a name="line.1049"></a>
+<span class="sourceLineNo">1050</span>  public static final String REGIONSERVER_METRICS_PERIOD = "hbase.regionserver.metrics.period";<a name="line.1050"></a>
+<span class="sourceLineNo">1051</span>  public static final long DEFAULT_REGIONSERVER_METRICS_PERIOD = 5000;<a name="line.1051"></a>
+<span class="sourceLineNo">1052</span>  /** Directories that are not HBase table directories */<a name="line.1052"></a>
+<span class="sourceLineNo">1053</span>  public static final List&lt;String&gt; HBASE_NON_TABLE_DIRS =<a name="line.1053"></a>
+<span class="sourceLineNo">1054</span>    Collections.unmodifiableList(Arrays.asList(new String[] {<a name="line.1054"></a>
+<span class="sourceLineNo">1055</span>      HBCK_SIDELINEDIR_NAME, HBASE_TEMP_DIRECTORY, MIGRATION_NAME<a name="line.1055"></a>
+<span class="sourceLineNo">1056</span>    }));<a name="line.1056"></a>
+<span class="sourceLineNo">1057</span><a name="line.1057"></a>
+<span class="sourceLineNo">1058</span>  /** Directories that are not HBase user table directories */<a name="line.1058"></a>
+<span class="sourceLineNo">1059</span>  public static final List&lt;String&gt; HBASE_NON_USER_TABLE_DIRS =<a name="line.1059"></a>
+<span class="sourceLineNo">1060</span>    Collections.unmodifiableList(Arrays.asList((String[])ArrayUtils.addAll(<a name="line.1060"></a>
+<span class="sourceLineNo">1061</span>      new String[] { TableName.META_TABLE_NAME.getNameAsString() },<a name="line.1061"></a>
+<span class="sourceLineNo">1062</span>      HBASE_NON_TABLE_DIRS.toArray())));<a name="line.1062"></a>
+<span class="sourceLineNo">1063</span><a name="line.1063"></a>
+<span class="sourceLineNo">1064</span>  /** Health script related settings. */<a name="line.1064"></a>
+<span class="sourceLineNo">1065</span>  public static final String HEALTH_SCRIPT_LOC = "hbase.node.health.script.location";<a name="line.1065"></a>
+<span class="sourceLineNo">1066</span>  public static final String HEALTH_SCRIPT_TIMEOUT = "hbase.node.health.script.timeout";<a name="line.1066"></a>
+<span class="sourceLineNo">1067</span>  public static final String HEALTH_CHORE_WAKE_FREQ =<a name="line.1067"></a>
+<span class="sourceLineNo">1068</span>      "hbase.node.health.script.frequency";<a name="line.1068"></a>
+<span class="sourceLineNo">1069</span>  public static final long DEFAULT_HEALTH_SCRIPT_TIMEOUT = 60000;<a name="line.1069"></a>
+<span class="sourceLineNo">1070</span>  /**<a name="line.1070"></a>
+<span class="sourceLineNo">1071</span>   * The maximum number of health check failures a server can encounter consecutively.<a name="line.1071"></a>
+<span class="sourceLineNo">1072</span>   */<a name="line.1072"></a>
+<span class="sourceLineNo">1073</span>  public static final String HEALTH_FAILURE_THRESHOLD =<a name="line.1073"></a>
+<span class="sourceLineNo">1074</span>      "hbase.node.health.failure.threshold";<a name="line.1074"></a>
+<span class="sourceLineNo">1075</span>  public static final int DEFAULT_HEALTH_FAILURE_THRESHOLD = 3;<a name="line.1075"></a>
+<span class="sourceLineNo">1076</span><a name="line.1076"></a>
+<span class="sourceLineNo">1077</span><a name="line.1077"></a>
+<span class="sourceLineNo">1078</span>  /**<a name="line.1078"></a>
+<span class="sourceLineNo">1079</span>   * Setting to activate, or not, the publication of the status by the master. Default<a name="line.1079"></a>
+<span class="sourceLineNo">1080</span>   *  notification is by a multicast message.<a name="line.1080"></a>
+<span class="sourceLineNo">1081</span>   */<a name="line.1081"></a>
+<span class="sourceLineNo">1082</span>  public static final String STATUS_PUBLISHED = "hbase.status.published";<a name="line.1082"></a>
+<span class="sourceLineNo">1083</span>  public static final boolean STATUS_PUBLISHED_DEFAULT = false;<a name="line.1083"></a>
+<span class="sourceLineNo">1084</span><a name="line.1084"></a>
+<span class="sourceLineNo">1085</span>  /**<a name="line.1085"></a>
+<span class="sourceLineNo">1086</span>   * IP to use for the multicast status messages between the master and the clients.<a name="line.1086"></a>
+<span class="sourceLineNo">1087</span>   * The default address is chosen as one among others within the ones suitable for multicast<a name="line.1087"></a>
+<span class="sourceLineNo">1088</span>   * messages.<a name="line.1088"></a>
+<span class="sourceLineNo">1089</span>   */<a name="line.1089"></a>
+<span class="sourceLineNo">1090</span>  public static final String STATUS_MULTICAST_ADDRESS = "hbase.status.multicast.address.ip";<a name="line.1090"></a>
+<span class="sourceLineNo">1091</span>  public static final String DEFAULT_STATUS_MULTICAST_ADDRESS = "226.1.1.3";<a name="line.1091"></a>
+<span class="sourceLineNo">1092</span><a name="line.1092"></a>
+<span class="sourceLineNo">1093</span>  /**<a name="line.1093"></a>
+<span class="sourceLineNo">1094</span>   * The address to use for binding the local socket for receiving multicast. Defaults to<a name="line.1094"></a>
+<span class="sourceLineNo">1095</span>   * 0.0.0.0.<a name="line.1095"></a>
+<span class="sourceLineNo">1096</span>   * @see &lt;a href="https://issues.apache.org/jira/browse/HBASE-9961"&gt;HBASE-9961&lt;/a&gt;<a name="line.1096"></a>
+<span class="sourceLineNo">1097</span>   */<a name="line.1097"></a>
+<span class="sourceLineNo">1098</span>  public static final String STATUS_MULTICAST_BIND_ADDRESS =<a name="line.1098"></a>
+<span class="sourceLineNo">1099</span>      "hbase.status.multicast.bind.address.ip";<a name="line.1099"></a>
+<span class="sourceLineNo">1100</span>  public static final String DEFAULT_STATUS_MULTICAST_BIND_ADDRESS = "0.0.0.0";<a name="line.1100"></a>
+<span class="sourceLineNo">1101</span><a name="line.1101"></a>
+<span class="sourceLineNo">1102</span>  /**<a name="line.1102"></a>
+<span class="sourceLineNo">1103</span>   * The port to use for the multicast messages.<a name="line.1103"></a>
+<span class="sourceLineNo">1104</span>   */<a name="line.1104"></a>
+<span class="sourceLineNo">1105</span>  public static final String STATUS_MULTICAST_PORT = "hbase.status.multicast.address.port";<a name="line.1105"></a>
+<span class="sourceLineNo">1106</span>  public static final int DEFAULT_STATUS_MULTICAST_PORT = 16100;<a name="line.1106"></a>
+<span class="sourceLineNo">1107</span><a name="line.1107"></a>
+<span class="sourceLineNo">1108</span>  public static final long NO_NONCE = 0;<a name="line.1108"></a>
+<span class="sourceLineNo">1109</span><a name="line.1109"></a>
+<span class="sourceLineNo">1110</span>  /** Default cipher for encryption */<a name="line.1110"></a>
+<span class="sourceLineNo">1111</span>  public static final String CIPHER_AES = "AES";<a name="line.1111"></a>
 <span class="sourceLineNo">1112</span><a name="line.1112"></a>
-<span class="sourceLineNo">1113</span>  public static final long NO_NONCE = 0;<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span><a name="line.1114"></a>
-<span class="sourceLineNo">1115</span>  /** Default cipher for encryption */<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span>  public static final String CIPHER_AES = "AES";<a name="line.1116"></a>
-<span class="sourceLineNo">1117</span><a name="line.1117"></a>
-<span class="sourceLineNo">1118</span>  /** Configuration key for the crypto algorithm provider, a class name */<a name="line.1118"></a>
-<span class="sourceLineNo">1119</span>  public static final String CRYPTO_CIPHERPROVIDER_CONF_KEY = "hbase.crypto.cipherprovider";<a name="line.1119"></a>
-<span class="sourceLineNo">1120</span><a name="line.1120"></a>
-<span class="sourceLineNo">1121</span>  /** Configuration key for the crypto key provider, a class name */<a name="line.1121"></a>
-<span class="sourceLineNo">1122</span>  public static final String CRYPTO_KEYPROVIDER_CONF_KEY = "hbase.crypto.keyprovider";<a name="line.1122"></a>
-<span class="sourceLineNo">1123</span><a name="line.1123"></a>
-<span class="sourceLineNo">1124</span>  /** Configuration key for the crypto key provider parameters */<a name="line.1124"></a>
-<span class="sourceLineNo">1125</span>  public static final String CRYPTO_KEYPROVIDER_PARAMETERS_KEY =<a name="line.1125"></a>
-<span class="sourceLineNo">1126</span>      "hbase.crypto.keyprovider.parameters";<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span><a name="line.1127"></a>
-<span class="sourceLineNo">1128</span>  /** Configuration key for the name of the master key for the cluster, a string */<a name="line.1128"></a>
-<span class="sourceLineNo">1129</span>  public static final String CRYPTO_MASTERKEY_NAME_CONF_KEY = "hbase.crypto.master.key.name";<a name="line.1129"></a>
-<span class="sourceLineNo">1130</span><a name="line.1130"></a>
-<span class="sourceLineNo">1131</span>  /** Configuration key for the name of the alternate master key for the cluster, a string */<a name="line.1131"></a>
-<span class="sourceLineNo">1132</span>  public static final String CRYPTO_MASTERKEY_ALTERNATE_NAME_CONF_KEY =<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span>    "hbase.crypto.master.alternate.key.name";<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span><a name="line.1134"></a>
-<span class="sourceLineNo">1135</span>  /** Configuration key for the algorithm to use when encrypting the WAL, a string */<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span>  public static final String CRYPTO_WAL_ALGORITHM_CONF_KEY = "hbase.crypto.wal.algorithm";<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span><a name="line.1137"></a>
-<span class="sourceLineNo">1138</span>  /** Configuration key for the name of the master WAL encryption key for the cluster, a string */<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span>  public static final String CRYPTO_WAL_KEY_NAME_CONF_KEY = "hbase.crypto.wal.key.name";<a name="line.1139"></a>
-<span class="sourceLineNo">1140</span><a name="line.1140"></a>
-<span class="sourceLineNo">1141</span>  /** Configuration key for the algorithm used for creating jks key, a string */<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span>  public static final String CRYPTO_KEY_ALGORITHM_CONF_KEY = "hbase.crypto.key.algorithm";<a name="line.1142"></a>
-<span class="sourceLineNo">1143</span><a name="line.1143"></a>
-<span class="sourceLineNo">1144</span>  /** Configuration key for the name of the alternate cipher algorithm for the cluster, a string */<a name="line.1144"></a>
-<span class="sourceLineNo">1145</span>  public static final String CRYPTO_ALTERNATE_KEY_ALGORITHM_CONF_KEY =<a name="line.1145"></a>
-<span class="sourceLineNo">1146</span>      "hbase.crypto.alternate.key.algorithm";<a name="line.1146"></a>
-<span class="sourceLineNo">1147</span><a name="line.1147"></a>
-<span class="sourceLineNo">1148</span>  /** Configuration key for enabling WAL encryption, a boolean */<a name="line.1148"></a>
-<span class="sourceLineNo">1149</span>  public static final String ENABLE_WAL_ENCRYPTION = "hbase.regionserver.wal.encryption";<a name="line.1149"></a>
-<span class="sourceLineNo">1150</span><a name="line.1150"></a>
-<span class="sourceLineNo">1151</span>  /** Configuration key for setting RPC codec class name */<a name="line.1151"></a>
-<span class="sourceLineNo">1152</span>  public static final String RPC_CODEC_CONF_KEY = "hbase.client.rpc.codec";<a name="line.1152"></a>
-<span class="sourceLineNo">1153</span><a name="line.1153"></a>
-<span class="sourceLineNo">1154</span>  /** Configuration key for setting replication codec class name */<a name="line.1154"></a>
-<span class="sourceLineNo">1155</span>  public static final String REPLICATION_CODEC_CONF_KEY = "hbase.replication.rpc.codec";<a name="line.1155"></a>
-<span class="sourceLineNo">1156</span><a name="line.1156"></a>
-<span class="sourceLineNo">1157</span>  /** Maximum number of threads used by the replication source for shipping edits to the sinks */<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span>  public static final String REPLICATION_SOURCE_MAXTHREADS_KEY =<a name="line.1158"></a>
-<span class="sourceLineNo">1159</span>      "hbase.replication.source.maxthreads";<a name="line.1159"></a>
-<span class="sourceLineNo">1160</span><a name="line.1160"></a>
-<span class="sourceLineNo">1161</span>  public static final int REPLICATION_SOURCE_MAXTHREADS_DEFAULT = 10;<a name="line.1161"></a>
-<span class="sourceLineNo">1162</span><a name="line.1162"></a>
-<span class="sourceLineNo">1163</span>  /** Config for pluggable consensus provider */<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span>  public static final String HBASE_COORDINATED_STATE_MANAGER_CLASS =<a name="line.1164"></a>
-<span class="sourceLineNo">1165</span>    "hbase.coordinated.state.manager.class";<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span><a name="line.1166"></a>
-<span class="sourceLineNo">1167</span>  /** Configuration key for SplitLog manager timeout */<a name="line.1167"></a>
-<span class="sourceLineNo">1168</span>  public static final String HBASE_SPLITLOG_MANAGER_TIMEOUT = "hbase.splitlog.manager.timeout";<a name="line.1168"></a>
-<span class="sourceLineNo">1169</span><a name="line.1169"></a>
-<span class="sourceLineNo">1170</span>  /**<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span>   * Configuration keys for Bucket cache<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span>   */<a name="line.1172"></a>
-<span class="sourceLineNo">1173</span>  // TODO moving these bucket cache implementation specific configs to this level is violation of<a name="line.1173"></a>
-<span class="sourceLineNo">1174</span>  // encapsulation. But as these has to be referred from hbase-common and bucket cache<a name="line.1174"></a>
-<span class="sourceLineNo">1175</span>  // sits in hbase-server, there were no other go! Can we move the cache implementation to<a name="line.1175"></a>
-<span class="sourceLineNo">1176</span>  // hbase-common?<a name="line.1176"></a>
-<span class="sourceLineNo">1177</span><a name="line.1177"></a>
-<span class="sourceLineNo">1178</span>  /**<a name="line.1178"></a>
-<span class="sourceLineNo">1179</span>   * Current ioengine options in include: heap, offheap and file:PATH (where PATH is the path<a name="line.1179"></a>
-<span class="sourceLineNo">1180</span>   * to the file that will host the file-based cache.  See BucketCache#getIOEngineFromName() for<a name="line.1180"></a>
-<span class="sourceLineNo">1181</span>   * list of supported ioengine options.<a name="line.1181"></a>
-<span class="sourceLineNo">1182</span>   * &lt;p&gt;Set this option and a non-zero {@link #BUCKET_CACHE_SIZE_KEY} to enable bucket cache.<a name="line.1182"></a>
-<span class="sourceLineNo">1183</span>   */<a name="line.1183"></a>
-<span class="sourceLineNo">1184</span>  public static final String BUCKET_CACHE_IOENGINE_KEY = "hbase.bucketcache.ioengine";<a name="line.1184"></a>
-<span class="sourceLineNo">1185</span><a name="line.1185"></a>
-<span class="sourceLineNo">1186</span>  /**<a name="line.1186"></a>
-<span class="sourceLineNo">1187</span>   * When using bucket cache, this is a float that EITHER represents a percentage of total heap<a name="line.1187"></a>
-<span class="sourceLineNo">1188</span>   * memory size to give to the cache (if &amp;lt; 1.0) OR, it is the capacity in<a name="line.1188"></a>
-<span class="sourceLineNo">1189</span>   * megabytes of the cache.<a name="line.1189"></a>
+<span class="sourceLineNo">1113</span>  /** Configuration key for the crypto algorithm provider, a class name */<a name="line.1113"></a>
+<span class="sourceLineNo">1114</span>  public static final String CRYPTO_CIPHERPROVIDER_CONF_KEY = "hbase.crypto.cipherprovider";<a name="line.1114"></a>
+<span class="sourceLineNo">1115</span><a name="line.1115"></a>
+<span class="sourceLineNo">1116</span>  /** Configuration key for the crypto key provider, a class name */<a name="line.1116"></a>
+<span class="sourceLineNo">1117</span>  public static final String CRYPTO_KEYPROVIDER_CONF_KEY = "hbase.crypto.keyprovider";<a name="line.1117"></a>
+<span class="sourceLineNo">1118</span><a name="line.1118"></a>
+<span class="sourceLineNo">1119</span>  /** Configuration key for the crypto key provider parameters */<a name="line.1119"></a>
+<span class="sourceLineNo">1120</span>  public static final String CRYPTO_KEYPROVIDER_PARAMETERS_KEY =<a name="line.1120"></a>
+<span class="sourceLineNo">1121</span>      "hbase.crypto.keyprovider.parameters";<a name="line.1121"></a>
+<span class="sourceLineNo">1122</span><a name="line.1122"></a>
+<span class="sourceLineNo">1123</span>  /** Configuration key for the name of the master key for the cluster, a string */<a name="line.1123"></a>
+<span class="sourceLineNo">1124</span>  public static final String CRYPTO_MASTERKEY_NAME_CONF_KEY = "hbase.crypto.master.key.name";<a name="line.1124"></a>
+<span class="sourceLineNo">1125</span><a name="line.1125"></a>
+<span class="sourceLineNo">1126</span>  /** Configuration key for the name of the alternate master key for the cluster, a string */<a name="line.1126"></a>
+<span class="sourceLineNo">1127</span>  public static final String CRYPTO_MASTERKEY_ALTERNATE_NAME_CONF_KEY =<a name="line.1127"></a>
+<span class="sourceLineNo">1128</span>    "hbase.crypto.master.alternate.key.name";<a name="line.1128"></a>
+<span class="sourceLineNo">1129</span><a name="line.1129"></a>
+<span class="sourceLineNo">1130</span>  /** Configuration key for the algorithm to use when encrypting the WAL, a string */<a name="line.1130"></a>
+<span class="sourceLineNo">1131</span>  public static final String CRYPTO_WAL_ALGORITHM_CONF_KEY = "hbase.crypto.wal.algorithm";<a name="line.1131"></a>
+<span class="sourceLineNo">1132</span><a name="line.1132"></a>
+<span class="sourceLineNo">1133</span>  /** Configuration key for the name of the master WAL encryption key for the cluster, a string */<a name="line.1133"></a>
+<span class="sourceLineNo">1134</span>  public static final String CRYPTO_WAL_KEY_NAME_CONF_KEY = "hbase.crypto.wal.key.name";<a name="line.1134"></a>
+<span class="sourceLineNo">1135</span><a name="line.1135"></a>
+<span class="sourceLineNo">1136</span>  /** Configuration key for the algorithm used for creating jks key, a string */<a name="line.1136"></a>
+<span class="sourceLineNo">1137</span>  public static final String CRYPTO_KEY_ALGORITHM_CONF_KEY = "hbase.crypto.key.algorithm";<a name="line.1137"></a>
+<span class="sourceLineNo">1138</span><a name="line.1138"></a>
+<span class="sourceLineNo">1139</span>  /** Configuration key for the name of the alternate cipher algorithm for the cluster, a string */<a name="line.1139"></a>
+<span class="sourceLineNo">1140</span>  public static final String CRYPTO_ALTERNATE_KEY_ALGORITHM_CONF_KEY =<a name="line.1140"></a>
+<span class="sourceLineNo">1141</span>      "hbase.crypto.alternate.key.algorithm";<a name="line.1141"></a>
+<span class="sourceLineNo">1142</span><a name="line.1142"></a>
+<span class="sourceLineNo">1143</span>  /** Configuration key for enabling WAL encryption, a boolean */<a name="line.1143"></a>
+<span class="sourceLineNo">1144</span>  public static final String ENABLE_WAL_ENCRYPTION = "hbase.regionserver.wal.encryption";<a name="line.1144"></a>
+<span class="sourceLineNo">1145</span><a name="line.1145"></a>
+<span class="sourceLineNo">1146</span>  /** Configuration key for setting RPC codec class name */<a name="line.1146"></a>
+<span class="sourceLineNo">1147</span>  public static final String RPC_CODEC_CONF_KEY = "hbase.client.rpc.codec";<a name="line.1147"></a>
+<span class="sourceLineNo">1148</span><a name="line.1148"></a>
+<span class="sourceLineNo">1149</span>  /** Configuration key for setting replication codec class name */<a name="line.1149"></a>
+<span class="sourceLineNo">1150</span>  public static final String REPLICATION_CODEC_CONF_KEY = "hbase.replication.rpc.codec";<a name="line.1150"></a>
+<span class="sourceLineNo">1151</span><a name="line.1151"></a>
+<span class="sourceLineNo">1152</span>  /** Maximum number of threads used by the replication source for shipping edits to the sinks */<a name="line.1152"></a>
+<span class="sourceLineNo">1153</span>  public static final String REPLICATION_SOURCE_MAXTHREADS_KEY =<a name="line.1153"></a>
+<span class="sourceLineNo">1154</span>      "hbase.replication.source.maxthreads";<a name="line.1154"></a>
+<span class="sourceLineNo">1155</span><a name="line.1155"></a>
+<span class="sourceLineNo">1156</span>  public static final int REPLICATION_SOURCE_MAXTHREADS_DEFAULT = 10;<a name="line.1156"></a>
+<span class="sourceLineNo">1157</span><a name="line.1157"></a>
+<span class="sourceLineNo">1158</span>  /** Config for pluggable consensus provider */<a name="line.1158"></a>
+<span class="sourceLineNo">1159</span>  public static final String HBASE_COORDINATED_STATE_MANAGER_CLASS =<a name="line.1159"></a>
+<span class="sourceLineNo">1160</span>    "hbase.coordinated.state.manager.class";<a name="line.1160"></a>
+<span class="sourceLineNo">1161</span><a name="line.1161"></a>
+<span class="sourceLineNo">1162</span>  /** Configuration key for SplitLog manager timeout */<a name="line.1162"></a>
+<span class="sourceLineNo">1163</span>  public static final String HBASE_SPLITLOG_MANAGER_TIMEOUT = "hbase.splitlog.manager.timeout";<a name="line.1163"></a>
+<span class="sourceLineNo">1164</span><a name="line.1164"></a>
+<span class="sourceLineNo">1165</span>  /**<a name="line.1165"></a>
+<span class="sourceLineNo">1166</span>   * Configuration keys for Bucket cache<a name="line.1166"></a>
+<span class="sourceLineNo">1167</span>   */<a name="line.1167"></a>
+<span class="sourceLineNo">1168</span>  // TODO moving these bucket cache implementation specific configs to this level is violation of<a name="line.1168"></a>
+<span class="sourceLineNo">1169</span>  // encapsulation. But as these has to be referred from hbase-common and bucket cache<a name="line.1169"></a>
+<span class="sourceLineNo">1170</span>  // sits in hbase-server, there were no other go! Can we move the cache implementation to<a name="line.1170"></a>
+<span class="sourceLineNo">1171</span>  // hbase-common?<a name="line.1171"></a>
+<span class="sourceLineNo">1172</span><a name="line.1172"></a>
+<span class="sourceLineNo">1173</span>  /**<a name="line.1173"></a>
+<span class="sourceLineNo">1174</span>   * Current ioengine options in include: heap, offheap and file:PATH (where PATH is the path<a name="line.1174"></a>
+<span class="sourceLineNo">1175</span>   * to the file that will host the file-based cache.  See BucketCache#getIOEngineFromName() for<a name="line.1175"></a>
+<span class="sourceLineNo">1176</span>   * list of supported ioengine options.<a name="line.1176"></a>
+<span class="sourceLineNo">1177</span>   * &lt;p&gt;Set this option and a non-zero {@link #BUCKET_CACHE_SIZE_KEY} to enable bucket cache.<a name="line.1177"></a>
+<span class="sourceLineNo">1178</span>   */<a name="line.1178"></a>
+<span class="sourceLineNo">1179</span>  public static final String BUCKET_CACHE_IOENGINE_KEY = "hbase.bucketcache.ioengine";<a name="line.1179"></a>
+<span class="sourceLineNo">1180</span><a name="line.1180"></a>
+<span class="sourceLineNo">1181</span>  /**<a name="line.1181"></a>
+<span class="sourceLineNo">1182</span>   * When using bucket cache, this is a float that EITHER represents a percentage of total heap<a name="line.1182"></a>
+<span class="sourceLineNo">1183</span>   * memory size to give to the cache (if &amp;lt; 1.0) OR, it is the capacity in<a name="line.1183"></a>
+<span class="sourceLineNo">1184</span>   * megabytes of the cache.<a name="line.1184"></a>
+<span class="sourceLineNo">1185</span>   */<a name="line.1185"></a>
+<span class="sourceLineNo">1186</span>  public static final String BUCKET_CACHE_SIZE_KEY = "hbase.bucketcache.size";<a name="line.1186"></a>
+<span class="sourceLineNo">1187</span><a name="line.1187"></a>
+<span class="sourceLineNo">1188</span>  /**<a name="line.1188"></a>
+<span class="sourceLineNo">1189</span>   * HConstants for fast fail on the client side follow<a name="line.1189"></a>
 <span class="sourceLineNo">1190</span>   */<a name="line.1190"></a>
-<span class="sourceLineNo">1191</span>  public static final String BUCKET_CACHE_SIZE_KEY = "hbase.bucketcache.size";<a name="line.1191"></a>
-<span class="sourceLineNo">1192</span><a name="line.1192"></a>
-<span class="sourceLineNo">1193</span>  /**<a name="line.1193"></a>
-<span class="sourceLineNo">1194</span>   * HConstants for fast fail on the client side follow<a name="line.1194"></a>
-<span class="sourceLineNo">1195</span>   */<a name="line.1195"></a>
-<span class="sourceLineNo">1196</span>  /**<a name="line.1196"></a>
-<span class="sourceLineNo">1197</span>   * Config for enabling/disabling the fast fail mode.<a name="line.1197"></a>
-<span class="sourceLineNo">1198</span>   */<a name="line.1198"></a>
-<span class="sourceLineNo">1199</span>  public static final String HBASE_CLIENT_FAST_FAIL_MODE_ENABLED =<a name="line.1199"></a>
-<span class="sourceLineNo">1200</span>      "hbase.client.fast.fail.mode.enabled";<a name="line.1200"></a>
-<span class="sourceLineNo">1201</span><a name="line.1201"></a>
-<span class="sourceLineNo">1202</span>  public static final boolean HBASE_CLIENT_ENABLE_FAST_FAIL_MODE_DEFAULT =<a name="line.1202"></a>
-<span class="sourceLineNo">1203</span>      false;<a name="line.1203"></a>
-<span class="sourceLineNo">1204</span><a name="line.1204"></a>
-<span class="sourceLineNo">1205</span>  public static final String HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS =<a name="line.1205"></a>
-<span class="sourceLineNo">1206</span>      "hbase.client.fastfail.threshold";<a name="line.1206"></a>
-<span class="sourceLineNo">1207</span><a name="line.1207"></a>
-<span class="sourceLineNo">1208</span>  public static final long HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS_DEFAULT =<a name="line.1208"></a>
-<span class="sourceLineNo">1209</span>      60000;<a name="line.1209"></a>
-<span class="sourceLineNo">1210</span><a name="line.1210"></a>
-<span class="sourceLineNo">1211</span>  public static final String HBASE_CLIENT_FAST_FAIL_CLEANUP_MS_DURATION_MS =<a name="line.1211"></a>
-<span class="sourceLineNo">1212</span>      "hbase.client.fast.fail.cleanup.duration";<a name="line.1212"></a>
-<span class="sourceLineNo">1213</span><a name="line.1213"></a>
-<span class="sourceLineNo">1214</span>  public static final long HBASE_CLIENT_FAST_FAIL_CLEANUP_DURATION_MS_DEFAULT =<a name="line.1214"></a>
-<span class="sourceLineNo">1215</span>      600000;<a name="line.1215"></a>
-<span class="sourceLineNo">1216</span><a name="line.1216"></a>
-<span class="sourceLineNo">1217</span>  public static final String HBASE_CLIENT_FAST_FAIL_INTERCEPTOR_IMPL =<a name="line.1217"></a>
-<span class="sourceLineNo">1218</span>      "hbase.client.fast.fail.interceptor.impl";<a name="line.1218"></a>
+<span class="sourceLineNo">1191</span>  /**<a name="line.1191"></a>
+<span class="sourceLineNo">1192</span>   * Config for enabling/disabling the fast fail mode.<a name="line.1192"></a>
+<span class="sourceLineNo">1193</span>   */<a name="line.1193"></a>
+<span class="sourceLineNo">1194</span>  public static final String HBASE_CLIENT_FAST_FAIL_MODE_ENABLED =<a name="line.1194"></a>
+<span class="sourceLineNo">1195</span>      "hbase.client.fast.fail.mode.enabled";<a name="line.1195"></a>
+<span class="sourceLineNo">1196</span><a name="line.1196"></a>
+<span class="sourceLineNo">1197</span>  public static final boolean HBASE_CLIENT_ENABLE_FAST_FAIL_MODE_DEFAULT =<a name="line.1197"></a>
+<span class="sourceLineNo">1198</span>      false;<a name="line.1198"></a>
+<span class="sourceLineNo">1199</span><a name="line.1199"></a>
+<span class="sourceLineNo">1200</span>  public static final String HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS =<a name="line.1200"></a>
+<span class="sourceLineNo">1201</span>      "hbase.client.fastfail.threshold";<a name="line.1201"></a>
+<span class="sourceLineNo">1202</span><a name="line.1202"></a>
+<span class="sourceLineNo">1203</span>  public static final long HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS_DEFAULT =<a name="line.1203"></a>
+<span class="sourceLineNo">1204</span>      60000;<a name="line.1204"></a>
+<span class="sourceLineNo">1205</span><a name="line.1205"></a>
+<span class="sourceLineNo">1206</span>  public static final String HBASE_CLIENT_FAST_FAIL_CLEANUP_MS_DURATION_MS =<a name="line.1206"></a>
+<span class="sourceLineNo">1207</span>      "hbase.client.fast.fail.cleanup.duration";<a name="line.1207"></a>
+<span class="sourceLineNo">1208</span><a name="line.1208"></a>
+<span class="sourceLineNo">1209</span>  public static final long HBASE_CLIENT_FAST_FAIL_CLEANUP_DURATION_MS_DEFAULT =<a name="line.1209"></a>
+<span class="sourceLineNo">1210</span>      600000;<a name="line.1210"></a>
+<span class="sourceLineNo">1211</span><a name="line.1211"></a>
+<span class="sourceLineNo">1212</span>  public static final String HBASE_CLIENT_FAST_FAIL_INTERCEPTOR_IMPL =<a name="line.1212"></a>
+<span class="sourceLineNo">1213</span>      "hbase.client.fast.fail.interceptor.impl";<a name="line.1213"></a>
+<span class="sourceLineNo">1214</span><a name="line.1214"></a>
+<span class="sourceLineNo">1215</span>  /** Config key for if the server should send backpressure and if the client should listen to<a name="line.1215"></a>
+<span class="sourceLineNo">1216</span>   * that backpressure from the server */<a name="line.1216"></a>
+<span class="sourceLineNo">1217</span>  public static final String ENABLE_CLIENT_BACKPRESSURE = "hbase.client.backpressure.enabled";<a name="line.1217"></a>
+<span class="sourceLineNo">1218</span>  public static final boolean DEFAULT_ENABLE_CLIENT_BACKPRESSURE = false;<a name="line.1218"></a>
 <span class="sourceLineNo">1219</span><a name="line.1219"></a>
-<span class="sourceLineNo">1220</span>  /** Config key for if the server should send backpressure and if the client should listen to<a name="line.1220"></a>
-<span class="sourceLineNo">1221</span>   * that backpressure from the server */<a name="line.1221"></a>
-<span class="sourceLineNo">1222</span>  public static final String ENABLE_CLIENT_BACKPRESSURE = "hbase.client.backpressure.enabled";<a name="line.1222"></a>
-<span class="sourceLineNo">1223</span>  public static final boolean DEFAULT_ENABLE_CLIENT_BACKPRESSURE = false;<a name="line.1223"></a>
-<span class="sourceLineNo">1224</span><a name="line.1224"></a>
-<span class="sourceLineNo">1225</span>  public static final String HEAP_OCCUPANCY_LOW_WATERMARK_KEY =<a name="line.1225"></a>
-<span class="sourceLineNo">1226</span>      "hbase.heap.occupancy.low_water_mark";<a name="line.1226"></a>
-<span class="sourceLineNo">1227</span>  public static final float DEFAULT_HEAP_OCCUPANCY_LOW_WATERMARK = 0.95f;<a name="line.1227"></a>
-<span class="sourceLineNo">1228</span>  public static final String HEAP_OCCUPANCY_HIGH_WATERMARK_KEY =<a name="line.1228"></a>
-<span class="sourceLineNo">1229</span>      "hbase.heap.occupancy.high_water_mark";<a name="line.1229"></a>
-<span class="sourceLineNo">1230</span>  public static final float DEFAULT_HEAP_OCCUPANCY_HIGH_WATERMARK = 0.98f;<a name="line.1230"></a>
-<span class="sourceLineNo">1231</span><a name="line.1231"></a>
-<span class="sourceLineNo">1232</span>  /**<a name="line.1232"></a>
-<span class="sourceLineNo">1233</span>   * The max number of threads used for splitting storefiles in parallel during<a name="line.1233"></a>
-<span class="sourceLineNo">1234</span>   * the region split process.<a name="line.1234"></a>
-<span class="sourceLineNo">1235</span>   */<a name="line.1235"></a>
-<span class="sourceLineNo">1236</span>  public static final String REGION_SPLIT_THREADS_MAX =<a name="line.1236"></a>
-<span class="sourceLineNo">1237</span>    "hbase.regionserver.region.split.threads.max";<a name="line.1237"></a>
-<span class="sourceLineNo">1238</span><a name="line.1238"></a>
-<span class="sourceLineNo">1239</span>  /** Canary config keys */<a name="line.1239"></a>
-<span class="sourceLineNo">1240</span>  public static final String HBASE_CANARY_WRITE_DATA_TTL_KEY = "hbase.canary.write.data.ttl";<a name="line.1240"></a>
-<span class="sourceLineNo">1241</span><a name="line.1241"></a>
-<span class="sourceLineNo">1242</span>  public static final String HBASE_CANARY_WRITE_PERSERVER_REGIONS_LOWERLIMIT_KEY =<a name="line.1242"></a>
-<span class="sourceLineNo">1243</span>      "hbase.canary.write.perserver.regions.lowerLimit";<a name="line.1243"></a>
+<span class="sourceLineNo">1220</span>  public static final String HEAP_OCCUPANCY_LOW_WATERMARK_KEY =<a name="line.1220"></a>
+<span class="sourceLineNo">1221</span>      "hbase.heap.occupancy.low_water_mark";<a name="line.1221"></a>
+<span class="sourceLineNo">1222</span>  public static final float DEFAULT_HEAP_OCCUPANCY_LOW_WATERMARK = 0.95f;<a name="line.1222"></a>
+<span class="sourceLineNo">1223</span>  public static final String HEAP_OCCUPANCY_HIGH_WATERMARK_KEY =<a name="line.1223"></a>
+<span class="sourceLineNo">1224</span>      "hbase.heap.occupancy.high_water_mark";<a name="line.1224"></a>
+<span class="sourceLineNo">1225</span>  public static final float DEFAULT_HEAP_OCCUPANCY_HIGH_WATERMARK = 0.98f;<a name="line.1225"></a>
+<span class="sourceLineNo">1226</span><a name="line.1226"></a>
+<span class="sourceLineNo">1227</span>  /**<a name="line.1227"></a>
+<span class="sourceLineNo">1228</span>   * The max number of threads used for splitting storefiles in parallel during<a name="line.1228"></a>
+<span class="sourceLineNo">1229</span>   * the region split process.<a name="line.1229"></a>
+<span class="sourceLineNo">1230</span>   */<a name="line.1230"></a>
+<span class="sourceLineNo">1231</span>  public static final String REGION_SPLIT_THREADS_MAX =<a name="line.1231"></a>
+<span class="sourceLineNo">1232</span>    "hbase.regionserver.region.split.threads.max";<a name="line.1232"></a>
+<span class="sourceLineNo">1233</span><a name="line.1233"></a>
+<span class="sourceLineNo">1234</span>  /** Canary config keys */<a name="line.1234"></a>
+<span class="sourceLineNo">1235</span>  public static final String HBASE_CANARY_WRITE_DATA_TTL_KEY = "hbase.canary.write.data.ttl";<a name="line.1235"></a>
+<span class="sourceLineNo">1236</span><a name="line.1236"></a>
+<span class="sourceLineNo">1237</span>  public static final String HBASE_CANARY_WRITE_PERSERVER_REGIONS_LOWERLIMIT_KEY =<a name="line.1237"></a>
+<span class="sourceLineNo">1238</span>      "hbase.canary.write.perserver.regions.lowerLimit";<a name="line.1238"></a>
+<span class="sourceLineNo">1239</span><a name="line.1239"></a>
+<span class="sourceLineNo">1240</span>  public static final String HBASE_CANARY_WRITE_PERSERVER_REGIONS_UPPERLIMIT_KEY =<a name="line.1240"></a>
+<span class="sourceLineNo">1241</span>      "hbase.canary.write.perserver.regions.upperLimit";<a name="line.1241"></a>
+<span class="sourceLineNo">1242</span><a name="line.1242"></a>
+<span class="sourceLineNo">1243</span>  public static final String HBASE_CANARY_WRITE_VALUE_SIZE_KEY = "hbase.canary.write.value.size";<a name="line.1243"></a>
 <span class="sourceLineNo">1244</span><a name="line.1244"></a>
-<span class="sourceLineNo">1245</span>  public static final String HBASE_CANARY_WRITE_PERSERVER_REGIONS_UPPERLIMIT_KEY =<a name="line.1245"></a>
-<span class="sourceLineNo">1246</span>      "hbase.canary.write.perserver.regions.upperLimit";<a name="line.1246"></a>
+<span class="sourceLineNo">1245</span>  public static final String HBASE_CANARY_WRITE_TABLE_CHECK_PERIOD_KEY =<a name="line.1245"></a>
+<span class="sourceLineNo">1246</span>      "hbase.canary.write.table.check.period";<a name="line.1246"></a>
 <span class="sourceLineNo">1247</span><a name="line.1247"></a>
-<span class="sourceLineNo">1248</span>  public static final String HBASE_CANARY_WRITE_VALUE_SIZE_KEY = "hbase.canary.write.value.size";<a name="line.1248"></a>
-<span class="sourceLineNo">1249</span><a name="line.1249"></a>
-<span class="sourceLineNo">1250</span>  public static final String HBASE_CANARY_WRITE_TABLE_CHECK_PERIOD_KEY =<a name="line.1250"></a>
-<span class="sourceLineNo">1251</span>      "hbase.canary.write.table.check.period";<a name="line.1251"></a>
-<span class="sourceLineNo">1252</span><a name="line.1252"></a>
-<span class="sourceLineNo">1253</span>  /**<a name="line.1253"></a>
-<span class="sourceLineNo">1254</span>   * Configuration keys for programmatic JAAS configuration for secured ZK interaction<a name="line.1254"></a>
-<span class="sourceLineNo">1255</span>   */<a name="line.1255"></a>
-<span class="sourceLineNo">1256</span>  public static final String ZK_CLIENT_KEYTAB_FILE = "hbase.zookeeper.client.keytab.file";<a name="line.1256"></a>
-<span class="sourceLineNo">1257</span>  public static final String ZK_CLIENT_KERBEROS_PRINCIPAL =<a name="line.1257"></a>
-<span class="sourceLineNo">1258</span>      "hbase.zookeeper.client.kerberos.principal";<a name="line.1258"></a>
-<span class="sourceLineNo">1259</span>  public static final String ZK_SERVER_KEYTAB_FILE = "hbase.zookeeper.server.keytab.file";<a name="line.1259"></a>
-<span class="sourceLineNo">1260</span>  public static final String ZK_SERVER_KERBEROS_PRINCIPAL =<a name="line.1260"></a>
-<span class="sourceLineNo">1261</span>      "hbase.zookeeper.server.kerberos.principal";<a name="line.1261"></a>
-<span class="sourceLineNo">1262</span><a name="line.1262"></a>
-<span class="sourceLineNo">1263</span>  private HConstants() {<a name="line.1263"></a>
-<span class="sourceLineNo">1264</span>    // Can't be instantiated with this ctor.<a name="line.1264"></a>
-<span class="sourceLineNo">1265</span>  }<a name="line.1265"></a>
-<span class="sourceLineNo">1266</span>}<a name="line.1266"></a>
+<span class="sourceLineNo">1248</span>  /**<a name="line.1248"></a>
+<span class="sourceLineNo">1249</span>   * Configuration keys for programmatic JAAS configuration for secured ZK interaction<a name="line.1249"></a>
+<span class="sourceLineNo">1250</span>   */<a name="line.1250"></a>
+<span class="sourceLineNo">1251</span>  public static final String ZK_CLIENT_KEYTAB_FILE = "hbase.zookeeper.client.keytab.file";<a name="line.1251"></a>
+<span class="sourceLineNo">1252</span>  public static final String ZK_CLIENT_KERBEROS_PRINCIPAL =<a name="line.1252"></a>
+<span class="sourceLineNo">1253</span>      "hbase.zookeeper.client.kerberos.principal";<a name="line.1253"></a>
+<span class="sourceLineNo">1254</span>  public static final String ZK_SERVER_KEYTAB_FILE = "hbase.zookeeper.server.keytab.file";<a name="line.1254"></a>
+<span class="sourceLineNo">1255</span>  public static final String ZK_SERVER_KERBEROS_PRINCIPAL =<a name="line.1255"></a>
+<span class="sourceLineNo">1256</span>      "hbase.zookeeper.server.kerberos.principal";<a name="line.1256"></a>
+<span class="sourceLineNo">1257</span><a name="line.1257"></a>
+<span class="sourceLineNo">1258</span>  private HConstants() {<a name="line.1258"></a>
+<span class="sourceLineNo">1259</span>    // Can't be instantiated with this ctor.<a name="line.1259"></a>
+<span class="sourceLineNo">1260</span>  }<a name="line.1260"></a>
+<span class="sourceLineNo">1261</span>}<a name="line.1261"></a>
 
 
 


[25/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/regionserver/KeyValueScanner.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/KeyValueScanner.html b/devapidocs/org/apache/hadoop/hbase/regionserver/KeyValueScanner.html
index fbe67c5..5c6988e 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/KeyValueScanner.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/KeyValueScanner.html
@@ -61,13 +61,13 @@
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#field_summary">Field</a>&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><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
 <li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method_detail">Method</a></li>
 </ul>
@@ -96,7 +96,7 @@
 <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/regionserver/KeyValueScanner.html#line.31">KeyValueScanner</a>
+public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#line.32">KeyValueScanner</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/Shipper.html" title="interface in org.apache.hadoop.hbase.regionserver">Shipper</a></pre>
 <div class="block">Scanner that returns the next KeyValue.</div>
 </li>
@@ -105,6 +105,28 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/Shipper.htm
 <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>static <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#NO_NEXT_INDEXED_KEY">NO_NEXT_INDEXED_KEY</a></strong></code>
+<div class="block">The byte array represents for NO_NEXT_INDEXED_KEY;
+ The actual value is irrelevant because this is always compared by reference.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
 <!-- ========== METHOD SUMMARY =========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method_summary">
@@ -234,6 +256,25 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/Shipper.htm
 <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="NO_NEXT_INDEXED_KEY">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>NO_NEXT_INDEXED_KEY</h4>
+<pre>static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#line.37">NO_NEXT_INDEXED_KEY</a></pre>
+<div class="block">The byte array represents for NO_NEXT_INDEXED_KEY;
+ The actual value is irrelevant because this is always compared by reference.</div>
+</li>
+</ul>
+</li>
+</ul>
 <!-- ============ METHOD DETAIL ========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method_detail">
@@ -246,7 +287,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/Shipper.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>peek</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#line.36">peek</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#line.43">peek</a>()</pre>
 <div class="block">Look at the next Cell in this scanner, but do not iterate scanner.</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the next Cell</dd></dl>
 </li>
@@ -257,7 +298,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/Shipper.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>next</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#line.42">next</a>()
+<pre><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#line.49">next</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">Return the next Cell in this scanner, iterating the scanner</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the next Cell</dd>
@@ -271,7 +312,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/Shipper.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>seek</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#line.49">seek</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;key)
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#line.56">seek</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</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>
 <div class="block">Seek the scanner at or after the specified KeyValue.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>key</code> - seek value</dd>
@@ -286,7 +327,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/Shipper.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>reseek</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#line.59">reseek</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;key)
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#line.66">reseek</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</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>
 <div class="block">Reseek the scanner at or after the specified KeyValue.
  This method is guaranteed to seek at or after the required key only if the
@@ -304,7 +345,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/Shipper.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>getSequenceID</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#line.67">getSequenceID</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#line.74">getSequenceID</a>()</pre>
 <div class="block">Get the sequence id associated with this KeyValueScanner. This is required
  for comparing multiple files to find out which one has the latest data.
  The default implementation for this would be to return 0. A file having
@@ -317,7 +358,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/Shipper.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>close</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#line.72">close</a>()</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#line.79">close</a>()</pre>
 <div class="block">Close the KeyValue scanner.</div>
 </li>
 </ul>
@@ -327,7 +368,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/Shipper.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>shouldUseScanner</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#line.83">shouldUseScanner</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#line.90">shouldUseScanner</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
                        <a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&nbsp;store,
                        long&nbsp;oldestUnexpiredTS)</pre>
 <div class="block">Allows to filter out scanners (both StoreFile and memstore) that we don't
@@ -343,7 +384,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/Shipper.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>requestSeek</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#line.97">requestSeek</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;kv,
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#line.104">requestSeek</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;kv,
                   boolean&nbsp;forward,
                   boolean&nbsp;useBloom)
                     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>
@@ -364,7 +405,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/Shipper.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>realSeekDone</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#line.106">realSeekDone</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#line.113">realSeekDone</a>()</pre>
 <div class="block">We optimize our store scanners by checking the most recent store file
  first, so we sometimes pretend we have done a seek but delay it until the
  store scanner bubbles up to the top of the key-value heap. This method is
@@ -377,7 +418,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/Shipper.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>enforceSeek</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#line.115">enforceSeek</a>()
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#line.122">enforceSeek</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">Does the real seek operation in case it was skipped by
  seekToRowCol(KeyValue, boolean) (TODO: Whats this?). Note that this function should
@@ -394,7 +435,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/Shipper.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>isFileScanner</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#line.121">isFileScanner</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#line.128">isFileScanner</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>true if this is a file scanner. Otherwise a memory scanner is
          assumed.</dd></dl>
 </li>
@@ -405,7 +446,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/Shipper.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>backwardSeek</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#line.136">backwardSeek</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;key)
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#line.143">backwardSeek</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</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>
 <div class="block">Seek the scanner at or before the row of specified Cell, it firstly
  tries to seek the scanner at or after the specified Cell, return if
@@ -425,7 +466,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/Shipper.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>seekToPreviousRow</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#line.145">seekToPreviousRow</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;key)
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#line.152">seekToPreviousRow</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</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>
 <div class="block">Seek the scanner at the first Cell of the row which is the previous row
  of specified key</div>
@@ -442,7 +483,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/Shipper.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>seekToLastRow</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#line.154">seekToLastRow</a>()
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#line.161">seekToLastRow</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">Seek the scanner at the first KeyValue of last row</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>true if scanner has values left, false if the underlying data is
@@ -457,7 +498,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/Shipper.htm
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getNextIndexedKey</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#line.160">getNextIndexedKey</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#line.167">getNextIndexedKey</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the next key in the index (the key to seek to the next block)
  if known, or null otherwise</dd></dl>
 </li>
@@ -514,13 +555,13 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/Shipper.htm
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#field_summary">Field</a>&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><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
 <li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method_detail">Method</a></li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/regionserver/MobCompactionStoreScanner.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/MobCompactionStoreScanner.html b/devapidocs/org/apache/hadoop/hbase/regionserver/MobCompactionStoreScanner.html
index 7729599..31e7649 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/MobCompactionStoreScanner.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/MobCompactionStoreScanner.html
@@ -165,6 +165,13 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanne
 <h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html" title="class in org.apache.hadoop.hbase.regionserver">StoreScanner</a></h3>
 <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#cacheBlocks">cacheBlocks</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#cellsPerHeartbeatCheck">cellsPerHeartbeatCheck</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#closing">closing</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#columns">columns</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#countPerRow">countPerRow</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#currentScanners">currentScanners</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#DEFAULT_HBASE_CELLS_SCANNED_PER_HEARTBEAT_CHECK">DEFAULT_HBASE_CELLS_SCANNED_PER_HEARTBEAT_CHECK</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#executor">executor</a>, <a href="../../../../../org/apache/hado
 op/hbase/regionserver/StoreScanner.html#explicitColumnQuery">explicitColumnQuery</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#flushed">flushed</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#flushedStoreFiles">flushedStoreFiles</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#get">get</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#HBASE_CELLS_SCANNED_PER_HEARTBEAT_CHECK">HBASE_CELLS_SCANNED_PER_HEARTBEAT_CHECK</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#heap">heap</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#heapsForDelayedClose">heapsForDelayedClose</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#lastTop">lastTop</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#LAZY_SEEK_ENABLED_BY_DEFAULT"
 >LAZY_SEEK_ENABLED_BY_DEFAULT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#lazySeekEnabledGlobally">lazySeekEnabledGlobally</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#matcher">matcher</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#maxRowSize">maxRowSize</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#minVersions">minVersions</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#now">now</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#oldestUnexpiredTS">oldestUnexpiredTS</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#parallelSeekEnabled">parallelSeekEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#readPt">readPt</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.
 html#scan">scan</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#store">store</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#storeLimit">storeLimit</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#storeOffset">storeOffset</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#STORESCANNER_PARALLEL_SEEK_ENABLE">STORESCANNER_PARALLEL_SEEK_ENABLE</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#useRowColBloom">useRowColBloom</a></code></li>
 </ul>
+<ul class="blockList">
+<li class="blockList"><a name="fields_inherited_from_class_org.apache.hadoop.hbase.regionserver.KeyValueScanner">
+<!--   -->
+</a>
+<h3>Fields inherited from interface&nbsp;org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a></h3>
+<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#NO_NEXT_INDEXED_KEY">NO_NEXT_INDEXED_KEY</a></code></li>
+</ul>
 </li>
 </ul>
 <!-- ======== CONSTRUCTOR SUMMARY ======== -->

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/regionserver/MobStoreScanner.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/MobStoreScanner.html b/devapidocs/org/apache/hadoop/hbase/regionserver/MobStoreScanner.html
index c591d87..fccca8f 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/MobStoreScanner.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/MobStoreScanner.html
@@ -176,6 +176,13 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanne
 <h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html" title="class in org.apache.hadoop.hbase.regionserver">StoreScanner</a></h3>
 <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#cacheBlocks">cacheBlocks</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#cellsPerHeartbeatCheck">cellsPerHeartbeatCheck</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#closing">closing</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#columns">columns</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#countPerRow">countPerRow</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#currentScanners">currentScanners</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#DEFAULT_HBASE_CELLS_SCANNED_PER_HEARTBEAT_CHECK">DEFAULT_HBASE_CELLS_SCANNED_PER_HEARTBEAT_CHECK</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#executor">executor</a>, <a href="../../../../../org/apache/hado
 op/hbase/regionserver/StoreScanner.html#explicitColumnQuery">explicitColumnQuery</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#flushed">flushed</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#flushedStoreFiles">flushedStoreFiles</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#get">get</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#HBASE_CELLS_SCANNED_PER_HEARTBEAT_CHECK">HBASE_CELLS_SCANNED_PER_HEARTBEAT_CHECK</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#heap">heap</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#heapsForDelayedClose">heapsForDelayedClose</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#lastTop">lastTop</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#LAZY_SEEK_ENABLED_BY_DEFAULT"
 >LAZY_SEEK_ENABLED_BY_DEFAULT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#lazySeekEnabledGlobally">lazySeekEnabledGlobally</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#matcher">matcher</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#maxRowSize">maxRowSize</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#minVersions">minVersions</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#now">now</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#oldestUnexpiredTS">oldestUnexpiredTS</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#parallelSeekEnabled">parallelSeekEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#readPt">readPt</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.
 html#scan">scan</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#store">store</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#storeLimit">storeLimit</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#storeOffset">storeOffset</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#STORESCANNER_PARALLEL_SEEK_ENABLE">STORESCANNER_PARALLEL_SEEK_ENABLE</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#useRowColBloom">useRowColBloom</a></code></li>
 </ul>
+<ul class="blockList">
+<li class="blockList"><a name="fields_inherited_from_class_org.apache.hadoop.hbase.regionserver.KeyValueScanner">
+<!--   -->
+</a>
+<h3>Fields inherited from interface&nbsp;org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a></h3>
+<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#NO_NEXT_INDEXED_KEY">NO_NEXT_INDEXED_KEY</a></code></li>
+</ul>
 </li>
 </ul>
 <!-- ======== CONSTRUCTOR SUMMARY ======== -->

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/regionserver/MultiRowMutationProcessor.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/MultiRowMutationProcessor.html b/devapidocs/org/apache/hadoop/hbase/regionserver/MultiRowMutationProcessor.html
index de7f34e..22c425d 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/MultiRowMutationProcessor.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/MultiRowMutationProcessor.html
@@ -422,7 +422,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/BaseRowProc
                     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/regionserver/RowProcessor.html#preBatchMutate(org.apache.hadoop.hbase.regionserver.HRegion,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit)">RowProcessor</a></code></strong></div>
 <div class="block">The hook to be executed after the process() but before applying the Mutations to region. Also
- by the time this hook is been called, mvcc transaction is started.</div>
+ by the time this hook is called, mvcc transaction have started.</div>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html#preBatchMutate(org.apache.hadoop.hbase.regionserver.HRegion,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit)">preBatchMutate</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="interface in org.apache.hadoop.hbase.regionserver">RowProcessor</a>&lt;org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos.MultiRowMutationProcessorRequest,org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos.MultiRowMutationProcessorResponse&gt;</code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/regionserver/NonLazyKeyValueScanner.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/NonLazyKeyValueScanner.html b/devapidocs/org/apache/hadoop/hbase/regionserver/NonLazyKeyValueScanner.html
index abb0f69..0a889c3 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/NonLazyKeyValueScanner.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/NonLazyKeyValueScanner.html
@@ -115,6 +115,21 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValue
 <div class="summary">
 <ul class="blockList">
 <li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field_summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields_inherited_from_class_org.apache.hadoop.hbase.regionserver.KeyValueScanner">
+<!--   -->
+</a>
+<h3>Fields inherited from interface&nbsp;org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a></h3>
+<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#NO_NEXT_INDEXED_KEY">NO_NEXT_INDEXED_KEY</a></code></li>
+</ul>
+</li>
+</ul>
 <!-- ======== CONSTRUCTOR SUMMARY ======== -->
 <ul class="blockList">
 <li class="blockList"><a name="constructor_summary">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/regionserver/NonReversedNonLazyKeyValueScanner.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/NonReversedNonLazyKeyValueScanner.html b/devapidocs/org/apache/hadoop/hbase/regionserver/NonReversedNonLazyKeyValueScanner.html
index 119698d..b07204d 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/NonReversedNonLazyKeyValueScanner.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/NonReversedNonLazyKeyValueScanner.html
@@ -120,6 +120,21 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/NonLazyKeyV
 <div class="summary">
 <ul class="blockList">
 <li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field_summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields_inherited_from_class_org.apache.hadoop.hbase.regionserver.KeyValueScanner">
+<!--   -->
+</a>
+<h3>Fields inherited from interface&nbsp;org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a></h3>
+<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#NO_NEXT_INDEXED_KEY">NO_NEXT_INDEXED_KEY</a></code></li>
+</ul>
+</li>
+</ul>
 <!-- ======== CONSTRUCTOR SUMMARY ======== -->
 <ul class="blockList">
 <li class="blockList"><a name="constructor_summary">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/regionserver/Region.BulkLoadListener.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/Region.BulkLoadListener.html b/devapidocs/org/apache/hadoop/hbase/regionserver/Region.BulkLoadListener.html
index 95e16eb..117df14 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/Region.BulkLoadListener.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/Region.BulkLoadListener.html
@@ -95,7 +95,7 @@
 </dl>
 <hr>
 <br>
-<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.489">Region.BulkLoadListener</a></pre>
+<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.498">Region.BulkLoadListener</a></pre>
 <div class="block">Listener class to enable callers of
  bulkLoadHFile() to perform any necessary
  pre/post processing of a given bulkload call</div>
@@ -159,7 +159,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>prepareBulkLoad</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/regionserver/Region.BulkLoadListener.html#line.498">prepareBulkLoad</a>(byte[]&nbsp;family,
+<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/regionserver/Region.BulkLoadListener.html#line.507">prepareBulkLoad</a>(byte[]&nbsp;family,
                      <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;srcPath)
                        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">Called before an HFile is actually loaded</div>
@@ -175,7 +175,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>doneBulkLoad</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.BulkLoadListener.html#line.506">doneBulkLoad</a>(byte[]&nbsp;family,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.BulkLoadListener.html#line.515">doneBulkLoad</a>(byte[]&nbsp;family,
                 <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;srcPath)
                   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">Called after a successful HFile load</div>
@@ -190,7 +190,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>failedBulkLoad</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.BulkLoadListener.html#line.514">failedBulkLoad</a>(byte[]&nbsp;family,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.BulkLoadListener.html#line.523">failedBulkLoad</a>(byte[]&nbsp;family,
                   <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;srcPath)
                     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">Called after a failed HFile load</div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html b/devapidocs/org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html
index 224d095..b6cb953 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html
@@ -108,7 +108,7 @@
 </dl>
 <hr>
 <br>
-<pre>public static enum <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.FlushResult.html#line.622">Region.FlushResult.Result</a>
+<pre>public static enum <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.FlushResult.html#line.631">Region.FlushResult.Result</a>
 extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.FlushResult.Result</a>&gt;</pre>
 </li>
 </ul>
@@ -202,7 +202,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>FLUSHED_NO_COMPACTION_NEEDED</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.FlushResult.Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html#line.623">FLUSHED_NO_COMPACTION_NEEDED</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.FlushResult.Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html#line.632">FLUSHED_NO_COMPACTION_NEEDED</a></pre>
 </li>
 </ul>
 <a name="FLUSHED_COMPACTION_NEEDED">
@@ -211,7 +211,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>FLUSHED_COMPACTION_NEEDED</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.FlushResult.Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html#line.624">FLUSHED_COMPACTION_NEEDED</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.FlushResult.Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html#line.633">FLUSHED_COMPACTION_NEEDED</a></pre>
 </li>
 </ul>
 <a name="CANNOT_FLUSH_MEMSTORE_EMPTY">
@@ -220,7 +220,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>CANNOT_FLUSH_MEMSTORE_EMPTY</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.FlushResult.Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html#line.627">CANNOT_FLUSH_MEMSTORE_EMPTY</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.FlushResult.Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html#line.636">CANNOT_FLUSH_MEMSTORE_EMPTY</a></pre>
 </li>
 </ul>
 <a name="CANNOT_FLUSH">
@@ -229,7 +229,7 @@ the order they are declared.</div>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>CANNOT_FLUSH</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.FlushResult.Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html#line.628">CANNOT_FLUSH</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.FlushResult.Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html#line.637">CANNOT_FLUSH</a></pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/regionserver/Region.FlushResult.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/Region.FlushResult.html b/devapidocs/org/apache/hadoop/hbase/regionserver/Region.FlushResult.html
index 87e3a8f..16739d9 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/Region.FlushResult.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/Region.FlushResult.html
@@ -95,7 +95,7 @@
 </dl>
 <hr>
 <br>
-<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.621">Region.FlushResult</a></pre>
+<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.630">Region.FlushResult</a></pre>
 </li>
 </ul>
 </div>
@@ -166,7 +166,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getResult</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.FlushResult.Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.FlushResult.html#line.632">getResult</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.FlushResult.Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.FlushResult.html#line.641">getResult</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the detailed result code</dd></dl>
 </li>
 </ul>
@@ -176,7 +176,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>isFlushSucceeded</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.FlushResult.html#line.635">isFlushSucceeded</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.FlushResult.html#line.644">isFlushSucceeded</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>true if the memstores were flushed, else false</dd></dl>
 </li>
 </ul>
@@ -186,7 +186,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>isCompactionNeeded</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.FlushResult.html#line.638">isCompactionNeeded</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.FlushResult.html#line.647">isCompactionNeeded</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>True if the flush requested a compaction, else false</dd></dl>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/regionserver/Region.Operation.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/Region.Operation.html b/devapidocs/org/apache/hadoop/hbase/regionserver/Region.Operation.html
index 587af47..4990083 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/Region.Operation.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/Region.Operation.html
@@ -108,10 +108,10 @@
 </dl>
 <hr>
 <br>
-<pre>public static enum <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.223">Region.Operation</a>
+<pre>public static enum <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.230">Region.Operation</a>
 extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a>&gt;</pre>
-<div class="block">Operation enum is used in <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#startRegionOperation()"><code>Region.startRegionOperation()</code></a> to provide context for
- various checks before any region operation begins.</div>
+<div class="block">Operation enum is used in <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#startRegionOperation()"><code>Region.startRegionOperation()</code></a> and elsewhere to provide
+ context for various checks.</div>
 </li>
 </ul>
 </div>
@@ -231,7 +231,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>ANY</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.Operation.html#line.224">ANY</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.Operation.html#line.231">ANY</a></pre>
 </li>
 </ul>
 <a name="GET">
@@ -240,7 +240,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>GET</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.Operation.html#line.224">GET</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.Operation.html#line.231">GET</a></pre>
 </li>
 </ul>
 <a name="PUT">
@@ -249,7 +249,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>PUT</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.Operation.html#line.224">PUT</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.Operation.html#line.231">PUT</a></pre>
 </li>
 </ul>
 <a name="DELETE">
@@ -258,7 +258,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>DELETE</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.Operation.html#line.224">DELETE</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.Operation.html#line.231">DELETE</a></pre>
 </li>
 </ul>
 <a name="SCAN">
@@ -267,7 +267,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>SCAN</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.Operation.html#line.224">SCAN</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.Operation.html#line.231">SCAN</a></pre>
 </li>
 </ul>
 <a name="APPEND">
@@ -276,7 +276,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>APPEND</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.Operation.html#line.224">APPEND</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.Operation.html#line.231">APPEND</a></pre>
 </li>
 </ul>
 <a name="INCREMENT">
@@ -285,7 +285,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>INCREMENT</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.Operation.html#line.224">INCREMENT</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.Operation.html#line.231">INCREMENT</a></pre>
 </li>
 </ul>
 <a name="SPLIT_REGION">
@@ -294,7 +294,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>SPLIT_REGION</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.Operation.html#line.224">SPLIT_REGION</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.Operation.html#line.231">SPLIT_REGION</a></pre>
 </li>
 </ul>
 <a name="MERGE_REGION">
@@ -303,7 +303,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>MERGE_REGION</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.Operation.html#line.224">MERGE_REGION</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.Operation.html#line.231">MERGE_REGION</a></pre>
 </li>
 </ul>
 <a name="BATCH_MUTATE">
@@ -312,7 +312,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>BATCH_MUTATE</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.Operation.html#line.224">BATCH_MUTATE</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.Operation.html#line.231">BATCH_MUTATE</a></pre>
 </li>
 </ul>
 <a name="REPLAY_BATCH_MUTATE">
@@ -321,7 +321,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>REPLAY_BATCH_MUTATE</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.Operation.html#line.225">REPLAY_BATCH_MUTATE</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.Operation.html#line.232">REPLAY_BATCH_MUTATE</a></pre>
 </li>
 </ul>
 <a name="COMPACT_REGION">
@@ -330,7 +330,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>COMPACT_REGION</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.Operation.html#line.225">COMPACT_REGION</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.Operation.html#line.232">COMPACT_REGION</a></pre>
 </li>
 </ul>
 <a name="REPLAY_EVENT">
@@ -339,7 +339,7 @@ the order they are declared.</div>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>REPLAY_EVENT</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.Operation.html#line.225">REPLAY_EVENT</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.Operation.html#line.232">REPLAY_EVENT</a></pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/regionserver/Region.RowLock.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/Region.RowLock.html b/devapidocs/org/apache/hadoop/hbase/regionserver/Region.RowLock.html
index fea96b9..61d63b9 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/Region.RowLock.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/Region.RowLock.html
@@ -95,7 +95,7 @@
 </dl>
 <hr>
 <br>
-<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.262">Region.RowLock</a></pre>
+<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.269">Region.RowLock</a></pre>
 <div class="block">Row lock held by a given thread.
  One thread may acquire multiple locks on the same row simultaneously.
  The locks must be released by calling release() from the same thread.</div>
@@ -144,7 +144,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>release</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.RowLock.html#line.269">release</a>()</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.RowLock.html#line.276">release</a>()</pre>
 <div class="block">Release the given lock.  If there are no remaining locks held by the current thread
  then unlock the row and allow other threads to acquire the lock.</div>
 <dl><dt><span class="strong">Throws:</span></dt>


[51/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.


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

Branch: refs/heads/asf-site
Commit: a7e5a8ce2c7dc5f6cddce19635ee17413b4d39a2
Parents: dbe305b
Author: jenkins <bu...@apache.org>
Authored: Mon Feb 1 15:18:49 2016 +0000
Committer: Misty Stanley-Jones <ms...@cloudera.com>
Committed: Mon Feb 1 08:56:09 2016 -0800

----------------------------------------------------------------------
 acid-semantics.html                             |     4 +-
 apache_hbase_reference_guide.pdf                | 22967 +++++++++--------
 apache_hbase_reference_guide.pdfmarks           |     4 +-
 apidocs/index-all.html                          |     5 -
 apidocs/org/apache/hadoop/hbase/HConstants.html |   346 +-
 .../org/apache/hadoop/hbase/class-use/Cell.html |    16 -
 .../org/apache/hadoop/hbase/client/Scan.html    |   124 +-
 .../hadoop/hbase/mapreduce/CellCounter.html     |     6 +-
 .../org/apache/hadoop/hbase/CellUtil.html       |     4 +-
 .../org/apache/hadoop/hbase/HConstants.html     |   489 +-
 .../org/apache/hadoop/hbase/client/Scan.html    |  1514 +-
 .../hadoop/hbase/mapreduce/CellCounter.html     |   357 +-
 book.html                                       |    66 +-
 bulk-loads.html                                 |     4 +-
 checkstyle-aggregate.html                       |  4020 ++-
 checkstyle.rss                                  |    14 +-
 coc.html                                        |     4 +-
 cygwin.html                                     |     4 +-
 dependencies.html                               |     4 +-
 dependency-convergence.html                     |     4 +-
 dependency-info.html                            |     4 +-
 dependency-management.html                      |     4 +-
 devapidocs/deprecated-list.html                 |   347 +-
 devapidocs/index-all.html                       |    43 +-
 .../org/apache/hadoop/hbase/HConstants.html     |   348 +-
 devapidocs/org/apache/hadoop/hbase/TagUtil.html |   135 +-
 .../org/apache/hadoop/hbase/class-use/Cell.html |    33 +-
 .../hadoop/hbase/class-use/HRegionInfo.html     |     5 +-
 .../hbase/class-use/HTableDescriptor.html       |     5 +-
 .../org/apache/hadoop/hbase/class-use/Tag.html  |    42 +-
 .../hbase/classification/package-tree.html      |     6 +-
 .../org/apache/hadoop/hbase/client/Scan.html    |   128 +-
 .../hbase/client/class-use/IsolationLevel.html  |    14 +-
 .../hadoop/hbase/client/class-use/Mutation.html |     4 +-
 .../hbase/client/class-use/RowMutations.html    |     4 +-
 .../hadoop/hbase/client/package-tree.html       |     4 +-
 .../ZooKeeperScanPolicyObserver.ZKWatcher.html  |    16 +-
 .../example/ZooKeeperScanPolicyObserver.html    |    22 +-
 .../hadoop/hbase/executor/package-tree.html     |     2 +-
 .../filter/class-use/ByteArrayComparable.html   |     8 +-
 .../class-use/CompareFilter.CompareOp.html      |     8 +-
 .../hadoop/hbase/filter/package-tree.html       |    10 +-
 ...ReaderImpl.BlockIndexNotLoadedException.html |     4 +-
 .../hfile/HFileReaderImpl.EncodedScanner.html   |    40 +-
 ...FileScannerImpl.ShareableMemoryKeyValue.html |     6 +-
 ...annerImpl.ShareableMemoryNoTagsKeyValue.html |     6 +-
 ...nnerImpl.ShareableMemoryOffheapKeyValue.html |     6 +-
 .../hfile/HFileReaderImpl.HFileScannerImpl.html |   124 +-
 .../HFileReaderImpl.NotSeekedException.html     |     4 +-
 .../hadoop/hbase/io/hfile/HFileReaderImpl.html  |   158 +-
 .../hadoop/hbase/io/hfile/package-tree.html     |     6 +-
 .../RpcServer.BlockingServiceAndInterface.html  |    12 +-
 .../apache/hadoop/hbase/ipc/RpcServer.Call.html |    90 +-
 .../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  |   186 +-
 .../mapreduce/CellCounter.IntSumReducer.html    |     8 +-
 .../hadoop/hbase/mapreduce/CellCounter.html     |    12 +-
 .../hadoop/hbase/mapreduce/package-tree.html    |     6 +-
 .../hadoop/hbase/master/AssignmentManager.html  |    76 +-
 .../hbase/master/balancer/package-tree.html     |     2 +-
 .../hadoop/hbase/master/package-tree.html       |     6 +-
 .../hbase/master/procedure/package-tree.html    |     2 +-
 .../org/apache/hadoop/hbase/package-tree.html   |     8 +-
 .../hadoop/hbase/procedure2/package-tree.html   |     2 +-
 .../hadoop/hbase/quotas/package-tree.html       |     6 +-
 .../hbase/regionserver/BaseRowProcessor.html    |     2 +-
 .../DefaultMemStore.MemStoreScanner.html        |    65 +-
 .../hbase/regionserver/DefaultMemStore.html     |    28 +-
 .../HRegion.BatchOperationInProgress.html       |    26 +-
 .../regionserver/HRegion.MutationBatch.html     |    20 +-
 .../regionserver/HRegion.RegionScannerImpl.html |    92 +-
 .../hbase/regionserver/HRegion.ReplayBatch.html |    18 +-
 .../regionserver/HRegion.RowLockContext.html    |    24 +-
 .../hbase/regionserver/HRegion.RowLockImpl.html |    16 +-
 .../hadoop/hbase/regionserver/HRegion.html      |   737 +-
 .../regionserver/HStore.StoreFlusherImpl.html   |    28 +-
 .../hadoop/hbase/regionserver/HStore.html       |   136 +-
 .../hadoop/hbase/regionserver/KeyValueHeap.html |     7 +
 .../hbase/regionserver/KeyValueScanner.html     |    81 +-
 .../regionserver/MobCompactionStoreScanner.html |     7 +
 .../hbase/regionserver/MobStoreScanner.html     |     7 +
 .../regionserver/MultiRowMutationProcessor.html |     2 +-
 .../regionserver/NonLazyKeyValueScanner.html    |    15 +
 .../NonReversedNonLazyKeyValueScanner.html      |    15 +
 .../regionserver/Region.BulkLoadListener.html   |     8 +-
 .../regionserver/Region.FlushResult.Result.html |    10 +-
 .../hbase/regionserver/Region.FlushResult.html  |     8 +-
 .../hbase/regionserver/Region.Operation.html    |    32 +-
 .../hbase/regionserver/Region.RowLock.html      |     4 +-
 .../hadoop/hbase/regionserver/Region.html       |   220 +-
 .../regionserver/ReversedKeyValueHeap.html      |     7 +
 .../regionserver/ReversedMobStoreScanner.html   |     7 +
 .../regionserver/ReversedStoreScanner.html      |     7 +
 .../hadoop/hbase/regionserver/RowProcessor.html |    25 +-
 .../hbase/regionserver/StoreFileScanner.html    |     7 +
 .../hadoop/hbase/regionserver/StoreScanner.html |     7 +
 .../hbase/regionserver/package-summary.html     |     4 +-
 .../hadoop/hbase/regionserver/package-tree.html |    24 +-
 .../hadoop/hbase/regionserver/package-use.html  |     8 +-
 .../wal/FSHLog.RingBufferEventHandler.html      |    36 +-
 .../wal/FSHLog.RingBufferExceptionHandler.html  |    10 +-
 .../wal/FSHLog.SafePointZigZagLatch.html        |    16 +-
 .../regionserver/wal/FSHLog.SyncRunner.html     |    18 +-
 .../hadoop/hbase/regionserver/wal/FSHLog.html   |   258 +-
 .../hbase/regionserver/wal/FSWALEntry.html      |     8 +-
 .../regionserver/wal/class-use/WALEdit.html     |     5 +-
 .../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  |   240 +-
 .../hbase/tmpl/master/MasterStatusTmpl.html     |    96 +-
 .../hbase/tmpl/master/MasterStatusTmplImpl.html |    48 +-
 .../regionserver/RSStatusTmpl.ImplData.html     |    60 +-
 .../hbase/tmpl/regionserver/RSStatusTmpl.html   |    24 +-
 .../tmpl/regionserver/RSStatusTmplImpl.html     |    12 +-
 .../hbase/util/CollectionBackedScanner.html     |     7 +
 .../hbase/util/RegionSplitter.UniformSplit.html |    20 +-
 .../apache/hadoop/hbase/util/package-tree.html  |     6 +-
 .../hadoop/hbase/wal/class-use/WALKey.html      |     5 +-
 .../hbase/CellUtil.EmptyByteBufferedCell.html   |     4 +-
 .../apache/hadoop/hbase/CellUtil.EmptyCell.html |     4 +-
 .../CellUtil.FirstOnRowByteBufferedCell.html    |     4 +-
 .../hadoop/hbase/CellUtil.FirstOnRowCell.html   |     4 +-
 .../CellUtil.FirstOnRowColByteBufferedCell.html |     4 +-
 .../hbase/CellUtil.FirstOnRowColCell.html       |     4 +-
 ...ellUtil.FirstOnRowColTSByteBufferedCell.html |     4 +-
 .../hbase/CellUtil.FirstOnRowColTSCell.html     |     4 +-
 .../CellUtil.FirstOnRowDeleteFamilyCell.html    |     4 +-
 .../CellUtil.LastOnRowByteBufferedCell.html     |     4 +-
 .../hadoop/hbase/CellUtil.LastOnRowCell.html    |     4 +-
 .../CellUtil.LastOnRowColByteBufferedCell.html  |     4 +-
 .../hadoop/hbase/CellUtil.LastOnRowColCell.html |     4 +-
 .../org/apache/hadoop/hbase/CellUtil.html       |     4 +-
 .../apache/hadoop/hbase/HConstants.Modify.html  |   489 +-
 .../hbase/HConstants.OperationStatusCode.html   |   489 +-
 .../org/apache/hadoop/hbase/HConstants.html     |   489 +-
 .../org/apache/hadoop/hbase/TagUtil.html        |   457 +-
 .../org/apache/hadoop/hbase/client/Scan.html    |  1514 +-
 .../ZooKeeperScanPolicyObserver.ZKWatcher.html  |   403 +-
 .../example/ZooKeeperScanPolicyObserver.html    |   403 +-
 .../hfile/HFileBlockIndex.BlockIndexChunk.html  |    22 +-
 .../hfile/HFileBlockIndex.BlockIndexReader.html |    22 +-
 .../hfile/HFileBlockIndex.BlockIndexWriter.html |    22 +-
 ...BlockIndex.ByteArrayKeyBlockIndexReader.html |    22 +-
 ...BlockIndex.CellBasedKeyBlockIndexReader.html |    22 +-
 .../hadoop/hbase/io/hfile/HFileBlockIndex.html  |    22 +-
 ...ReaderImpl.BlockIndexNotLoadedException.html |  3679 +--
 .../hfile/HFileReaderImpl.EncodedScanner.html   |  3679 +--
 ...FileScannerImpl.ShareableMemoryKeyValue.html |  3679 +--
 ...annerImpl.ShareableMemoryNoTagsKeyValue.html |  3679 +--
 ...nnerImpl.ShareableMemoryOffheapKeyValue.html |  3679 +--
 .../hfile/HFileReaderImpl.HFileScannerImpl.html |  3679 +--
 .../HFileReaderImpl.NotSeekedException.html     |  3679 +--
 .../hadoop/hbase/io/hfile/HFileReaderImpl.html  |  3679 +--
 .../RpcServer.BlockingServiceAndInterface.html  |  5037 ++--
 .../apache/hadoop/hbase/ipc/RpcServer.Call.html |  5037 ++--
 .../hadoop/hbase/ipc/RpcServer.Connection.html  |  5037 ++--
 .../hbase/ipc/RpcServer.Listener.Reader.html    |  5037 ++--
 .../hadoop/hbase/ipc/RpcServer.Listener.html    |  5037 ++--
 .../hadoop/hbase/ipc/RpcServer.Responder.html   |  5037 ++--
 .../org/apache/hadoop/hbase/ipc/RpcServer.html  |  5037 ++--
 .../CellCounter.CellCounterMapper.Counters.html |   357 +-
 .../CellCounter.CellCounterMapper.html          |   357 +-
 .../mapreduce/CellCounter.IntSumReducer.html    |   357 +-
 .../hadoop/hbase/mapreduce/CellCounter.html     |   357 +-
 .../hadoop/hbase/master/AssignmentManager.html  |  2239 +-
 .../DefaultMemStore.MemStoreScanner.html        |  1049 +-
 .../hbase/regionserver/DefaultMemStore.html     |  1049 +-
 .../HRegion.BatchOperationInProgress.html       | 13638 +++++-----
 .../regionserver/HRegion.FlushResultImpl.html   | 13638 +++++-----
 .../regionserver/HRegion.MutationBatch.html     | 13638 +++++-----
 .../HRegion.PrepareFlushResult.html             | 13638 +++++-----
 .../regionserver/HRegion.RegionScannerImpl.html | 13638 +++++-----
 .../hbase/regionserver/HRegion.ReplayBatch.html | 13638 +++++-----
 .../regionserver/HRegion.RowLockContext.html    | 13638 +++++-----
 .../hbase/regionserver/HRegion.RowLockImpl.html | 13638 +++++-----
 .../hbase/regionserver/HRegion.WriteState.html  | 13638 +++++-----
 .../hadoop/hbase/regionserver/HRegion.html      | 13638 +++++-----
 .../regionserver/HStore.StoreFlusherImpl.html   |  2129 +-
 .../hadoop/hbase/regionserver/HStore.html       |  2129 +-
 .../hbase/regionserver/KeyValueScanner.html     |   273 +-
 .../regionserver/Region.BulkLoadListener.html   |  1029 +-
 .../regionserver/Region.FlushResult.Result.html |  1029 +-
 .../hbase/regionserver/Region.FlushResult.html  |  1029 +-
 .../hbase/regionserver/Region.Operation.html    |  1029 +-
 .../hbase/regionserver/Region.RowLock.html      |  1029 +-
 .../hadoop/hbase/regionserver/Region.html       |  1029 +-
 .../hadoop/hbase/regionserver/RowProcessor.html |   116 +-
 ...StoreScanner.StoreScannerCompactionRace.html |     6 +-
 .../hadoop/hbase/regionserver/StoreScanner.html |     6 +-
 .../wal/FSHLog.RingBufferEventHandler.html      |  3942 +--
 .../wal/FSHLog.RingBufferExceptionHandler.html  |  3942 +--
 .../wal/FSHLog.SafePointZigZagLatch.html        |  3942 +--
 .../regionserver/wal/FSHLog.SyncRunner.html     |  3942 +--
 .../hadoop/hbase/regionserver/wal/FSHLog.html   |  3942 +--
 .../hbase/regionserver/wal/FSWALEntry.html      |    68 +-
 .../tmpl/master/MasterStatusTmpl.ImplData.html  |   240 +-
 .../tmpl/master/MasterStatusTmpl.Intf.html      |   240 +-
 .../hbase/tmpl/master/MasterStatusTmpl.html     |   240 +-
 .../hbase/tmpl/master/MasterStatusTmplImpl.html |    64 +-
 .../regionserver/RSStatusTmpl.ImplData.html     |    60 +-
 .../tmpl/regionserver/RSStatusTmpl.Intf.html    |    60 +-
 .../hbase/tmpl/regionserver/RSStatusTmpl.html   |    60 +-
 .../tmpl/regionserver/RSStatusTmplImpl.html     |    16 +-
 ...BaseFsck.CheckRegionConsistencyWorkItem.html |     2 +-
 .../HBaseFsck.ErrorReporter.ERROR_CODE.html     |     2 +-
 .../hbase/util/HBaseFsck.ErrorReporter.html     |     2 +-
 .../hbase/util/HBaseFsck.FileLockCallable.html  |     2 +-
 .../hbase/util/HBaseFsck.HBaseFsckTool.html     |     2 +-
 .../hadoop/hbase/util/HBaseFsck.HbckInfo.html   |     2 +-
 .../hadoop/hbase/util/HBaseFsck.HdfsEntry.html  |     2 +-
 .../hadoop/hbase/util/HBaseFsck.MetaEntry.html  |     2 +-
 .../hbase/util/HBaseFsck.OnlineEntry.html       |     2 +-
 .../util/HBaseFsck.PrintingErrorReporter.html   |     2 +-
 .../HBaseFsck.RegionBoundariesInformation.html  |     2 +-
 .../util/HBaseFsck.RegionRepairException.html   |     2 +-
 .../HBaseFsck.TableInfo.HDFSIntegrityFixer.html |     2 +-
 ...aseFsck.TableInfo.IntegrityFixSuggester.html |     2 +-
 .../hadoop/hbase/util/HBaseFsck.TableInfo.html  |     2 +-
 .../hbase/util/HBaseFsck.WorkItemHdfsDir.html   |     2 +-
 .../util/HBaseFsck.WorkItemHdfsRegionInfo.html  |     2 +-
 .../util/HBaseFsck.WorkItemOverlapMerge.html    |     2 +-
 .../hbase/util/HBaseFsck.WorkItemRegion.html    |     2 +-
 .../org/apache/hadoop/hbase/util/HBaseFsck.html |     2 +-
 .../util/RegionSplitter.HexStringSplit.html     |   111 +-
 .../util/RegionSplitter.SplitAlgorithm.html     |   111 +-
 .../hbase/util/RegionSplitter.UniformSplit.html |   111 +-
 .../hadoop/hbase/util/RegionSplitter.html       |   111 +-
 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 +-
 ...cing.BlockCompactionsInCompletionRegion.html |     2 +-
 ...tIOFencing.BlockCompactionsInPrepRegion.html |     2 +-
 .../TestIOFencing.CompactionBlockerRegion.html  |     2 +-
 ...ook.CompactionCompletionNotifyingRegion.html |     2 +-
 .../hadoop/hbase/io/hfile/package-tree.html     |     2 +-
 ...ochasticLoadBalancer.ForTestRackManager.html |     8 +-
 ...asticLoadBalancer.ForTestRackManagerOne.html |     6 +-
 .../balancer/TestStochasticLoadBalancer.html    |    48 +-
 .../org/apache/hadoop/hbase/package-tree.html   |     8 +-
 .../hbase/regionserver/KeyValueScanFixture.html |    22 +
 .../TestAtomicOperation.MockHRegion.html        |     2 +-
 .../TestHRegion.HRegionWithSeqId.html           |     2 +-
 .../regionserver/TestKeyValueHeap.Scanner.html  |    14 +
 .../TestKeyValueHeap.SeekScanner.html           |    14 +
 ...annerHeartbeatMessages.HeartbeatHRegion.html |     2 +-
 ...cannerHeartbeatMessages.HeartbeatKVHeap.html |     9 +-
 ...artbeatMessages.HeartbeatReversedKVHeap.html |     9 +-
 .../hadoop/hbase/regionserver/package-tree.html |     2 +-
 .../apache/hadoop/hbase/test/package-tree.html  |     2 +-
 ...lusterManager.CommandProvider.Operation.html |     4 +-
 .../HBaseClusterManager.CommandProvider.html    |     4 +-
 ...lusterManager.HBaseShellCommandProvider.html |     4 +-
 ...usterManager.HadoopShellCommandProvider.html |     4 +-
 .../hbase/HBaseClusterManager.RemoteShell.html  |     4 +-
 ...erManager.ZookeeperShellCommandProvider.html |     4 +-
 .../hadoop/hbase/HBaseClusterManager.html       |     4 +-
 ...ook.CompactionCompletionNotifyingRegion.html |     2 +-
 ...erverScannerOpenHook.EmptyRegionObsever.html |     2 +-
 ...ionObserverScannerOpenHook.NoDataFilter.html |     2 +-
 ...verScannerOpenHook.NoDataFromCompaction.html |     2 +-
 ...ObserverScannerOpenHook.NoDataFromFlush.html |     2 +-
 ...nObserverScannerOpenHook.NoDataFromScan.html |     2 +-
 .../TestRegionObserverScannerOpenHook.html      |     2 +-
 ...ochasticLoadBalancer.ForTestRackManager.html |   955 +-
 ...asticLoadBalancer.ForTestRackManagerOne.html |   955 +-
 .../balancer/TestStochasticLoadBalancer.html    |   955 +-
 .../regionserver/NoOpScanPolicyObserver.html    |     4 +-
 .../TestCoprocessorScanPolicy.ScanObserver.html |     2 +-
 .../hbase/util/TestCoprocessorScanPolicy.html   |     2 +-
 .../hadoop/hbase/util/TestHBaseFsckOneRS.html   |     2 +-
 .../hadoop/hbase/HBaseClusterManager.html       |     4 +-
 .../TestRegionObserverScannerOpenHook.html      |     2 +-
 .../balancer/TestStochasticLoadBalancer.html    |   955 +-
 .../regionserver/NoOpScanPolicyObserver.html    |     4 +-
 .../hbase/util/TestCoprocessorScanPolicy.html   |     2 +-
 .../hadoop/hbase/util/TestHBaseFsckOneRS.html   |     2 +-
 xref/org/apache/hadoop/hbase/CellUtil.html      |     4 +-
 xref/org/apache/hadoop/hbase/HConstants.html    |   489 +-
 xref/org/apache/hadoop/hbase/TagUtil.html       |   457 +-
 xref/org/apache/hadoop/hbase/client/Scan.html   |  1514 +-
 .../example/ZooKeeperScanPolicyObserver.html    |   403 +-
 .../hadoop/hbase/io/hfile/HFileBlockIndex.html  |    22 +-
 .../hadoop/hbase/io/hfile/HFileReaderImpl.html  |  3679 +--
 xref/org/apache/hadoop/hbase/ipc/RpcServer.html |  5037 ++--
 .../hadoop/hbase/mapreduce/CellCounter.html     |   357 +-
 .../hadoop/hbase/master/AssignmentManager.html  |  2239 +-
 .../hbase/regionserver/DefaultMemStore.html     |  1049 +-
 .../hadoop/hbase/regionserver/HRegion.html      | 13638 +++++-----
 .../hadoop/hbase/regionserver/HStore.html       |  2129 +-
 .../hbase/regionserver/KeyValueScanner.html     |   273 +-
 .../hadoop/hbase/regionserver/Region.html       |  1029 +-
 .../hadoop/hbase/regionserver/RowProcessor.html |   116 +-
 .../hadoop/hbase/regionserver/StoreScanner.html |     6 +-
 .../hadoop/hbase/regionserver/wal/FSHLog.html   |  3942 +--
 .../hbase/regionserver/wal/FSWALEntry.html      |    68 +-
 .../hbase/tmpl/common/TaskMonitorTmpl.html      |    60 +-
 .../hbase/tmpl/common/TaskMonitorTmplImpl.html  |    16 +-
 .../hbase/tmpl/master/MasterStatusTmpl.html     |   240 +-
 .../hbase/tmpl/master/MasterStatusTmplImpl.html |    64 +-
 .../hbase/tmpl/regionserver/RSStatusTmpl.html   |    60 +-
 .../tmpl/regionserver/RSStatusTmplImpl.html     |    16 +-
 .../org/apache/hadoop/hbase/util/HBaseFsck.html |     2 +-
 .../hadoop/hbase/util/RegionSplitter.html       |   111 +-
 363 files changed, 160254 insertions(+), 159174 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/acid-semantics.html
----------------------------------------------------------------------
diff --git a/acid-semantics.html b/acid-semantics.html
index a82c387..ff1bab4 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="20160129" />
+    <meta name="Date-Revision-yyyymmdd" content="20160201" />
     <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-29</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-01</li>
             </p>
                 </div>
 


[23/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/regionserver/ReversedStoreScanner.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/ReversedStoreScanner.html b/devapidocs/org/apache/hadoop/hbase/regionserver/ReversedStoreScanner.html
index c468a69..dc2cbf5 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/ReversedStoreScanner.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/ReversedStoreScanner.html
@@ -158,6 +158,13 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValue
 <h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html" title="class in org.apache.hadoop.hbase.regionserver">StoreScanner</a></h3>
 <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#cacheBlocks">cacheBlocks</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#cellsPerHeartbeatCheck">cellsPerHeartbeatCheck</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#closing">closing</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#columns">columns</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#countPerRow">countPerRow</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#currentScanners">currentScanners</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#DEFAULT_HBASE_CELLS_SCANNED_PER_HEARTBEAT_CHECK">DEFAULT_HBASE_CELLS_SCANNED_PER_HEARTBEAT_CHECK</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#executor">executor</a>, <a href="../../../../../org/apache/hado
 op/hbase/regionserver/StoreScanner.html#explicitColumnQuery">explicitColumnQuery</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#flushed">flushed</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#flushedStoreFiles">flushedStoreFiles</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#get">get</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#HBASE_CELLS_SCANNED_PER_HEARTBEAT_CHECK">HBASE_CELLS_SCANNED_PER_HEARTBEAT_CHECK</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#heap">heap</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#heapsForDelayedClose">heapsForDelayedClose</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#lastTop">lastTop</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#LAZY_SEEK_ENABLED_BY_DEFAULT"
 >LAZY_SEEK_ENABLED_BY_DEFAULT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#lazySeekEnabledGlobally">lazySeekEnabledGlobally</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#matcher">matcher</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#maxRowSize">maxRowSize</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#minVersions">minVersions</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#now">now</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#oldestUnexpiredTS">oldestUnexpiredTS</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#parallelSeekEnabled">parallelSeekEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#readPt">readPt</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.
 html#scan">scan</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#store">store</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#storeLimit">storeLimit</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#storeOffset">storeOffset</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#STORESCANNER_PARALLEL_SEEK_ENABLE">STORESCANNER_PARALLEL_SEEK_ENABLE</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#useRowColBloom">useRowColBloom</a></code></li>
 </ul>
+<ul class="blockList">
+<li class="blockList"><a name="fields_inherited_from_class_org.apache.hadoop.hbase.regionserver.KeyValueScanner">
+<!--   -->
+</a>
+<h3>Fields inherited from interface&nbsp;org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a></h3>
+<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#NO_NEXT_INDEXED_KEY">NO_NEXT_INDEXED_KEY</a></code></li>
+</ul>
 </li>
 </ul>
 <!-- ======== CONSTRUCTOR SUMMARY ======== -->

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/regionserver/RowProcessor.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/RowProcessor.html b/devapidocs/org/apache/hadoop/hbase/regionserver/RowProcessor.html
index 29b4144..7a6e051 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/RowProcessor.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/RowProcessor.html
@@ -97,7 +97,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/region
 <div class="block">Defines the procedure to atomically perform multiple scans and mutations
  on a HRegion.
 
- This is invoked by HRegion#processRowsWithLocks().
+ This is invoked by <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#processRowsWithLocks(org.apache.hadoop.hbase.regionserver.RowProcessor)"><code>Region.processRowsWithLocks(RowProcessor)</code></a>.
  This class performs scans and generates mutations and WAL edits.
  The locks and MVCC will be handled by HRegion.
 
@@ -302,12 +302,12 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/region
 <ul class="blockList">
 <li class="blockList">
 <h4>preBatchMutate</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RowProcessor.html#line.106">preBatchMutate</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;region,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RowProcessor.html#line.104">preBatchMutate</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;region,
                   <a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;walEdit)
                     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">The hook to be executed after the process() but before applying the Mutations to region. Also
- by the time this hook is been called, mvcc transaction is started.</div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>region</code> - </dd><dd><code>walEdit</code> - the output WAL edits to apply to write ahead log</dd>
+ by the time this hook is called, mvcc transaction have started.</div>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>walEdit</code> - the output WAL edits to apply to write ahead log</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>
@@ -318,13 +318,12 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/region
 <ul class="blockList">
 <li class="blockList">
 <h4>postBatchMutate</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RowProcessor.html#line.115">postBatchMutate</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;region)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RowProcessor.html#line.111">postBatchMutate</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;region)
                      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">The hook to be executed after the process() and applying the Mutations to region. The
  difference of this one with <a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html#postProcess(org.apache.hadoop.hbase.regionserver.HRegion,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20boolean)"><code>postProcess(HRegion, WALEdit, boolean)</code></a> is this hook will
  be executed before the mvcc transaction completion.</div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>region</code> - </dd>
-<dt><span class="strong">Throws:</span></dt>
+<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>
@@ -334,7 +333,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/region
 <ul class="blockList">
 <li class="blockList">
 <h4>postProcess</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RowProcessor.html#line.124">postProcess</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;region,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RowProcessor.html#line.120">postProcess</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;region,
                <a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;walEdit,
                boolean&nbsp;success)
                  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>
@@ -350,7 +349,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/region
 <ul class="blockList">
 <li class="blockList">
 <h4>getClusterIds</h4>
-<pre><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/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RowProcessor.html#line.129">getClusterIds</a>()</pre>
+<pre><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/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RowProcessor.html#line.125">getClusterIds</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>The cluster ids that have the change.</dd></dl>
 </li>
 </ul>
@@ -360,7 +359,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/region
 <ul class="blockList">
 <li class="blockList">
 <h4>getName</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/regionserver/RowProcessor.html#line.135">getName</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/regionserver/RowProcessor.html#line.131">getName</a>()</pre>
 <div class="block">Human readable name of the processor</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>The name of the processor</dd></dl>
 </li>
@@ -371,7 +370,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/region
 <ul class="blockList">
 <li class="blockList">
 <h4>getRequestData</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="type parameter in RowProcessor">S</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RowProcessor.html#line.145">getRequestData</a>()
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="type parameter in RowProcessor">S</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RowProcessor.html#line.141">getRequestData</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">This method should return any additional data that is needed on the
  server side to construct the RowProcessor. The server will pass this to
@@ -390,7 +389,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/region
 <ul class="blockList">
 <li class="blockList">
 <h4>initialize</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RowProcessor.html#line.153">initialize</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="type parameter in RowProcessor">S</a>&nbsp;msg)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RowProcessor.html#line.149">initialize</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="type parameter in RowProcessor">S</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>
 <div class="block">This method should initialize any field(s) of the RowProcessor with
  a parsing of the passed message bytes (used on the server side).</div>
@@ -405,7 +404,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/region
 <ul class="blockListLast">
 <li class="blockList">
 <h4>useDurability</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RowProcessor.html#line.158">useDurability</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RowProcessor.html#line.154">useDurability</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>The <a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client"><code>Durability</code></a> to use</dd></dl>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/regionserver/StoreFileScanner.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/StoreFileScanner.html b/devapidocs/org/apache/hadoop/hbase/regionserver/StoreFileScanner.html
index 7aaec1b..0021db4 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/StoreFileScanner.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/StoreFileScanner.html
@@ -176,6 +176,13 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValue
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileScanner.html#stopSkippingKVsIfNextRow">stopSkippingKVsIfNextRow</a></strong></code>&nbsp;</td>
 </tr>
 </table>
+<ul class="blockList">
+<li class="blockList"><a name="fields_inherited_from_class_org.apache.hadoop.hbase.regionserver.KeyValueScanner">
+<!--   -->
+</a>
+<h3>Fields inherited from interface&nbsp;org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a></h3>
+<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#NO_NEXT_INDEXED_KEY">NO_NEXT_INDEXED_KEY</a></code></li>
+</ul>
 </li>
 </ul>
 <!-- ======== CONSTRUCTOR SUMMARY ======== -->

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/regionserver/StoreScanner.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/StoreScanner.html b/devapidocs/org/apache/hadoop/hbase/regionserver/StoreScanner.html
index e163d00..489aee9 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/StoreScanner.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/StoreScanner.html
@@ -313,6 +313,13 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValue
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#useRowColBloom">useRowColBloom</a></strong></code>&nbsp;</td>
 </tr>
 </table>
+<ul class="blockList">
+<li class="blockList"><a name="fields_inherited_from_class_org.apache.hadoop.hbase.regionserver.KeyValueScanner">
+<!--   -->
+</a>
+<h3>Fields inherited from interface&nbsp;org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a></h3>
+<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#NO_NEXT_INDEXED_KEY">NO_NEXT_INDEXED_KEY</a></code></li>
+</ul>
 </li>
 </ul>
 <!-- ======== CONSTRUCTOR SUMMARY ======== -->

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/regionserver/package-summary.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/package-summary.html b/devapidocs/org/apache/hadoop/hbase/regionserver/package-summary.html
index 8d0a488..d76f4d0 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/package-summary.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/package-summary.html
@@ -1372,8 +1372,8 @@
 <tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a></td>
 <td class="colLast">
-<div class="block">Operation enum is used in <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#startRegionOperation()"><code>Region.startRegionOperation()</code></a> to provide context for
- various checks before any region operation begins.</div>
+<div class="block">Operation enum is used in <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#startRegionOperation()"><code>Region.startRegionOperation()</code></a> and elsewhere to provide
+ context for various checks.</div>
 </td>
 </tr>
 <tr class="altColor">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/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 99fb645..834f520 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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">ScannerContext.LimitScope</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/regionserver/package-use.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/package-use.html b/devapidocs/org/apache/hadoop/hbase/regionserver/package-use.html
index c98616f..d280c7a 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/package-use.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/package-use.html
@@ -393,8 +393,8 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tr>
 <tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/regionserver/class-use/Region.Operation.html#org.apache.hadoop.hbase.coprocessor">Region.Operation</a>
-<div class="block">Operation enum is used in <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#startRegionOperation()"><code>Region.startRegionOperation()</code></a> to provide context for
- various checks before any region operation begins.</div>
+<div class="block">Operation enum is used in <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#startRegionOperation()"><code>Region.startRegionOperation()</code></a> and elsewhere to provide
+ context for various checks.</div>
 </td>
 </tr>
 <tr class="altColor">
@@ -1214,8 +1214,8 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tr>
 <tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/regionserver/class-use/Region.Operation.html#org.apache.hadoop.hbase.regionserver">Region.Operation</a>
-<div class="block">Operation enum is used in <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#startRegionOperation()"><code>Region.startRegionOperation()</code></a> to provide context for
- various checks before any region operation begins.</div>
+<div class="block">Operation enum is used in <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#startRegionOperation()"><code>Region.startRegionOperation()</code></a> and elsewhere to provide
+ context for various checks.</div>
 </td>
 </tr>
 <tr class="altColor">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferEventHandler.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferEventHandler.html b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferEventHandler.html
index d67efaa..59fd10d 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferEventHandler.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferEventHandler.html
@@ -103,7 +103,7 @@
 </dl>
 <hr>
 <br>
-<pre> class <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1676">FSHLog.RingBufferEventHandler</a>
+<pre> class <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1688">FSHLog.RingBufferEventHandler</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 com.lmax.disruptor.EventHandler&lt;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/RingBufferTruck.html" title="class in org.apache.hadoop.hbase.regionserver.wal">RingBufferTruck</a>&gt;, com.lmax.disruptor.LifecycleAware</pre>
 <div class="block">Handler that is run by the disruptor ringbuffer consumer. Consumer is a SINGLE
@@ -284,7 +284,7 @@ implements com.lmax.disruptor.EventHandler&lt;<a href="../../../../../../org/apa
 <ul class="blockList">
 <li class="blockList">
 <h4>syncRunners</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/FSHLog.SyncRunner.html" title="class in org.apache.hadoop.hbase.regionserver.wal">FSHLog.SyncRunner</a>[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferEventHandler.html#line.1677">syncRunners</a></pre>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/FSHLog.SyncRunner.html" title="class in org.apache.hadoop.hbase.regionserver.wal">FSHLog.SyncRunner</a>[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferEventHandler.html#line.1689">syncRunners</a></pre>
 </li>
 </ul>
 <a name="syncFutures">
@@ -293,7 +293,7 @@ implements com.lmax.disruptor.EventHandler&lt;<a href="../../../../../../org/apa
 <ul class="blockList">
 <li class="blockList">
 <h4>syncFutures</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/SyncFuture.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SyncFuture</a>[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferEventHandler.html#line.1678">syncFutures</a></pre>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/SyncFuture.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SyncFuture</a>[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferEventHandler.html#line.1690">syncFutures</a></pre>
 </li>
 </ul>
 <a name="syncFuturesCount">
@@ -302,7 +302,7 @@ implements com.lmax.disruptor.EventHandler&lt;<a href="../../../../../../org/apa
 <ul class="blockList">
 <li class="blockList">
 <h4>syncFuturesCount</h4>
-<pre>private volatile&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferEventHandler.html#line.1681">syncFuturesCount</a></pre>
+<pre>private volatile&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferEventHandler.html#line.1693">syncFuturesCount</a></pre>
 </li>
 </ul>
 <a name="zigzagLatch">
@@ -311,7 +311,7 @@ implements com.lmax.disruptor.EventHandler&lt;<a href="../../../../../../org/apa
 <ul class="blockList">
 <li class="blockList">
 <h4>zigzagLatch</h4>
-<pre>private volatile&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/FSHLog.SafePointZigZagLatch.html" title="class in org.apache.hadoop.hbase.regionserver.wal">FSHLog.SafePointZigZagLatch</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferEventHandler.html#line.1682">zigzagLatch</a></pre>
+<pre>private volatile&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/FSHLog.SafePointZigZagLatch.html" title="class in org.apache.hadoop.hbase.regionserver.wal">FSHLog.SafePointZigZagLatch</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferEventHandler.html#line.1694">zigzagLatch</a></pre>
 </li>
 </ul>
 <a name="exception">
@@ -320,7 +320,7 @@ implements com.lmax.disruptor.EventHandler&lt;<a href="../../../../../../org/apa
 <ul class="blockList">
 <li class="blockList">
 <h4>exception</h4>
-<pre>private&nbsp;<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> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferEventHandler.html#line.1687">exception</a></pre>
+<pre>private&nbsp;<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> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferEventHandler.html#line.1699">exception</a></pre>
 <div class="block">Set if we get an exception appending or syncing so that all subsequence appends and syncs
  on this WAL fail until WAL is replaced.</div>
 </li>
@@ -331,7 +331,7 @@ implements com.lmax.disruptor.EventHandler&lt;<a href="../../../../../../org/apa
 <ul class="blockList">
 <li class="blockList">
 <h4>safePointWaiter</h4>
-<pre>private final&nbsp;<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> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferEventHandler.html#line.1691">safePointWaiter</a></pre>
+<pre>private final&nbsp;<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> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferEventHandler.html#line.1703">safePointWaiter</a></pre>
 <div class="block">Object to block on while waiting on safe point.</div>
 </li>
 </ul>
@@ -341,7 +341,7 @@ implements com.lmax.disruptor.EventHandler&lt;<a href="../../../../../../org/apa
 <ul class="blockList">
 <li class="blockList">
 <h4>shutdown</h4>
-<pre>private volatile&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferEventHandler.html#line.1692">shutdown</a></pre>
+<pre>private volatile&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferEventHandler.html#line.1704">shutdown</a></pre>
 </li>
 </ul>
 <a name="syncRunnerIndex">
@@ -350,7 +350,7 @@ implements com.lmax.disruptor.EventHandler&lt;<a href="../../../../../../org/apa
 <ul class="blockListLast">
 <li class="blockList">
 <h4>syncRunnerIndex</h4>
-<pre>private&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferEventHandler.html#line.1697">syncRunnerIndex</a></pre>
+<pre>private&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferEventHandler.html#line.1709">syncRunnerIndex</a></pre>
 <div class="block">Which syncrunner to use next.</div>
 </li>
 </ul>
@@ -368,7 +368,7 @@ implements com.lmax.disruptor.EventHandler&lt;<a href="../../../../../../org/apa
 <ul class="blockListLast">
 <li class="blockList">
 <h4>FSHLog.RingBufferEventHandler</h4>
-<pre><a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferEventHandler.html#line.1699">FSHLog.RingBufferEventHandler</a>(int&nbsp;syncRunnerCount,
+<pre><a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferEventHandler.html#line.1711">FSHLog.RingBufferEventHandler</a>(int&nbsp;syncRunnerCount,
                              int&nbsp;maxHandlersCount)</pre>
 </li>
 </ul>
@@ -386,7 +386,7 @@ implements com.lmax.disruptor.EventHandler&lt;<a href="../../../../../../org/apa
 <ul class="blockList">
 <li class="blockList">
 <h4>cleanupOutstandingSyncsOnException</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferEventHandler.html#line.1707">cleanupOutstandingSyncsOnException</a>(long&nbsp;sequence,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferEventHandler.html#line.1719">cleanupOutstandingSyncsOnException</a>(long&nbsp;sequence,
                                       <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)</pre>
 </li>
 </ul>
@@ -396,7 +396,7 @@ implements com.lmax.disruptor.EventHandler&lt;<a href="../../../../../../org/apa
 <ul class="blockList">
 <li class="blockList">
 <h4>isOutstandingSyncs</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferEventHandler.html#line.1716">isOutstandingSyncs</a>()</pre>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferEventHandler.html#line.1728">isOutstandingSyncs</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>True if outstanding sync futures still</dd></dl>
 </li>
 </ul>
@@ -406,7 +406,7 @@ implements com.lmax.disruptor.EventHandler&lt;<a href="../../../../../../org/apa
 <ul class="blockList">
 <li class="blockList">
 <h4>onEvent</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferEventHandler.html#line.1725">onEvent</a>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/RingBufferTruck.html" title="class in org.apache.hadoop.hbase.regionserver.wal">RingBufferTruck</a>&nbsp;truck,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferEventHandler.html#line.1737">onEvent</a>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/RingBufferTruck.html" title="class in org.apache.hadoop.hbase.regionserver.wal">RingBufferTruck</a>&nbsp;truck,
            long&nbsp;sequence,
            boolean&nbsp;endOfBatch)
              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>
@@ -423,7 +423,7 @@ implements com.lmax.disruptor.EventHandler&lt;<a href="../../../../../../org/apa
 <ul class="blockList">
 <li class="blockList">
 <h4>attainSafePoint</h4>
-<pre><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/FSHLog.SafePointZigZagLatch.html" title="class in org.apache.hadoop.hbase.regionserver.wal">FSHLog.SafePointZigZagLatch</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferEventHandler.html#line.1804">attainSafePoint</a>()</pre>
+<pre><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/FSHLog.SafePointZigZagLatch.html" title="class in org.apache.hadoop.hbase.regionserver.wal">FSHLog.SafePointZigZagLatch</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferEventHandler.html#line.1816">attainSafePoint</a>()</pre>
 </li>
 </ul>
 <a name="attainSafePoint(long)">
@@ -432,7 +432,7 @@ implements com.lmax.disruptor.EventHandler&lt;<a href="../../../../../../org/apa
 <ul class="blockList">
 <li class="blockList">
 <h4>attainSafePoint</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferEventHandler.html#line.1813">attainSafePoint</a>(long&nbsp;currentSequence)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferEventHandler.html#line.1825">attainSafePoint</a>(long&nbsp;currentSequence)</pre>
 <div class="block">Check if we should attain safe point.  If so, go there and then wait till signalled before
  we proceeding.</div>
 </li>
@@ -443,7 +443,7 @@ implements com.lmax.disruptor.EventHandler&lt;<a href="../../../../../../org/apa
 <ul class="blockList">
 <li class="blockList">
 <h4>append</h4>
-<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferEventHandler.html#line.1846">append</a>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/FSWALEntry.html" title="class in org.apache.hadoop.hbase.regionserver.wal">FSWALEntry</a>&nbsp;entry)
+<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferEventHandler.html#line.1858">append</a>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/FSWALEntry.html" title="class in org.apache.hadoop.hbase.regionserver.wal">FSWALEntry</a>&nbsp;entry)
       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">Append to the WAL.  Does all CP and WAL listener calls.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>entry</code> - </dd>
@@ -457,7 +457,7 @@ implements com.lmax.disruptor.EventHandler&lt;<a href="../../../../../../org/apa
 <ul class="blockList">
 <li class="blockList">
 <h4>onStart</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferEventHandler.html#line.1899">onStart</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferEventHandler.html#line.1911">onStart</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code>onStart</code>&nbsp;in interface&nbsp;<code>com.lmax.disruptor.LifecycleAware</code></dd>
@@ -470,7 +470,7 @@ implements com.lmax.disruptor.EventHandler&lt;<a href="../../../../../../org/apa
 <ul class="blockListLast">
 <li class="blockList">
 <h4>onShutdown</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferEventHandler.html#line.1904">onShutdown</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferEventHandler.html#line.1916">onShutdown</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code>onShutdown</code>&nbsp;in interface&nbsp;<code>com.lmax.disruptor.LifecycleAware</code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferExceptionHandler.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferExceptionHandler.html b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferExceptionHandler.html
index 5c0528e..8e75797 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferExceptionHandler.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferExceptionHandler.html
@@ -103,7 +103,7 @@
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.378">FSHLog.RingBufferExceptionHandler</a>
+<pre>static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.377">FSHLog.RingBufferExceptionHandler</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 com.lmax.disruptor.ExceptionHandler</pre>
 <div class="block">Exception handler to pass the disruptor ringbuffer.  Same as native implementation only it
@@ -185,7 +185,7 @@ implements com.lmax.disruptor.ExceptionHandler</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>FSHLog.RingBufferExceptionHandler</h4>
-<pre><a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferExceptionHandler.html#line.378">FSHLog.RingBufferExceptionHandler</a>()</pre>
+<pre><a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferExceptionHandler.html#line.377">FSHLog.RingBufferExceptionHandler</a>()</pre>
 </li>
 </ul>
 </li>
@@ -202,7 +202,7 @@ implements com.lmax.disruptor.ExceptionHandler</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>handleEventException</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferExceptionHandler.html#line.380">handleEventException</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;ex,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferExceptionHandler.html#line.379">handleEventException</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;ex,
                         long&nbsp;sequence,
                         <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;event)</pre>
 <dl>
@@ -217,7 +217,7 @@ implements com.lmax.disruptor.ExceptionHandler</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>handleOnStartException</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferExceptionHandler.html#line.386">handleOnStartException</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;ex)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferExceptionHandler.html#line.385">handleOnStartException</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;ex)</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code>handleOnStartException</code>&nbsp;in interface&nbsp;<code>com.lmax.disruptor.ExceptionHandler</code></dd>
@@ -230,7 +230,7 @@ implements com.lmax.disruptor.ExceptionHandler</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>handleOnShutdownException</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferExceptionHandler.html#line.392">handleOnShutdownException</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;ex)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferExceptionHandler.html#line.391">handleOnShutdownException</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;ex)</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code>handleOnShutdownException</code>&nbsp;in interface&nbsp;<code>com.lmax.disruptor.ExceptionHandler</code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/regionserver/wal/FSHLog.SafePointZigZagLatch.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/FSHLog.SafePointZigZagLatch.html b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/FSHLog.SafePointZigZagLatch.html
index 3ebb403..2b08123 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/FSHLog.SafePointZigZagLatch.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/FSHLog.SafePointZigZagLatch.html
@@ -99,7 +99,7 @@
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1594">FSHLog.SafePointZigZagLatch</a>
+<pre>static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1606">FSHLog.SafePointZigZagLatch</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">This class is used coordinating two threads holding one thread at a
  'safe point' while the orchestrating thread does some work that requires the first thread
@@ -238,7 +238,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>safePointAttainedLatch</h4>
-<pre>private volatile&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/CountDownLatch.html?is-external=true" title="class or interface in java.util.concurrent">CountDownLatch</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.SafePointZigZagLatch.html#line.1598">safePointAttainedLatch</a></pre>
+<pre>private volatile&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/CountDownLatch.html?is-external=true" title="class or interface in java.util.concurrent">CountDownLatch</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.SafePointZigZagLatch.html#line.1610">safePointAttainedLatch</a></pre>
 <div class="block">Count down this latch when safe point attained.</div>
 </li>
 </ul>
@@ -248,7 +248,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>safePointReleasedLatch</h4>
-<pre>private volatile&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/CountDownLatch.html?is-external=true" title="class or interface in java.util.concurrent">CountDownLatch</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.SafePointZigZagLatch.html#line.1602">safePointReleasedLatch</a></pre>
+<pre>private volatile&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/CountDownLatch.html?is-external=true" title="class or interface in java.util.concurrent">CountDownLatch</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.SafePointZigZagLatch.html#line.1614">safePointReleasedLatch</a></pre>
 <div class="block">Latch to wait on.  Will be released when we can proceed.</div>
 </li>
 </ul>
@@ -266,7 +266,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>FSHLog.SafePointZigZagLatch</h4>
-<pre><a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.SafePointZigZagLatch.html#line.1594">FSHLog.SafePointZigZagLatch</a>()</pre>
+<pre><a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.SafePointZigZagLatch.html#line.1606">FSHLog.SafePointZigZagLatch</a>()</pre>
 </li>
 </ul>
 </li>
@@ -283,7 +283,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>waitSafePoint</h4>
-<pre><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/SyncFuture.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SyncFuture</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.SafePointZigZagLatch.html#line.1614">waitSafePoint</a>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/SyncFuture.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SyncFuture</a>&nbsp;syncFuture)
+<pre><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/SyncFuture.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SyncFuture</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.SafePointZigZagLatch.html#line.1626">waitSafePoint</a>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/SyncFuture.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SyncFuture</a>&nbsp;syncFuture)
                    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>,
                           <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/FailedSyncBeforeLogCloseException.html" title="class in org.apache.hadoop.hbase.regionserver.wal">FailedSyncBeforeLogCloseException</a></pre>
 <div class="block">For Thread A to call when it is ready to wait on the 'safe point' to be attained.
@@ -303,7 +303,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>safePointAttained</h4>
-<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.SafePointZigZagLatch.html#line.1631">safePointAttained</a>()
+<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.SafePointZigZagLatch.html#line.1643">safePointAttained</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">Called by Thread B when it attains the 'safe point'.  In this method, Thread B signals
  Thread A it can proceed. Thread B will be held in here until <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/FSHLog.SafePointZigZagLatch.html#releaseSafePoint()"><code>releaseSafePoint()</code></a>
@@ -318,7 +318,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>releaseSafePoint</h4>
-<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.SafePointZigZagLatch.html#line.1640">releaseSafePoint</a>()</pre>
+<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.SafePointZigZagLatch.html#line.1652">releaseSafePoint</a>()</pre>
 <div class="block">Called by Thread A when it is done with the work it needs to do while Thread B is
  halted.  This will release the Thread B held in a call to <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/FSHLog.SafePointZigZagLatch.html#safePointAttained()"><code>safePointAttained()</code></a></div>
 </li>
@@ -329,7 +329,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>isCocked</h4>
-<pre>boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.SafePointZigZagLatch.html#line.1647">isCocked</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.SafePointZigZagLatch.html#line.1659">isCocked</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>True is this is a 'cocked', fresh instance, and not one that has already fired.</dd></dl>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/regionserver/wal/FSHLog.SyncRunner.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/FSHLog.SyncRunner.html b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/FSHLog.SyncRunner.html
index 7adb767..3e06da1 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/FSHLog.SyncRunner.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/FSHLog.SyncRunner.html
@@ -108,7 +108,7 @@
 </dl>
 <hr>
 <br>
-<pre>private class <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1115">FSHLog.SyncRunner</a>
+<pre>private class <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1127">FSHLog.SyncRunner</a>
 extends <a href="../../../../../../org/apache/hadoop/hbase/util/HasThread.html" title="class in org.apache.hadoop.hbase.util">HasThread</a></pre>
 <div class="block">Thread to runs the hdfs sync call. This call takes a while to complete.  This is the longest
  pole adding edits to the WAL and this must complete to be sure all edits persisted.  We run
@@ -248,7 +248,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/util/HasThread.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>sequence</h4>
-<pre>private volatile&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.SyncRunner.html#line.1116">sequence</a></pre>
+<pre>private volatile&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.SyncRunner.html#line.1128">sequence</a></pre>
 </li>
 </ul>
 <a name="syncFutures">
@@ -257,7 +257,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/util/HasThread.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>syncFutures</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/BlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">BlockingQueue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/SyncFuture.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SyncFuture</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.SyncRunner.html#line.1118">syncFutures</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/BlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">BlockingQueue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/SyncFuture.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SyncFuture</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.SyncRunner.html#line.1130">syncFutures</a></pre>
 </li>
 </ul>
 </li>
@@ -274,7 +274,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/util/HasThread.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>FSHLog.SyncRunner</h4>
-<pre><a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.SyncRunner.html#line.1130">FSHLog.SyncRunner</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><a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.SyncRunner.html#line.1142">FSHLog.SyncRunner</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,
                  int&nbsp;maxHandlersCount)</pre>
 <div class="block">UPDATE!</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>syncs</code> - the batch of calls to sync that arrived as this thread was starting; when done,
@@ -299,7 +299,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/util/HasThread.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>offer</h4>
-<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.SyncRunner.html#line.1148">offer</a>(long&nbsp;sequence,
+<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.SyncRunner.html#line.1160">offer</a>(long&nbsp;sequence,
          <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/SyncFuture.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SyncFuture</a>[]&nbsp;syncFutures,
          int&nbsp;syncFutureCount)</pre>
 </li>
@@ -310,7 +310,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/util/HasThread.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>releaseSyncFuture</h4>
-<pre>private&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.SyncRunner.html#line.1163">releaseSyncFuture</a>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/SyncFuture.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SyncFuture</a>&nbsp;syncFuture,
+<pre>private&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.SyncRunner.html#line.1175">releaseSyncFuture</a>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/SyncFuture.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SyncFuture</a>&nbsp;syncFuture,
                     long&nbsp;currentSequence,
                     <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)</pre>
 <div class="block">Release the passed <code>syncFuture</code></div>
@@ -324,7 +324,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/util/HasThread.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>releaseSyncFutures</h4>
-<pre>private&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.SyncRunner.html#line.1176">releaseSyncFutures</a>(long&nbsp;currentSequence,
+<pre>private&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.SyncRunner.html#line.1188">releaseSyncFutures</a>(long&nbsp;currentSequence,
                      <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)</pre>
 <div class="block">Release all SyncFutures whose sequence is <= <code>currentSequence</code>.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>currentSequence</code> - </dd><dd><code>t</code> - May be non-null if we are processing SyncFutures because an exception was thrown.</dd>
@@ -337,7 +337,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/util/HasThread.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>updateHighestSyncedSequence</h4>
-<pre>private&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.SyncRunner.html#line.1193">updateHighestSyncedSequence</a>(long&nbsp;sequence)</pre>
+<pre>private&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.SyncRunner.html#line.1205">updateHighestSyncedSequence</a>(long&nbsp;sequence)</pre>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>sequence</code> - The sequence we ran the filesystem sync against.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>Current highest synced sequence.</dd></dl>
 </li>
@@ -348,7 +348,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/util/HasThread.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>run</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.SyncRunner.html#line.1208">run</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.SyncRunner.html#line.1220">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>


[44/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/CellCounter.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/CellCounter.html b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/CellCounter.html
index bcb6f9a..d3e03ce 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/CellCounter.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/CellCounter.html
@@ -128,186 +128,187 @@
 <span class="sourceLineNo">120</span>      try {<a name="line.120"></a>
 <span class="sourceLineNo">121</span>        context.getCounter(Counters.ROWS).increment(1);<a name="line.121"></a>
 <span class="sourceLineNo">122</span>        context.write(new Text("Total ROWS"), new IntWritable(1));<a name="line.122"></a>
-<span class="sourceLineNo">123</span><a name="line.123"></a>
-<span class="sourceLineNo">124</span>        for (Cell value : values.listCells()) {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>          currentRowKey = Bytes.toStringBinary(CellUtil.cloneRow(value));<a name="line.125"></a>
-<span class="sourceLineNo">126</span>          String thisRowFamilyName = Bytes.toStringBinary(CellUtil.cloneFamily(value));<a name="line.126"></a>
-<span class="sourceLineNo">127</span>          if (!thisRowFamilyName.equals(currentFamilyName)) {<a name="line.127"></a>
-<span class="sourceLineNo">128</span>            currentFamilyName = thisRowFamilyName;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>            context.getCounter("CF", thisRowFamilyName).increment(1);<a name="line.129"></a>
-<span class="sourceLineNo">130</span>            if (1 == context.getCounter("CF", thisRowFamilyName).getValue()) {<a name="line.130"></a>
-<span class="sourceLineNo">131</span>              context.write(new Text("Total Families Across all Rows"), new IntWritable(1));<a name="line.131"></a>
-<span class="sourceLineNo">132</span>              context.write(new Text(thisRowFamilyName), new IntWritable(1));<a name="line.132"></a>
-<span class="sourceLineNo">133</span>            }<a name="line.133"></a>
-<span class="sourceLineNo">134</span>          }<a name="line.134"></a>
-<span class="sourceLineNo">135</span>          String thisRowQualifierName = thisRowFamilyName + separator<a name="line.135"></a>
-<span class="sourceLineNo">136</span>              + Bytes.toStringBinary(CellUtil.cloneQualifier(value));<a name="line.136"></a>
-<span class="sourceLineNo">137</span>          if (!thisRowQualifierName.equals(currentQualifierName)) {<a name="line.137"></a>
-<span class="sourceLineNo">138</span>            currentQualifierName = thisRowQualifierName;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>            context.getCounter("CFQL", thisRowQualifierName).increment(1);<a name="line.139"></a>
-<span class="sourceLineNo">140</span>            context.write(new Text("Total Qualifiers across all Rows"),<a name="line.140"></a>
-<span class="sourceLineNo">141</span>              new IntWritable(1));<a name="line.141"></a>
-<span class="sourceLineNo">142</span>            context.write(new Text(thisRowQualifierName), new IntWritable(1));<a name="line.142"></a>
-<span class="sourceLineNo">143</span>            // Intialize versions<a name="line.143"></a>
-<span class="sourceLineNo">144</span>            context.getCounter("QL_VERSIONS", currentRowKey + separator +<a name="line.144"></a>
-<span class="sourceLineNo">145</span>              thisRowQualifierName).increment(1);<a name="line.145"></a>
-<span class="sourceLineNo">146</span>            context.write(new Text(currentRowKey + separator<a name="line.146"></a>
-<span class="sourceLineNo">147</span>                + thisRowQualifierName + "_Versions"), new IntWritable(1));<a name="line.147"></a>
+<span class="sourceLineNo">123</span>        if (values != null &amp;&amp; !values.isEmpty()) {<a name="line.123"></a>
+<span class="sourceLineNo">124</span>          for (Cell value : values.listCells()) {<a name="line.124"></a>
+<span class="sourceLineNo">125</span>            currentRowKey = Bytes.toStringBinary(CellUtil.cloneRow(value));<a name="line.125"></a>
+<span class="sourceLineNo">126</span>            String thisRowFamilyName = Bytes.toStringBinary(CellUtil.cloneFamily(value));<a name="line.126"></a>
+<span class="sourceLineNo">127</span>            if (!thisRowFamilyName.equals(currentFamilyName)) {<a name="line.127"></a>
+<span class="sourceLineNo">128</span>              currentFamilyName = thisRowFamilyName;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>              context.getCounter("CF", thisRowFamilyName).increment(1);<a name="line.129"></a>
+<span class="sourceLineNo">130</span>              if (1 == context.getCounter("CF", thisRowFamilyName).getValue()) {<a name="line.130"></a>
+<span class="sourceLineNo">131</span>                context.write(new Text("Total Families Across all Rows"), new IntWritable(1));<a name="line.131"></a>
+<span class="sourceLineNo">132</span>                context.write(new Text(thisRowFamilyName), new IntWritable(1));<a name="line.132"></a>
+<span class="sourceLineNo">133</span>              }<a name="line.133"></a>
+<span class="sourceLineNo">134</span>            }<a name="line.134"></a>
+<span class="sourceLineNo">135</span>            String thisRowQualifierName = thisRowFamilyName + separator<a name="line.135"></a>
+<span class="sourceLineNo">136</span>                + Bytes.toStringBinary(CellUtil.cloneQualifier(value));<a name="line.136"></a>
+<span class="sourceLineNo">137</span>            if (!thisRowQualifierName.equals(currentQualifierName)) {<a name="line.137"></a>
+<span class="sourceLineNo">138</span>              currentQualifierName = thisRowQualifierName;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>              context.getCounter("CFQL", thisRowQualifierName).increment(1);<a name="line.139"></a>
+<span class="sourceLineNo">140</span>              context.write(new Text("Total Qualifiers across all Rows"),<a name="line.140"></a>
+<span class="sourceLineNo">141</span>                  new IntWritable(1));<a name="line.141"></a>
+<span class="sourceLineNo">142</span>              context.write(new Text(thisRowQualifierName), new IntWritable(1));<a name="line.142"></a>
+<span class="sourceLineNo">143</span>              // Intialize versions<a name="line.143"></a>
+<span class="sourceLineNo">144</span>              context.getCounter("QL_VERSIONS", currentRowKey + separator +<a name="line.144"></a>
+<span class="sourceLineNo">145</span>                  thisRowQualifierName).increment(1);<a name="line.145"></a>
+<span class="sourceLineNo">146</span>              context.write(new Text(currentRowKey + separator<a name="line.146"></a>
+<span class="sourceLineNo">147</span>                  + thisRowQualifierName + "_Versions"), new IntWritable(1));<a name="line.147"></a>
 <span class="sourceLineNo">148</span><a name="line.148"></a>
-<span class="sourceLineNo">149</span>          } else {<a name="line.149"></a>
-<span class="sourceLineNo">150</span>            // Increment versions<a name="line.150"></a>
-<span class="sourceLineNo">151</span>            currentQualifierName = thisRowQualifierName;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>            context.getCounter("QL_VERSIONS", currentRowKey + separator +<a name="line.152"></a>
-<span class="sourceLineNo">153</span>              thisRowQualifierName).increment(1);<a name="line.153"></a>
-<span class="sourceLineNo">154</span>            context.write(new Text(currentRowKey + separator<a name="line.154"></a>
-<span class="sourceLineNo">155</span>                + thisRowQualifierName + "_Versions"), new IntWritable(1));<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>      } catch (InterruptedException e) {<a name="line.158"></a>
-<span class="sourceLineNo">159</span>        e.printStackTrace();<a name="line.159"></a>
-<span class="sourceLineNo">160</span>      }<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    }<a name="line.161"></a>
-<span class="sourceLineNo">162</span>  }<a name="line.162"></a>
-<span class="sourceLineNo">163</span><a name="line.163"></a>
-<span class="sourceLineNo">164</span>  static class IntSumReducer&lt;Key&gt; extends Reducer&lt;Key, IntWritable,<a name="line.164"></a>
-<span class="sourceLineNo">165</span>      Key, IntWritable&gt; {<a name="line.165"></a>
-<span class="sourceLineNo">166</span><a name="line.166"></a>
-<span class="sourceLineNo">167</span>    private IntWritable result = new IntWritable();<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    public void reduce(Key key, Iterable&lt;IntWritable&gt; values,<a name="line.168"></a>
-<span class="sourceLineNo">169</span>      Context context)<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    throws IOException, InterruptedException {<a name="line.170"></a>
-<span class="sourceLineNo">171</span>      int sum = 0;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>      for (IntWritable val : values) {<a name="line.172"></a>
-<span class="sourceLineNo">173</span>        sum += val.get();<a name="line.173"></a>
-<span class="sourceLineNo">174</span>      }<a name="line.174"></a>
-<span class="sourceLineNo">175</span>      result.set(sum);<a name="line.175"></a>
-<span class="sourceLineNo">176</span>      context.write(key, result);<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    }<a name="line.177"></a>
-<span class="sourceLineNo">178</span>  }<a name="line.178"></a>
-<span class="sourceLineNo">179</span><a name="line.179"></a>
-<span class="sourceLineNo">180</span>  /**<a name="line.180"></a>
-<span class="sourceLineNo">181</span>   * Sets up the actual job.<a name="line.181"></a>
-<span class="sourceLineNo">182</span>   *<a name="line.182"></a>
-<span class="sourceLineNo">183</span>   * @param conf The current configuration.<a name="line.183"></a>
-<span class="sourceLineNo">184</span>   * @param args The command line parameters.<a name="line.184"></a>
-<span class="sourceLineNo">185</span>   * @return The newly created job.<a name="line.185"></a>
-<span class="sourceLineNo">186</span>   * @throws IOException When setting up the job fails.<a name="line.186"></a>
-<span class="sourceLineNo">187</span>   */<a name="line.187"></a>
-<span class="sourceLineNo">188</span>  public static Job createSubmittableJob(Configuration conf, String[] args)<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      throws IOException {<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    String tableName = args[0];<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    Path outputDir = new Path(args[1]);<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    String reportSeparatorString = (args.length &gt; 2) ? args[2]: ":";<a name="line.192"></a>
-<span class="sourceLineNo">193</span>    conf.set("ReportSeparator", reportSeparatorString);<a name="line.193"></a>
-<span class="sourceLineNo">194</span>    Job job = Job.getInstance(conf, conf.get(JOB_NAME_CONF_KEY, NAME + "_" + tableName));<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    job.setJarByClass(CellCounter.class);<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    Scan scan = getConfiguredScanForJob(conf, args);<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    TableMapReduceUtil.initTableMapperJob(tableName, scan,<a name="line.197"></a>
-<span class="sourceLineNo">198</span>        CellCounterMapper.class, ImmutableBytesWritable.class, Result.class, job);<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    job.setNumReduceTasks(1);<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    job.setMapOutputKeyClass(Text.class);<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    job.setMapOutputValueClass(IntWritable.class);<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    job.setOutputFormatClass(TextOutputFormat.class);<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    job.setOutputKeyClass(Text.class);<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    job.setOutputValueClass(IntWritable.class);<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    FileOutputFormat.setOutputPath(job, outputDir);<a name="line.205"></a>
-<span class="sourceLineNo">206</span>    job.setReducerClass(IntSumReducer.class);<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    return job;<a name="line.207"></a>
-<span class="sourceLineNo">208</span>  }<a name="line.208"></a>
-<span class="sourceLineNo">209</span><a name="line.209"></a>
-<span class="sourceLineNo">210</span>  private static Scan getConfiguredScanForJob(Configuration conf, String[] args) throws IOException {<a name="line.210"></a>
-<span class="sourceLineNo">211</span>    Scan s = new Scan();<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    // Set Scan Versions<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    s.setMaxVersions(Integer.MAX_VALUE);<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    s.setCacheBlocks(false);<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    // Set Scan Column Family<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    if (conf.get(TableInputFormat.SCAN_COLUMN_FAMILY) != null) {<a name="line.216"></a>
-<span class="sourceLineNo">217</span>      s.addFamily(Bytes.toBytes(conf.get(TableInputFormat.SCAN_COLUMN_FAMILY)));<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    }<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    // Set RowFilter or Prefix Filter if applicable.<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    Filter rowFilter = getRowFilter(args);<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    if (rowFilter!= null) {<a name="line.221"></a>
-<span class="sourceLineNo">222</span>      LOG.info("Setting Row Filter for counter.");<a name="line.222"></a>
-<span class="sourceLineNo">223</span>      s.setFilter(rowFilter);<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    }<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    // Set TimeRange if defined<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    long timeRange[] = getTimeRange(args);<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    if (timeRange != null) {<a name="line.227"></a>
-<span class="sourceLineNo">228</span>      LOG.info("Setting TimeRange for counter.");<a name="line.228"></a>
-<span class="sourceLineNo">229</span>      s.setTimeRange(timeRange[0], timeRange[1]);<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    }<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    return s;<a name="line.231"></a>
-<span class="sourceLineNo">232</span>  }<a name="line.232"></a>
-<span class="sourceLineNo">233</span><a name="line.233"></a>
+<span class="sourceLineNo">149</span>            } else {<a name="line.149"></a>
+<span class="sourceLineNo">150</span>              // Increment versions<a name="line.150"></a>
+<span class="sourceLineNo">151</span>              currentQualifierName = thisRowQualifierName;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>              context.getCounter("QL_VERSIONS", currentRowKey + separator +<a name="line.152"></a>
+<span class="sourceLineNo">153</span>                  thisRowQualifierName).increment(1);<a name="line.153"></a>
+<span class="sourceLineNo">154</span>              context.write(new Text(currentRowKey + separator<a name="line.154"></a>
+<span class="sourceLineNo">155</span>                  + thisRowQualifierName + "_Versions"), new IntWritable(1));<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>        }<a name="line.158"></a>
+<span class="sourceLineNo">159</span>      } catch (InterruptedException e) {<a name="line.159"></a>
+<span class="sourceLineNo">160</span>        e.printStackTrace();<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>  }<a name="line.163"></a>
+<span class="sourceLineNo">164</span><a name="line.164"></a>
+<span class="sourceLineNo">165</span>  static class IntSumReducer&lt;Key&gt; extends Reducer&lt;Key, IntWritable,<a name="line.165"></a>
+<span class="sourceLineNo">166</span>      Key, IntWritable&gt; {<a name="line.166"></a>
+<span class="sourceLineNo">167</span><a name="line.167"></a>
+<span class="sourceLineNo">168</span>    private IntWritable result = new IntWritable();<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    public void reduce(Key key, Iterable&lt;IntWritable&gt; values,<a name="line.169"></a>
+<span class="sourceLineNo">170</span>      Context context)<a name="line.170"></a>
+<span class="sourceLineNo">171</span>    throws IOException, InterruptedException {<a name="line.171"></a>
+<span class="sourceLineNo">172</span>      int sum = 0;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>      for (IntWritable val : values) {<a name="line.173"></a>
+<span class="sourceLineNo">174</span>        sum += val.get();<a name="line.174"></a>
+<span class="sourceLineNo">175</span>      }<a name="line.175"></a>
+<span class="sourceLineNo">176</span>      result.set(sum);<a name="line.176"></a>
+<span class="sourceLineNo">177</span>      context.write(key, result);<a name="line.177"></a>
+<span class="sourceLineNo">178</span>    }<a name="line.178"></a>
+<span class="sourceLineNo">179</span>  }<a name="line.179"></a>
+<span class="sourceLineNo">180</span><a name="line.180"></a>
+<span class="sourceLineNo">181</span>  /**<a name="line.181"></a>
+<span class="sourceLineNo">182</span>   * Sets up the actual job.<a name="line.182"></a>
+<span class="sourceLineNo">183</span>   *<a name="line.183"></a>
+<span class="sourceLineNo">184</span>   * @param conf The current configuration.<a name="line.184"></a>
+<span class="sourceLineNo">185</span>   * @param args The command line parameters.<a name="line.185"></a>
+<span class="sourceLineNo">186</span>   * @return The newly created job.<a name="line.186"></a>
+<span class="sourceLineNo">187</span>   * @throws IOException When setting up the job fails.<a name="line.187"></a>
+<span class="sourceLineNo">188</span>   */<a name="line.188"></a>
+<span class="sourceLineNo">189</span>  public static Job createSubmittableJob(Configuration conf, String[] args)<a name="line.189"></a>
+<span class="sourceLineNo">190</span>      throws IOException {<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    String tableName = args[0];<a name="line.191"></a>
+<span class="sourceLineNo">192</span>    Path outputDir = new Path(args[1]);<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    String reportSeparatorString = (args.length &gt; 2) ? args[2]: ":";<a name="line.193"></a>
+<span class="sourceLineNo">194</span>    conf.set("ReportSeparator", reportSeparatorString);<a name="line.194"></a>
+<span class="sourceLineNo">195</span>    Job job = Job.getInstance(conf, conf.get(JOB_NAME_CONF_KEY, NAME + "_" + tableName));<a name="line.195"></a>
+<span class="sourceLineNo">196</span>    job.setJarByClass(CellCounter.class);<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    Scan scan = getConfiguredScanForJob(conf, args);<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    TableMapReduceUtil.initTableMapperJob(tableName, scan,<a name="line.198"></a>
+<span class="sourceLineNo">199</span>        CellCounterMapper.class, ImmutableBytesWritable.class, Result.class, job);<a name="line.199"></a>
+<span class="sourceLineNo">200</span>    job.setNumReduceTasks(1);<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    job.setMapOutputKeyClass(Text.class);<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    job.setMapOutputValueClass(IntWritable.class);<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    job.setOutputFormatClass(TextOutputFormat.class);<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    job.setOutputKeyClass(Text.class);<a name="line.204"></a>
+<span class="sourceLineNo">205</span>    job.setOutputValueClass(IntWritable.class);<a name="line.205"></a>
+<span class="sourceLineNo">206</span>    FileOutputFormat.setOutputPath(job, outputDir);<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    job.setReducerClass(IntSumReducer.class);<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    return job;<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  }<a name="line.209"></a>
+<span class="sourceLineNo">210</span><a name="line.210"></a>
+<span class="sourceLineNo">211</span>  private static Scan getConfiguredScanForJob(Configuration conf, String[] args) throws IOException {<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    Scan s = new Scan();<a name="line.212"></a>
+<span class="sourceLineNo">213</span>    // Set Scan Versions<a name="line.213"></a>
+<span class="sourceLineNo">214</span>    s.setMaxVersions(Integer.MAX_VALUE);<a name="line.214"></a>
+<span class="sourceLineNo">215</span>    s.setCacheBlocks(false);<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    // Set Scan Column Family<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    if (conf.get(TableInputFormat.SCAN_COLUMN_FAMILY) != null) {<a name="line.217"></a>
+<span class="sourceLineNo">218</span>      s.addFamily(Bytes.toBytes(conf.get(TableInputFormat.SCAN_COLUMN_FAMILY)));<a name="line.218"></a>
+<span class="sourceLineNo">219</span>    }<a name="line.219"></a>
+<span class="sourceLineNo">220</span>    // Set RowFilter or Prefix Filter if applicable.<a name="line.220"></a>
+<span class="sourceLineNo">221</span>    Filter rowFilter = getRowFilter(args);<a name="line.221"></a>
+<span class="sourceLineNo">222</span>    if (rowFilter!= null) {<a name="line.222"></a>
+<span class="sourceLineNo">223</span>      LOG.info("Setting Row Filter for counter.");<a name="line.223"></a>
+<span class="sourceLineNo">224</span>      s.setFilter(rowFilter);<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    }<a name="line.225"></a>
+<span class="sourceLineNo">226</span>    // Set TimeRange if defined<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    long timeRange[] = getTimeRange(args);<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    if (timeRange != null) {<a name="line.228"></a>
+<span class="sourceLineNo">229</span>      LOG.info("Setting TimeRange for counter.");<a name="line.229"></a>
+<span class="sourceLineNo">230</span>      s.setTimeRange(timeRange[0], timeRange[1]);<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    }<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    return s;<a name="line.232"></a>
+<span class="sourceLineNo">233</span>  }<a name="line.233"></a>
 <span class="sourceLineNo">234</span><a name="line.234"></a>
-<span class="sourceLineNo">235</span>  private static Filter getRowFilter(String[] args) {<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    Filter rowFilter = null;<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    String filterCriteria = (args.length &gt; 3) ? args[3]: null;<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    if (filterCriteria == null) return null;<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    if (filterCriteria.startsWith("^")) {<a name="line.239"></a>
-<span class="sourceLineNo">240</span>      String regexPattern = filterCriteria.substring(1, filterCriteria.length());<a name="line.240"></a>
-<span class="sourceLineNo">241</span>      rowFilter = new RowFilter(CompareFilter.CompareOp.EQUAL, new RegexStringComparator(regexPattern));<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    } else {<a name="line.242"></a>
-<span class="sourceLineNo">243</span>      rowFilter = new PrefixFilter(Bytes.toBytes(filterCriteria));<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    }<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    return rowFilter;<a name="line.245"></a>
-<span class="sourceLineNo">246</span>  }<a name="line.246"></a>
-<span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>  private static long[] getTimeRange(String[] args) throws IOException {<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    final String startTimeArgKey = "--starttime=";<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    final String endTimeArgKey = "--endtime=";<a name="line.250"></a>
-<span class="sourceLineNo">251</span>    long startTime = 0L;<a name="line.251"></a>
-<span class="sourceLineNo">252</span>    long endTime = 0L;<a name="line.252"></a>
-<span class="sourceLineNo">253</span><a name="line.253"></a>
-<span class="sourceLineNo">254</span>    for (int i = 1; i &lt; args.length; i++) {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>      System.out.println("i:" + i + "arg[i]" + args[i]);<a name="line.255"></a>
-<span class="sourceLineNo">256</span>      if (args[i].startsWith(startTimeArgKey)) {<a name="line.256"></a>
-<span class="sourceLineNo">257</span>        startTime = Long.parseLong(args[i].substring(startTimeArgKey.length()));<a name="line.257"></a>
-<span class="sourceLineNo">258</span>      }<a name="line.258"></a>
-<span class="sourceLineNo">259</span>      if (args[i].startsWith(endTimeArgKey)) {<a name="line.259"></a>
-<span class="sourceLineNo">260</span>        endTime = Long.parseLong(args[i].substring(endTimeArgKey.length()));<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      }<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    }<a name="line.262"></a>
-<span class="sourceLineNo">263</span><a name="line.263"></a>
-<span class="sourceLineNo">264</span>    if (startTime == 0 &amp;&amp; endTime == 0)<a name="line.264"></a>
-<span class="sourceLineNo">265</span>      return null;<a name="line.265"></a>
-<span class="sourceLineNo">266</span><a name="line.266"></a>
-<span class="sourceLineNo">267</span>    endTime = endTime == 0 ? HConstants.LATEST_TIMESTAMP : endTime;<a name="line.267"></a>
-<span class="sourceLineNo">268</span>    return new long [] {startTime, endTime};<a name="line.268"></a>
-<span class="sourceLineNo">269</span>  }<a name="line.269"></a>
-<span class="sourceLineNo">270</span><a name="line.270"></a>
-<span class="sourceLineNo">271</span>  @Override<a name="line.271"></a>
-<span class="sourceLineNo">272</span>  public int run(String[] args) throws Exception {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>    if (args.length &lt; 2) {<a name="line.273"></a>
-<span class="sourceLineNo">274</span>      System.err.println("ERROR: Wrong number of parameters: " + args.length);<a name="line.274"></a>
-<span class="sourceLineNo">275</span>      System.err.println("Usage: CellCounter ");<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      System.err.println("       &lt;tablename&gt; &lt;outputDir&gt; &lt;reportSeparator&gt; [^[regex pattern] or " +<a name="line.276"></a>
-<span class="sourceLineNo">277</span>        "[Prefix] for row filter]] --starttime=[starttime] --endtime=[endtime]");<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      System.err.println("  Note: -D properties will be applied to the conf used. ");<a name="line.278"></a>
-<span class="sourceLineNo">279</span>      System.err.println("  Additionally, the following SCAN properties can be specified");<a name="line.279"></a>
-<span class="sourceLineNo">280</span>      System.err.println("  to get fine grained control on what is counted..");<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      System.err.println("   -D " + TableInputFormat.SCAN_COLUMN_FAMILY + "=&lt;familyName&gt;");<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      System.err.println(" &lt;reportSeparator&gt; parameter can be used to override the default report separator " +<a name="line.282"></a>
-<span class="sourceLineNo">283</span>          "string : used to separate the rowId/column family name and qualifier name.");<a name="line.283"></a>
-<span class="sourceLineNo">284</span>      System.err.println(" [^[regex pattern] or [Prefix] parameter can be used to limit the cell counter count " +<a name="line.284"></a>
-<span class="sourceLineNo">285</span>          "operation to a limited subset of rows from the table based on regex or prefix pattern.");<a name="line.285"></a>
-<span class="sourceLineNo">286</span>      return -1;<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    }<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    Job job = createSubmittableJob(getConf(), args);<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    return (job.waitForCompletion(true) ? 0 : 1);<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>   * Main entry point.<a name="line.293"></a>
-<span class="sourceLineNo">294</span>   * @param args The command line parameters.<a name="line.294"></a>
-<span class="sourceLineNo">295</span>   * @throws Exception When running the job fails.<a name="line.295"></a>
-<span class="sourceLineNo">296</span>   */<a name="line.296"></a>
-<span class="sourceLineNo">297</span>  public static void main(String[] args) throws Exception {<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    int errCode = ToolRunner.run(HBaseConfiguration.create(), new CellCounter(), args);<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    System.exit(errCode);<a name="line.299"></a>
-<span class="sourceLineNo">300</span>  }<a name="line.300"></a>
-<span class="sourceLineNo">301</span><a name="line.301"></a>
-<span class="sourceLineNo">302</span>}<a name="line.302"></a>
+<span class="sourceLineNo">235</span><a name="line.235"></a>
+<span class="sourceLineNo">236</span>  private static Filter getRowFilter(String[] args) {<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    Filter rowFilter = null;<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    String filterCriteria = (args.length &gt; 3) ? args[3]: null;<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    if (filterCriteria == null) return null;<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    if (filterCriteria.startsWith("^")) {<a name="line.240"></a>
+<span class="sourceLineNo">241</span>      String regexPattern = filterCriteria.substring(1, filterCriteria.length());<a name="line.241"></a>
+<span class="sourceLineNo">242</span>      rowFilter = new RowFilter(CompareFilter.CompareOp.EQUAL, new RegexStringComparator(regexPattern));<a name="line.242"></a>
+<span class="sourceLineNo">243</span>    } else {<a name="line.243"></a>
+<span class="sourceLineNo">244</span>      rowFilter = new PrefixFilter(Bytes.toBytes(filterCriteria));<a name="line.244"></a>
+<span class="sourceLineNo">245</span>    }<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    return rowFilter;<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  }<a name="line.247"></a>
+<span class="sourceLineNo">248</span><a name="line.248"></a>
+<span class="sourceLineNo">249</span>  private static long[] getTimeRange(String[] args) throws IOException {<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    final String startTimeArgKey = "--starttime=";<a name="line.250"></a>
+<span class="sourceLineNo">251</span>    final String endTimeArgKey = "--endtime=";<a name="line.251"></a>
+<span class="sourceLineNo">252</span>    long startTime = 0L;<a name="line.252"></a>
+<span class="sourceLineNo">253</span>    long endTime = 0L;<a name="line.253"></a>
+<span class="sourceLineNo">254</span><a name="line.254"></a>
+<span class="sourceLineNo">255</span>    for (int i = 1; i &lt; args.length; i++) {<a name="line.255"></a>
+<span class="sourceLineNo">256</span>      System.out.println("i:" + i + "arg[i]" + args[i]);<a name="line.256"></a>
+<span class="sourceLineNo">257</span>      if (args[i].startsWith(startTimeArgKey)) {<a name="line.257"></a>
+<span class="sourceLineNo">258</span>        startTime = Long.parseLong(args[i].substring(startTimeArgKey.length()));<a name="line.258"></a>
+<span class="sourceLineNo">259</span>      }<a name="line.259"></a>
+<span class="sourceLineNo">260</span>      if (args[i].startsWith(endTimeArgKey)) {<a name="line.260"></a>
+<span class="sourceLineNo">261</span>        endTime = Long.parseLong(args[i].substring(endTimeArgKey.length()));<a name="line.261"></a>
+<span class="sourceLineNo">262</span>      }<a name="line.262"></a>
+<span class="sourceLineNo">263</span>    }<a name="line.263"></a>
+<span class="sourceLineNo">264</span><a name="line.264"></a>
+<span class="sourceLineNo">265</span>    if (startTime == 0 &amp;&amp; endTime == 0)<a name="line.265"></a>
+<span class="sourceLineNo">266</span>      return null;<a name="line.266"></a>
+<span class="sourceLineNo">267</span><a name="line.267"></a>
+<span class="sourceLineNo">268</span>    endTime = endTime == 0 ? HConstants.LATEST_TIMESTAMP : endTime;<a name="line.268"></a>
+<span class="sourceLineNo">269</span>    return new long [] {startTime, endTime};<a name="line.269"></a>
+<span class="sourceLineNo">270</span>  }<a name="line.270"></a>
+<span class="sourceLineNo">271</span><a name="line.271"></a>
+<span class="sourceLineNo">272</span>  @Override<a name="line.272"></a>
+<span class="sourceLineNo">273</span>  public int run(String[] args) throws Exception {<a name="line.273"></a>
+<span class="sourceLineNo">274</span>    if (args.length &lt; 2) {<a name="line.274"></a>
+<span class="sourceLineNo">275</span>      System.err.println("ERROR: Wrong number of parameters: " + args.length);<a name="line.275"></a>
+<span class="sourceLineNo">276</span>      System.err.println("Usage: CellCounter ");<a name="line.276"></a>
+<span class="sourceLineNo">277</span>      System.err.println("       &lt;tablename&gt; &lt;outputDir&gt; &lt;reportSeparator&gt; [^[regex pattern] or " +<a name="line.277"></a>
+<span class="sourceLineNo">278</span>        "[Prefix] for row filter]] --starttime=[starttime] --endtime=[endtime]");<a name="line.278"></a>
+<span class="sourceLineNo">279</span>      System.err.println("  Note: -D properties will be applied to the conf used. ");<a name="line.279"></a>
+<span class="sourceLineNo">280</span>      System.err.println("  Additionally, the following SCAN properties can be specified");<a name="line.280"></a>
+<span class="sourceLineNo">281</span>      System.err.println("  to get fine grained control on what is counted..");<a name="line.281"></a>
+<span class="sourceLineNo">282</span>      System.err.println("   -D " + TableInputFormat.SCAN_COLUMN_FAMILY + "=&lt;familyName&gt;");<a name="line.282"></a>
+<span class="sourceLineNo">283</span>      System.err.println(" &lt;reportSeparator&gt; parameter can be used to override the default report separator " +<a name="line.283"></a>
+<span class="sourceLineNo">284</span>          "string : used to separate the rowId/column family name and qualifier name.");<a name="line.284"></a>
+<span class="sourceLineNo">285</span>      System.err.println(" [^[regex pattern] or [Prefix] parameter can be used to limit the cell counter count " +<a name="line.285"></a>
+<span class="sourceLineNo">286</span>          "operation to a limited subset of rows from the table based on regex or prefix pattern.");<a name="line.286"></a>
+<span class="sourceLineNo">287</span>      return -1;<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    }<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    Job job = createSubmittableJob(getConf(), args);<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    return (job.waitForCompletion(true) ? 0 : 1);<a name="line.290"></a>
+<span class="sourceLineNo">291</span>  }<a name="line.291"></a>
+<span class="sourceLineNo">292</span><a name="line.292"></a>
+<span class="sourceLineNo">293</span>  /**<a name="line.293"></a>
+<span class="sourceLineNo">294</span>   * Main entry point.<a name="line.294"></a>
+<span class="sourceLineNo">295</span>   * @param args The command line parameters.<a name="line.295"></a>
+<span class="sourceLineNo">296</span>   * @throws Exception When running the job fails.<a name="line.296"></a>
+<span class="sourceLineNo">297</span>   */<a name="line.297"></a>
+<span class="sourceLineNo">298</span>  public static void main(String[] args) throws Exception {<a name="line.298"></a>
+<span class="sourceLineNo">299</span>    int errCode = ToolRunner.run(HBaseConfiguration.create(), new CellCounter(), args);<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    System.exit(errCode);<a name="line.300"></a>
+<span class="sourceLineNo">301</span>  }<a name="line.301"></a>
+<span class="sourceLineNo">302</span><a name="line.302"></a>
+<span class="sourceLineNo">303</span>}<a name="line.303"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/book.html
----------------------------------------------------------------------
diff --git a/book.html b/book.html
index 02adb7a..3c65466 100644
--- a/book.html
+++ b/book.html
@@ -23,7 +23,7 @@
 <div id="toctitle">Contents</div>
 <ul class="sectlevel1">
 <li><a href="#_preface">Preface</a></li>
-<li><a href="#_getting_started">Getting Started</a>
+<li><a href="#getting_started">Getting Started</a>
 <ul class="sectlevel1">
 <li><a href="#_introduction">1. Introduction</a></li>
 <li><a href="#quickstart">2. Quick Start - Standalone HBase</a></li>
@@ -361,9 +361,61 @@ Yours, the HBase Community.</p>
 <div class="paragraph">
 <p>To protect existing HBase installations from new vulnerabilities, please <strong>do not</strong> use JIRA to report security-related bugs. Instead, send your report to the mailing list <a href="mailto:private@apache.org">private@apache.org</a>, which allows anyone to send messages, but restricts who can read them. Someone on that list will contact you to follow up on your report.</p>
 </div>
+<div class="paragraph">
+<div class="title">Support and Testing Expectations</div>
+<p>The phrases /supported/, /not supported/, /tested/, and /not tested/ occur several
+places throughout this guide. In the interest of clarity, here is a brief explanation
+of what is generally meant by these phrases, in the context of HBase.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+Commercial technical support for Apache HBase is provided by many Hadoop vendors.
+This is not the sense in which the term /support/ is used in the context of the
+Apache HBase project. The Apache HBase team assumes no responsibility for your
+HBase clusters, your configuration, or your data.
+</td>
+</tr>
+</table>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Supported</dt>
+<dd>
+<p>In the context of Apache HBase, /supported/ means that HBase is designed to work
+in the way described, and deviation from the defined behavior or functionality should
+be reported as a bug.</p>
+</dd>
+<dt class="hdlist1">Not Supported</dt>
+<dd>
+<p>In the context of Apache HBase, /not supported/ means that a use case or use pattern
+is not expected to work and should be considered an antipattern. If you think this
+designation should be reconsidered for a given feature or use pattern, file a JIRA
+or start a discussion on one of the mailing lists.</p>
+</dd>
+<dt class="hdlist1">Tested</dt>
+<dd>
+<p>In the context of Apache HBase, /tested/ means that a feature is covered by unit
+or integration tests, and has been proven to work as expected.</p>
+</dd>
+<dt class="hdlist1">Not Tested</dt>
+<dd>
+<p>In the context of Apache HBase, /not tested/ means that a feature or use pattern
+may or may notwork in a given way, and may or may not corrupt your data or cause
+operational issues. It is an unknown, and there are no guarantees. If you can provide
+proof that a feature designated as /not tested/ does work in a given way, please
+submit the tests and/or the metrics so that other users can gain certainty about
+such features or use patterns.</p>
+</dd>
+</dl>
+</div>
 </div>
 </div>
-<h1 id="_getting_started" class="sect0"><a class="anchor" href="#_getting_started"></a>Getting Started</h1>
+<h1 id="getting_started" class="sect0"><a class="anchor" href="#getting_started"></a>Getting Started</h1>
 <div class="sect1">
 <h2 id="_introduction"><a class="anchor" href="#_introduction"></a>1. Introduction</h2>
 <div class="sectionbody">
@@ -1244,8 +1296,10 @@ Still, you can test what happens when the primary Master or a RegionServer disap
 <h1 id="configuration" class="sect0"><a class="anchor" href="#configuration"></a>Apache HBase Configuration</h1>
 <div class="openblock partintro">
 <div class="content">
-This chapter expands upon the <a href="#getting_started">[getting_started]</a> chapter to further explain configuration of Apache HBase.
-Please read this chapter carefully, especially the <a href="#basic.prerequisites">Basic Prerequisites</a> to ensure that your HBase testing and deployment goes smoothly, and prevent data loss.
+This chapter expands upon the <a href="#getting_started">Getting Started</a> chapter to further explain configuration of Apache HBase.
+Please read this chapter carefully, especially the <a href="#basic.prerequisites">Basic Prerequisites</a>
+to ensure that your HBase testing and deployment goes smoothly, and prevent data loss.
+Familiarize yourself with <a href="#hbase_supported_tested_definitions">[hbase_supported_tested_definitions]</a> as well.
 </div>
 </div>
 <div class="sect1">
@@ -5723,7 +5777,7 @@ It may be possible to skip across versions&#8201;&#8212;&#8201;for example go fr
 </table>
 </div>
 <div class="paragraph">
-<p>Review <a href="#configuration">Apache HBase Configuration</a>, in particular <a href="#hadoop"><a href="http://hadoop.apache.org">Hadoop</a></a>.</p>
+<p>Review <a href="#configuration">Apache HBase Configuration</a>, in particular <a href="#hadoop"><a href="http://hadoop.apache.org">Hadoop</a></a>. Familiarize yourself with <a href="#hbase_supported_tested_definitions">[hbase_supported_tested_definitions]</a>.</p>
 </div>
 </div>
 </div>
@@ -33005,7 +33059,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-29 14:48:00 UTC
+Last updated 2016-02-01 14:47:10 UTC
 </div>
 </div>
 </body>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/bulk-loads.html
----------------------------------------------------------------------
diff --git a/bulk-loads.html b/bulk-loads.html
index 0f3a8c8..b4e0ed3 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="20160129" />
+    <meta name="Date-Revision-yyyymmdd" content="20160201" />
     <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-29</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-01</li>
             </p>
                 </div>
 


[36/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/filter/class-use/ByteArrayComparable.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/class-use/ByteArrayComparable.html b/devapidocs/org/apache/hadoop/hbase/filter/class-use/ByteArrayComparable.html
index 7319b96..e95907b 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/class-use/ByteArrayComparable.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/class-use/ByteArrayComparable.html
@@ -592,8 +592,8 @@
                             <a href="../../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator,
                             <a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
                             boolean&nbsp;writeToWAL)</code>
-<div class="block">Atomically checks if a row/family/qualifier value matches the expected val
- If it does, it performs the row mutations.</div>
+<div class="block">Atomically checks if a row/family/qualifier value matches the expected value and if it does,
+ it performs the mutation.</div>
 </td>
 </tr>
 <tr class="altColor">
@@ -615,8 +615,8 @@
                                   <a href="../../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator,
                                   <a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;mutations,
                                   boolean&nbsp;writeToWAL)</code>
-<div class="block">Atomically checks if a row/family/qualifier value matches the expected val
- If it does, it performs the row mutations.</div>
+<div class="block">Atomically checks if a row/family/qualifier value matches the expected values and if it does,
+ it performs the row mutations.</div>
 </td>
 </tr>
 <tr class="altColor">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/filter/class-use/CompareFilter.CompareOp.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/class-use/CompareFilter.CompareOp.html b/devapidocs/org/apache/hadoop/hbase/filter/class-use/CompareFilter.CompareOp.html
index c8c9701..786b327 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/class-use/CompareFilter.CompareOp.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/class-use/CompareFilter.CompareOp.html
@@ -614,8 +614,8 @@ the order they are declared.</div>
                             <a href="../../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator,
                             <a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
                             boolean&nbsp;writeToWAL)</code>
-<div class="block">Atomically checks if a row/family/qualifier value matches the expected val
- If it does, it performs the row mutations.</div>
+<div class="block">Atomically checks if a row/family/qualifier value matches the expected value and if it does,
+ it performs the mutation.</div>
 </td>
 </tr>
 <tr class="altColor">
@@ -637,8 +637,8 @@ the order they are declared.</div>
                                   <a href="../../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator,
                                   <a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;mutations,
                                   boolean&nbsp;writeToWAL)</code>
-<div class="block">Atomically checks if a row/family/qualifier value matches the expected val
- If it does, it performs the row mutations.</div>
+<div class="block">Atomically checks if a row/family/qualifier value matches the expected values and if it does,
+ it performs the row mutations.</div>
 </td>
 </tr>
 <tr class="altColor">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/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 7553e65..e8ed24e 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
@@ -161,14 +161,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.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/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/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>
-<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/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/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/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/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/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/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/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>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.BlockIndexNotLoadedException.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.BlockIndexNotLoadedException.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.BlockIndexNotLoadedException.html
index 144b001..4484557 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.BlockIndexNotLoadedException.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.BlockIndexNotLoadedException.html
@@ -123,7 +123,7 @@
 </dl>
 <hr>
 <br>
-<pre>public static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.314">HFileReaderImpl.BlockIndexNotLoadedException</a>
+<pre>public static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.315">HFileReaderImpl.BlockIndexNotLoadedException</a>
 extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../serialized-form.html#org.apache.hadoop.hbase.io.hfile.HFileReaderImpl.BlockIndexNotLoadedException">Serialized Form</a></dd></dl>
 </li>
@@ -189,7 +189,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/IllegalState
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HFileReaderImpl.BlockIndexNotLoadedException</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.BlockIndexNotLoadedException.html#line.315">HFileReaderImpl.BlockIndexNotLoadedException</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.BlockIndexNotLoadedException.html#line.316">HFileReaderImpl.BlockIndexNotLoadedException</a>()</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html
index 32e4d15..67a302a 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html
@@ -108,7 +108,7 @@
 </dl>
 <hr>
 <br>
-<pre>protected static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1626">HFileReaderImpl.EncodedScanner</a>
+<pre>protected static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1627">HFileReaderImpl.EncodedScanner</a>
 extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileReaderImpl.HFileScannerImpl</a></pre>
 <div class="block">Scanner that operates on encoded data blocks.</div>
 </li>
@@ -298,7 +298,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderI
 <ul class="blockList">
 <li class="blockList">
 <h4>decodingCtx</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/HFileBlockDecodingContext.html" title="interface in org.apache.hadoop.hbase.io.encoding">HFileBlockDecodingContext</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1627">decodingCtx</a></pre>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/HFileBlockDecodingContext.html" title="interface in org.apache.hadoop.hbase.io.encoding">HFileBlockDecodingContext</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1628">decodingCtx</a></pre>
 </li>
 </ul>
 <a name="seeker">
@@ -307,7 +307,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderI
 <ul class="blockList">
 <li class="blockList">
 <h4>seeker</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.EncodedSeeker.html" title="interface in org.apache.hadoop.hbase.io.encoding">DataBlockEncoder.EncodedSeeker</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1628">seeker</a></pre>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.EncodedSeeker.html" title="interface in org.apache.hadoop.hbase.io.encoding">DataBlockEncoder.EncodedSeeker</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1629">seeker</a></pre>
 </li>
 </ul>
 <a name="dataBlockEncoder">
@@ -316,7 +316,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderI
 <ul class="blockListLast">
 <li class="blockList">
 <h4>dataBlockEncoder</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.html" title="interface in org.apache.hadoop.hbase.io.encoding">DataBlockEncoder</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1629">dataBlockEncoder</a></pre>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.html" title="interface in org.apache.hadoop.hbase.io.encoding">DataBlockEncoder</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1630">dataBlockEncoder</a></pre>
 </li>
 </ul>
 </li>
@@ -333,7 +333,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderI
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HFileReaderImpl.EncodedScanner</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1631">HFileReaderImpl.EncodedScanner</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a>&nbsp;reader,
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1632">HFileReaderImpl.EncodedScanner</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a>&nbsp;reader,
                               boolean&nbsp;cacheBlocks,
                               boolean&nbsp;pread,
                               boolean&nbsp;isCompaction,
@@ -354,7 +354,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderI
 <ul class="blockList">
 <li class="blockList">
 <h4>isSeeked</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1642">isSeeked</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1643">isSeeked</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#isSeeked()">isSeeked</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFileScanner</a></code></dd>
@@ -371,7 +371,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderI
 <ul class="blockList">
 <li class="blockList">
 <h4>setNonSeekedState</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1646">setNonSeekedState</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1647">setNonSeekedState</a>()</pre>
 <dl>
 <dt><strong>Overrides:</strong></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#setNonSeekedState()">setNonSeekedState</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileReaderImpl.HFileScannerImpl</a></code></dd>
@@ -384,7 +384,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderI
 <ul class="blockList">
 <li class="blockList">
 <h4>updateCurrentBlock</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1658">updateCurrentBlock</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a>&nbsp;newBlock)
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1659">updateCurrentBlock</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a>&nbsp;newBlock)
                            throws <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CorruptHFileException.html" title="class in org.apache.hadoop.hbase.io.hfile">CorruptHFileException</a></pre>
 <div class="block">Updates the current block to be the given <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile"><code>HFileBlock</code></a>. Seeks to
  the the first key/value pair.</div>
@@ -402,7 +402,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderI
 <ul class="blockList">
 <li class="blockList">
 <h4>getEncodedBuffer</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1680">getEncodedBuffer</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a>&nbsp;newBlock)</pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1681">getEncodedBuffer</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a>&nbsp;newBlock)</pre>
 </li>
 </ul>
 <a name="processFirstDataBlock()">
@@ -411,7 +411,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderI
 <ul class="blockList">
 <li class="blockList">
 <h4>processFirstDataBlock</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1690">processFirstDataBlock</a>()
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1691">processFirstDataBlock</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><strong>Overrides:</strong></dt>
@@ -426,7 +426,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderI
 <ul class="blockList">
 <li class="blockList">
 <h4>next</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1696">next</a>()
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1697">next</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 class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#next()">HFileReaderImpl.HFileScannerImpl</a></code></strong></div>
 <div class="block">Go to the next key/value in the block section. Loads the next block if
@@ -448,7 +448,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderI
 <ul class="blockList">
 <li class="blockList">
 <h4>getKey</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1711">getKey</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1712">getKey</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#getKey()">HFileScanner</a></code></strong></div>
 <div class="block">Gets the current key in the form of a cell. You must call
  <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#seekTo(org.apache.hadoop.hbase.Cell)"><code>HFileScanner.seekTo(Cell)</code></a> before this method.</div>
@@ -466,7 +466,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderI
 <ul class="blockList">
 <li class="blockList">
 <h4>getValue</h4>
-<pre>public&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>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1717">getValue</a>()</pre>
+<pre>public&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>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1718">getValue</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#getValue()">HFileScanner</a></code></strong></div>
 <div class="block">Gets a buffer view to the current value.  You must call
  <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#seekTo(org.apache.hadoop.hbase.Cell)"><code>HFileScanner.seekTo(Cell)</code></a> before this method.</div>
@@ -485,7 +485,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderI
 <ul class="blockList">
 <li class="blockList">
 <h4>getCell</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1723">getCell</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1724">getCell</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#getCell()">getCell</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFileScanner</a></code></dd>
@@ -500,7 +500,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderI
 <ul class="blockList">
 <li class="blockList">
 <h4>getKeyString</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/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1731">getKeyString</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/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1732">getKeyString</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#getKeyString()">HFileScanner</a></code></strong></div>
 <div class="block">Convenience method to get a copy of the key as a string - interpreting the
  bytes as UTF8. You must call <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#seekTo(org.apache.hadoop.hbase.Cell)"><code>HFileScanner.seekTo(Cell)</code></a> before this method.</div>
@@ -518,7 +518,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderI
 <ul class="blockList">
 <li class="blockList">
 <h4>getValueString</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/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1736">getValueString</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/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1737">getValueString</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#getValueString()">HFileScanner</a></code></strong></div>
 <div class="block">Convenience method to get a copy of the value as a string - interpreting
  the bytes as UTF8. You must call <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#seekTo(org.apache.hadoop.hbase.Cell)"><code>HFileScanner.seekTo(Cell)</code></a> before this method.</div>
@@ -536,7 +536,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderI
 <ul class="blockList">
 <li class="blockList">
 <h4>assertValidSeek</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1741">assertValidSeek</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1742">assertValidSeek</a>()</pre>
 </li>
 </ul>
 <a name="getFirstKeyCellInBlock(org.apache.hadoop.hbase.io.hfile.HFileBlock)">
@@ -545,7 +545,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderI
 <ul class="blockList">
 <li class="blockList">
 <h4>getFirstKeyCellInBlock</h4>
-<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1747">getFirstKeyCellInBlock</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a>&nbsp;curBlock)</pre>
+<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1748">getFirstKeyCellInBlock</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a>&nbsp;curBlock)</pre>
 <dl>
 <dt><strong>Overrides:</strong></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#getFirstKeyCellInBlock(org.apache.hadoop.hbase.io.hfile.HFileBlock)">getFirstKeyCellInBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileReaderImpl.HFileScannerImpl</a></code></dd>
@@ -558,7 +558,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderI
 <ul class="blockList">
 <li class="blockList">
 <h4>loadBlockAndSeekToKey</h4>
-<pre>protected&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1752">loadBlockAndSeekToKey</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a>&nbsp;seekToBlock,
+<pre>protected&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1753">loadBlockAndSeekToKey</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a>&nbsp;seekToBlock,
                         <a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;nextIndexedKey,
                         boolean&nbsp;rewind,
                         <a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;key,
@@ -577,7 +577,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderI
 <ul class="blockListLast">
 <li class="blockList">
 <h4>compareKey</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1764">compareKey</a>(<a href="../../../../../../org/apache/hadoop/hbase/CellComparator.html" title="class in org.apache.hadoop.hbase">CellComparator</a>&nbsp;comparator,
+<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1765">compareKey</a>(<a href="../../../../../../org/apache/hadoop/hbase/CellComparator.html" title="class in org.apache.hadoop.hbase">CellComparator</a>&nbsp;comparator,
              <a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;key)</pre>
 <dl>
 <dt><strong>Overrides:</strong></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.ShareableMemoryKeyValue.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.ShareableMemoryKeyValue.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.ShareableMemoryKeyValue.html
index 9d5a995..c69c4af 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.ShareableMemoryKeyValue.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.ShareableMemoryKeyValue.html
@@ -113,7 +113,7 @@
 </dl>
 <hr>
 <br>
-<pre>private static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1003">HFileReaderImpl.HFileScannerImpl.ShareableMemoryKeyValue</a>
+<pre>private static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1004">HFileReaderImpl.HFileScannerImpl.ShareableMemoryKeyValue</a>
 extends <a href="../../../../../../org/apache/hadoop/hbase/SizeCachedKeyValue.html" title="class in org.apache.hadoop.hbase">SizeCachedKeyValue</a>
 implements <a href="../../../../../../org/apache/hadoop/hbase/ShareableMemory.html" title="interface in org.apache.hadoop.hbase">ShareableMemory</a></pre>
 </li>
@@ -233,7 +233,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/ShareableMemory.ht
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HFileReaderImpl.HFileScannerImpl.ShareableMemoryKeyValue</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.ShareableMemoryKeyValue.html#line.1005">HFileReaderImpl.HFileScannerImpl.ShareableMemoryKeyValue</a>(byte[]&nbsp;bytes,
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.ShareableMemoryKeyValue.html#line.1006">HFileReaderImpl.HFileScannerImpl.ShareableMemoryKeyValue</a>(byte[]&nbsp;bytes,
                                                         int&nbsp;offset,
                                                         int&nbsp;length,
                                                         long&nbsp;seqId)</pre>
@@ -253,7 +253,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/ShareableMemory.ht
 <ul class="blockListLast">
 <li class="blockList">
 <h4>cloneToCell</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.ShareableMemoryKeyValue.html#line.1010">cloneToCell</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.ShareableMemoryKeyValue.html#line.1011">cloneToCell</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/ShareableMemory.html#cloneToCell()">ShareableMemory</a></code></strong></div>
 <div class="block">Does a deep copy of the contents to a new memory area and
  returns it in the form of a cell.</div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.ShareableMemoryNoTagsKeyValue.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.ShareableMemoryNoTagsKeyValue.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.ShareableMemoryNoTagsKeyValue.html
index ba00a6d..a3b56f4 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.ShareableMemoryNoTagsKeyValue.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.ShareableMemoryNoTagsKeyValue.html
@@ -118,7 +118,7 @@
 </dl>
 <hr>
 <br>
-<pre>private static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1016">HFileReaderImpl.HFileScannerImpl.ShareableMemoryNoTagsKeyValue</a>
+<pre>private static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1017">HFileReaderImpl.HFileScannerImpl.ShareableMemoryNoTagsKeyValue</a>
 extends <a href="../../../../../../org/apache/hadoop/hbase/SizeCachedNoTagsKeyValue.html" title="class in org.apache.hadoop.hbase">SizeCachedNoTagsKeyValue</a>
 implements <a href="../../../../../../org/apache/hadoop/hbase/ShareableMemory.html" title="interface in org.apache.hadoop.hbase">ShareableMemory</a></pre>
 </li>
@@ -245,7 +245,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/ShareableMemory.ht
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HFileReaderImpl.HFileScannerImpl.ShareableMemoryNoTagsKeyValue</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.ShareableMemoryNoTagsKeyValue.html#line.1018">HFileReaderImpl.HFileScannerImpl.ShareableMemoryNoTagsKeyValue</a>(byte[]&nbsp;bytes,
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.ShareableMemoryNoTagsKeyValue.html#line.1019">HFileReaderImpl.HFileScannerImpl.ShareableMemoryNoTagsKeyValue</a>(byte[]&nbsp;bytes,
                                                               int&nbsp;offset,
                                                               int&nbsp;length,
                                                               long&nbsp;seqId)</pre>
@@ -265,7 +265,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/ShareableMemory.ht
 <ul class="blockListLast">
 <li class="blockList">
 <h4>cloneToCell</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.ShareableMemoryNoTagsKeyValue.html#line.1023">cloneToCell</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.ShareableMemoryNoTagsKeyValue.html#line.1024">cloneToCell</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/ShareableMemory.html#cloneToCell()">ShareableMemory</a></code></strong></div>
 <div class="block">Does a deep copy of the contents to a new memory area and
  returns it in the form of a cell.</div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.ShareableMemoryOffheapKeyValue.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.ShareableMemoryOffheapKeyValue.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.ShareableMemoryOffheapKeyValue.html
index 77357ae..58b3a80 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.ShareableMemoryOffheapKeyValue.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.ShareableMemoryOffheapKeyValue.html
@@ -113,7 +113,7 @@
 </dl>
 <hr>
 <br>
-<pre>private static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1029">HFileReaderImpl.HFileScannerImpl.ShareableMemoryOffheapKeyValue</a>
+<pre>private static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1030">HFileReaderImpl.HFileScannerImpl.ShareableMemoryOffheapKeyValue</a>
 extends <a href="../../../../../../org/apache/hadoop/hbase/OffheapKeyValue.html" title="class in org.apache.hadoop.hbase">OffheapKeyValue</a>
 implements <a href="../../../../../../org/apache/hadoop/hbase/ShareableMemory.html" title="interface in org.apache.hadoop.hbase">ShareableMemory</a></pre>
 </li>
@@ -212,7 +212,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/ShareableMemory.ht
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HFileReaderImpl.HFileScannerImpl.ShareableMemoryOffheapKeyValue</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.ShareableMemoryOffheapKeyValue.html#line.1031">HFileReaderImpl.HFileScannerImpl.ShareableMemoryOffheapKeyValue</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;buf,
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.ShareableMemoryOffheapKeyValue.html#line.1032">HFileReaderImpl.HFileScannerImpl.ShareableMemoryOffheapKeyValue</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;buf,
                                                                int&nbsp;offset,
                                                                int&nbsp;length,
                                                                boolean&nbsp;hasTags,
@@ -233,7 +233,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/ShareableMemory.ht
 <ul class="blockListLast">
 <li class="blockList">
 <h4>cloneToCell</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.ShareableMemoryOffheapKeyValue.html#line.1037">cloneToCell</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.ShareableMemoryOffheapKeyValue.html#line.1038">cloneToCell</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/ShareableMemory.html#cloneToCell()">ShareableMemory</a></code></strong></div>
 <div class="block">Does a deep copy of the contents to a new memory area and
  returns it in the form of a cell.</div>


[38/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/TagUtil.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/TagUtil.html b/devapidocs/org/apache/hadoop/hbase/TagUtil.html
index fd8294e..66ec221 100644
--- a/devapidocs/org/apache/hadoop/hbase/TagUtil.html
+++ b/devapidocs/org/apache/hadoop/hbase/TagUtil.html
@@ -61,13 +61,13 @@
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
-<li>Field&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>Field&nbsp;|&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>
@@ -96,7 +96,7 @@
 <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 final class <a href="../../../../src-html/org/apache/hadoop/hbase/TagUtil.html#line.34">TagUtil</a>
+public final class <a href="../../../../src-html/org/apache/hadoop/hbase/TagUtil.html#line.35">TagUtil</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>
@@ -104,6 +104,27 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <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>(package private) static <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../org/apache/hadoop/hbase/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/TagUtil.html#EMPTY_TAGS_ITR">EMPTY_TAGS_ITR</a></strong></code>
+<div class="block">Iterator returned when no Tags.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
 <!-- ======== CONSTRUCTOR SUMMARY ======== -->
 <ul class="blockList">
 <li class="blockList"><a name="constructor_summary">
@@ -154,12 +175,28 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 </td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>static <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/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/TagUtil.html#carryForwardTags(org.apache.hadoop.hbase.Cell)">carryForwardTags</a></strong>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <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/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/TagUtil.html#carryForwardTags(java.util.List,%20org.apache.hadoop.hbase.Cell)">carryForwardTags</a></strong>(<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/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt;&nbsp;tagsOrNull,
+                                <a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
+<div class="block">Add to <code>tagsOrNull</code> any Tags <code>cell</code> is carrying or null if none.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <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/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/TagUtil.html#carryForwardTTLTag(java.util.List,%20long)">carryForwardTTLTag</a></strong>(<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/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt;&nbsp;tagsOrNull,
+                                    long&nbsp;ttl)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/TagUtil.html#cloneValue(org.apache.hadoop.hbase.Tag)">cloneValue</a></strong>(<a href="../../../../org/apache/hadoop/hbase/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&nbsp;tag)</code>
 <div class="block">Returns tag value in a new byte array.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/TagUtil.html#copyValueTo(org.apache.hadoop.hbase.Tag,%20byte[],%20int)">copyValueTo</a></strong>(<a href="../../../../org/apache/hadoop/hbase/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&nbsp;tag,
                       byte[]&nbsp;out,
@@ -167,38 +204,38 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <div class="block">Copies the tag's value bytes to the given byte array</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/TagUtil.html#fromList(java.util.List)">fromList</a></strong>(<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/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt;&nbsp;tags)</code>
 <div class="block">Write a list of tags into a byte array</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static byte</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/TagUtil.html#getValueAsByte(org.apache.hadoop.hbase.Tag)">getValueAsByte</a></strong>(<a href="../../../../org/apache/hadoop/hbase/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&nbsp;tag)</code>
 <div class="block">Converts the value bytes of the given tag into a byte value</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/TagUtil.html#getValueAsLong(org.apache.hadoop.hbase.Tag)">getValueAsLong</a></strong>(<a href="../../../../org/apache/hadoop/hbase/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&nbsp;tag)</code>
 <div class="block">Converts the value bytes of the given tag into a long value</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/TagUtil.html#getValueAsString(org.apache.hadoop.hbase.Tag)">getValueAsString</a></strong>(<a href="../../../../org/apache/hadoop/hbase/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&nbsp;tag)</code>
 <div class="block">Converts the value bytes of the given tag into a String value</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/TagUtil.html#matchingValue(org.apache.hadoop.hbase.Tag,%20org.apache.hadoop.hbase.Tag)">matchingValue</a></strong>(<a href="../../../../org/apache/hadoop/hbase/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&nbsp;t1,
                           <a href="../../../../org/apache/hadoop/hbase/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&nbsp;t2)</code>
 <div class="block">Matches the value part of given tags</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</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>,<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/TagUtil.html#readVIntValuePart(org.apache.hadoop.hbase.Tag,%20int)">readVIntValuePart</a></strong>(<a href="../../../../org/apache/hadoop/hbase/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&nbsp;tag,
                                   int&nbsp;offset)</code>
@@ -221,6 +258,24 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <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="EMPTY_TAGS_ITR">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>EMPTY_TAGS_ITR</h4>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../org/apache/hadoop/hbase/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt; <a href="../../../../src-html/org/apache/hadoop/hbase/TagUtil.html#line.268">EMPTY_TAGS_ITR</a></pre>
+<div class="block">Iterator returned when no Tags. Used by CellUtil too.</div>
+</li>
+</ul>
+</li>
+</ul>
 <!-- ========= CONSTRUCTOR DETAIL ======== -->
 <ul class="blockList">
 <li class="blockList"><a name="constructor_detail">
@@ -233,7 +288,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>TagUtil</h4>
-<pre>private&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/TagUtil.html#line.39">TagUtil</a>()</pre>
+<pre>private&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/TagUtil.html#line.40">TagUtil</a>()</pre>
 <div class="block">Private constructor to keep this class from being instantiated.</div>
 </li>
 </ul>
@@ -251,7 +306,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>cloneValue</h4>
-<pre>public static&nbsp;byte[]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/TagUtil.html#line.50">cloneValue</a>(<a href="../../../../org/apache/hadoop/hbase/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&nbsp;tag)</pre>
+<pre>public static&nbsp;byte[]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/TagUtil.html#line.51">cloneValue</a>(<a href="../../../../org/apache/hadoop/hbase/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&nbsp;tag)</pre>
 <div class="block">Returns tag value in a new byte array.
  Primarily for use client-side. If server-side, use
  <a href="../../../../org/apache/hadoop/hbase/Tag.html#getValueArray()"><code>Tag.getValueArray()</code></a> with appropriate <a href="../../../../org/apache/hadoop/hbase/Tag.html#getValueOffset()"><code>Tag.getValueOffset()</code></a>
@@ -266,7 +321,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>asList</h4>
-<pre>public static&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/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/TagUtil.html#line.70">asList</a>(byte[]&nbsp;b,
+<pre>public static&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/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/TagUtil.html#line.71">asList</a>(byte[]&nbsp;b,
                int&nbsp;offset,
                int&nbsp;length)</pre>
 <div class="block">Creates list of tags from given byte array, expected that it is in the expected tag format.</div>
@@ -280,7 +335,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>asList</h4>
-<pre>public static&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/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/TagUtil.html#line.89">asList</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;b,
+<pre>public static&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/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/TagUtil.html#line.90">asList</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;b,
                int&nbsp;offset,
                int&nbsp;length)</pre>
 <div class="block">Creates list of tags from given ByteBuffer, expected that it is in the expected tag format.</div>
@@ -294,7 +349,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>fromList</h4>
-<pre>public static&nbsp;byte[]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/TagUtil.html#line.106">fromList</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/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt;&nbsp;tags)</pre>
+<pre>public static&nbsp;byte[]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/TagUtil.html#line.107">fromList</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/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt;&nbsp;tags)</pre>
 <div class="block">Write a list of tags into a byte array</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>tags</code> - The list of tags</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the serialized tag data as bytes</dd></dl>
@@ -306,7 +361,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getValueAsLong</h4>
-<pre>public static&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/TagUtil.html#line.137">getValueAsLong</a>(<a href="../../../../org/apache/hadoop/hbase/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&nbsp;tag)</pre>
+<pre>public static&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/TagUtil.html#line.138">getValueAsLong</a>(<a href="../../../../org/apache/hadoop/hbase/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&nbsp;tag)</pre>
 <div class="block">Converts the value bytes of the given tag into a long value</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>tag</code> - The Tag</dd>
 <dt><span class="strong">Returns:</span></dt><dd>value as long</dd></dl>
@@ -318,7 +373,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getValueAsByte</h4>
-<pre>public static&nbsp;byte&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/TagUtil.html#line.149">getValueAsByte</a>(<a href="../../../../org/apache/hadoop/hbase/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&nbsp;tag)</pre>
+<pre>public static&nbsp;byte&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/TagUtil.html#line.150">getValueAsByte</a>(<a href="../../../../org/apache/hadoop/hbase/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&nbsp;tag)</pre>
 <div class="block">Converts the value bytes of the given tag into a byte value</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>tag</code> - The Tag</dd>
 <dt><span class="strong">Returns:</span></dt><dd>value as byte</dd></dl>
@@ -330,7 +385,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getValueAsString</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/TagUtil.html#line.161">getValueAsString</a>(<a href="../../../../org/apache/hadoop/hbase/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&nbsp;tag)</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/TagUtil.html#line.162">getValueAsString</a>(<a href="../../../../org/apache/hadoop/hbase/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&nbsp;tag)</pre>
 <div class="block">Converts the value bytes of the given tag into a String value</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>tag</code> - The Tag</dd>
 <dt><span class="strong">Returns:</span></dt><dd>value as String</dd></dl>
@@ -342,7 +397,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>matchingValue</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/TagUtil.html#line.174">matchingValue</a>(<a href="../../../../org/apache/hadoop/hbase/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&nbsp;t1,
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/TagUtil.html#line.175">matchingValue</a>(<a href="../../../../org/apache/hadoop/hbase/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&nbsp;t1,
                     <a href="../../../../org/apache/hadoop/hbase/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&nbsp;t2)</pre>
 <div class="block">Matches the value part of given tags</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>t1</code> - Tag to match the value</dd><dd><code>t2</code> - Tag to match the value</dd>
@@ -355,7 +410,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>copyValueTo</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/TagUtil.html#line.197">copyValueTo</a>(<a href="../../../../org/apache/hadoop/hbase/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&nbsp;tag,
+<pre>public static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/TagUtil.html#line.198">copyValueTo</a>(<a href="../../../../org/apache/hadoop/hbase/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&nbsp;tag,
                byte[]&nbsp;out,
                int&nbsp;offset)</pre>
 <div class="block">Copies the tag's value bytes to the given byte array</div>
@@ -365,10 +420,10 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <a name="readVIntValuePart(org.apache.hadoop.hbase.Tag, int)">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>readVIntValuePart</h4>
-<pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</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>,<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/TagUtil.html#line.213">readVIntValuePart</a>(<a href="../../../../org/apache/hadoop/hbase/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&nbsp;tag,
+<pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</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>,<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/TagUtil.html#line.214">readVIntValuePart</a>(<a href="../../../../org/apache/hadoop/hbase/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&nbsp;tag,
                                       int&nbsp;offset)
                                                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">Reads an int value stored as a VInt at tag's given offset.</div>
@@ -378,6 +433,38 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <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> - When varint is malformed and not able to be read correctly</dd></dl>
 </li>
 </ul>
+<a name="carryForwardTags(org.apache.hadoop.hbase.Cell)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>carryForwardTags</h4>
+<pre>public static&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/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/TagUtil.html#line.224">carryForwardTags</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<dl><dt><span class="strong">Returns:</span></dt><dd>A List&lt;Tag&gt; of any Tags found in <code>cell</code> else null.</dd></dl>
+</li>
+</ul>
+<a name="carryForwardTags(java.util.List, org.apache.hadoop.hbase.Cell)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>carryForwardTags</h4>
+<pre>public static&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/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/TagUtil.html#line.231">carryForwardTags</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/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt;&nbsp;tagsOrNull,
+                         <a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<div class="block">Add to <code>tagsOrNull</code> any Tags <code>cell</code> is carrying or null if none.</div>
+</li>
+</ul>
+<a name="carryForwardTTLTag(java.util.List, long)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>carryForwardTTLTag</h4>
+<pre>public static&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/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/TagUtil.html#line.250">carryForwardTTLTag</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/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt;&nbsp;tagsOrNull,
+                           long&nbsp;ttl)</pre>
+<dl><dt><span class="strong">Returns:</span></dt><dd>Carry forward the TTL tag.</dd></dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -430,13 +517,13 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
-<li>Field&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>Field&nbsp;|&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>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/class-use/Cell.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/class-use/Cell.html b/devapidocs/org/apache/hadoop/hbase/class-use/Cell.html
index eafb8b6..698a6a4 100644
--- a/devapidocs/org/apache/hadoop/hbase/class-use/Cell.html
+++ b/devapidocs/org/apache/hadoop/hbase/class-use/Cell.html
@@ -370,13 +370,6 @@ service.</div>
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
 <td class="colLast"><span class="strong">TagRewriteCell.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/TagRewriteCell.html#cell">cell</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
-<td class="colLast"><span class="strong">HConstants.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/HConstants.html#NO_NEXT_INDEXED_KEY">NO_NEXT_INDEXED_KEY</a></strong></code>
-<div class="block">The byte array represents for NO_NEXT_INDEXED_KEY;
- The actual value is irrelevant because this is always compared by reference.</div>
-</td>
-</tr>
 </tbody>
 </table>
 <table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
@@ -560,6 +553,17 @@ service.</div>
 <td class="colLast"><span class="strong">KeyValue.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/KeyValue.html#calculateHashForKey(org.apache.hadoop.hbase.Cell)">calculateHashForKey</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>static <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/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt;</code></td>
+<td class="colLast"><span class="strong">TagUtil.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/TagUtil.html#carryForwardTags(org.apache.hadoop.hbase.Cell)">carryForwardTags</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <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/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt;</code></td>
+<td class="colLast"><span class="strong">TagUtil.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/TagUtil.html#carryForwardTags(java.util.List,%20org.apache.hadoop.hbase.Cell)">carryForwardTags</a></strong>(<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/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt;&nbsp;tagsOrNull,
+                                <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
+<div class="block">Add to <code>tagsOrNull</code> any Tags <code>cell</code> is carrying or null if none.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/KeyValue.html" title="class in org.apache.hadoop.hbase">KeyValue</a></code></td>
 <td class="colLast"><span class="strong">KeyValue.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/KeyValue.html#cloneAndAddTags(org.apache.hadoop.hbase.Cell,%20java.util.List)">cloneAndAddTags</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c,
                               <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/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt;&nbsp;newTags)</code>
@@ -4020,24 +4024,31 @@ service.</div>
 <td class="colLast"><span class="strong">StoreScanner.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#lastTop">lastTop</a></strong></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
+<td class="colLast"><span class="strong">KeyValueScanner.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#NO_NEXT_INDEXED_KEY">NO_NEXT_INDEXED_KEY</a></strong></code>
+<div class="block">The byte array represents for NO_NEXT_INDEXED_KEY;
+ The actual value is irrelevant because this is always compared by reference.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
 <td class="colLast"><span class="strong">StoreScanner.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#prevCell">prevCell</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
 <td class="colLast"><span class="strong">DefaultMemStore.MemStoreScanner.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#snapshotItRow">snapshotItRow</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
 <td class="colLast"><span class="strong">DefaultMemStore.MemStoreScanner.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#snapshotNextRow">snapshotNextRow</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
 <td class="colLast"><span class="strong">ScanQueryMatcher.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.html#startKey">startKey</a></strong></code>
 <div class="block">Key to seek to in memstore and StoreFiles</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
 <td class="colLast"><span class="strong">DefaultMemStore.MemStoreScanner.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#theNext">theNext</a></strong></code>&nbsp;</td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/class-use/HRegionInfo.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/class-use/HRegionInfo.html b/devapidocs/org/apache/hadoop/hbase/class-use/HRegionInfo.html
index e1b0684..e69d312 100644
--- a/devapidocs/org/apache/hadoop/hbase/class-use/HRegionInfo.html
+++ b/devapidocs/org/apache/hadoop/hbase/class-use/HRegionInfo.html
@@ -4946,7 +4946,10 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
             <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri,
             <a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a>&nbsp;key,
             <a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;edits,
-            boolean&nbsp;inMemstore)</code>&nbsp;</td>
+            boolean&nbsp;inMemstore)</code>
+<div class="block">NOTE: This append, at a time that is usually after this call returns, starts an
+ mvcc transaction by calling 'begin' wherein which we assign this update a sequenceid.</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a></code></td>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/class-use/HTableDescriptor.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/class-use/HTableDescriptor.html b/devapidocs/org/apache/hadoop/hbase/class-use/HTableDescriptor.html
index 39bd5b5..5e2ac2d 100644
--- a/devapidocs/org/apache/hadoop/hbase/class-use/HTableDescriptor.html
+++ b/devapidocs/org/apache/hadoop/hbase/class-use/HTableDescriptor.html
@@ -2574,7 +2574,10 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
             <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri,
             <a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a>&nbsp;key,
             <a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;edits,
-            boolean&nbsp;inMemstore)</code>&nbsp;</td>
+            boolean&nbsp;inMemstore)</code>
+<div class="block">NOTE: This append, at a time that is usually after this call returns, starts an
+ mvcc transaction by calling 'begin' wherein which we assign this update a sequenceid.</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/class-use/Tag.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/class-use/Tag.html b/devapidocs/org/apache/hadoop/hbase/class-use/Tag.html
index 0f92555..df91e38 100644
--- a/devapidocs/org/apache/hadoop/hbase/class-use/Tag.html
+++ b/devapidocs/org/apache/hadoop/hbase/class-use/Tag.html
@@ -150,6 +150,12 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <td class="colLast"><span class="strong">KeyValue.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/KeyValue.html#EMPTY_ARRAY_LIST">EMPTY_ARRAY_LIST</a></strong></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>(package private) static <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt;</code></td>
+<td class="colLast"><span class="strong">TagUtil.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/TagUtil.html#EMPTY_TAGS_ITR">EMPTY_TAGS_ITR</a></strong></code>
+<div class="block">Iterator returned when no Tags.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>private static <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt;</code></td>
 <td class="colLast"><span class="strong">CellUtil.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#EMPTY_TAGS_ITR">EMPTY_TAGS_ITR</a></strong></code>&nbsp;</td>
 </tr>
@@ -195,16 +201,32 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>static <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/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt;</code></td>
+<td class="colLast"><span class="strong">TagUtil.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/TagUtil.html#carryForwardTags(org.apache.hadoop.hbase.Cell)">carryForwardTags</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <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/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt;</code></td>
+<td class="colLast"><span class="strong">TagUtil.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/TagUtil.html#carryForwardTags(java.util.List,%20org.apache.hadoop.hbase.Cell)">carryForwardTags</a></strong>(<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/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt;&nbsp;tagsOrNull,
+                                <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
+<div class="block">Add to <code>tagsOrNull</code> any Tags <code>cell</code> is carrying or null if none.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <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/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt;</code></td>
+<td class="colLast"><span class="strong">TagUtil.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/TagUtil.html#carryForwardTTLTag(java.util.List,%20long)">carryForwardTTLTag</a></strong>(<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/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt;&nbsp;tagsOrNull,
+                                    long&nbsp;ttl)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <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="../../../../../org/apache/hadoop/hbase/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt;</code></td>
 <td class="colLast"><span class="strong">KeyValue.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/KeyValue.html#getTags()">getTags</a></strong>()</code>
 <div class="block">Returns any tags embedded in the KeyValue.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <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/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt;</code></td>
 <td class="colLast"><span class="strong">CellUtil.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#getTags(org.apache.hadoop.hbase.Cell)">getTags</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt;</code></td>
 <td class="colLast"><span class="strong">CellUtil.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#tagsIterator(byte[],%20int,%20int)">tagsIterator</a></strong>(byte[]&nbsp;tags,
                         int&nbsp;offset,
@@ -215,13 +237,13 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </div>
 </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/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt;</code></td>
 <td class="colLast"><span class="strong">CellUtil.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#tagsIterator(java.nio.ByteBuffer,%20int,%20int)">tagsIterator</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;tags,
                         int&nbsp;offset,
                         int&nbsp;length)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt;</code></td>
 <td class="colLast"><span class="strong">CellUtil.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#tagsIterator(org.apache.hadoop.hbase.Cell)">tagsIterator</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Util method to iterate through the tags in the given cell.</div>
@@ -314,6 +336,18 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><code>static <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/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt;</code></td>
+<td class="colLast"><span class="strong">TagUtil.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/TagUtil.html#carryForwardTags(java.util.List,%20org.apache.hadoop.hbase.Cell)">carryForwardTags</a></strong>(<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/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt;&nbsp;tagsOrNull,
+                                <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
+<div class="block">Add to <code>tagsOrNull</code> any Tags <code>cell</code> is carrying or null if none.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <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/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt;</code></td>
+<td class="colLast"><span class="strong">TagUtil.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/TagUtil.html#carryForwardTTLTag(java.util.List,%20long)">carryForwardTTLTag</a></strong>(<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/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt;&nbsp;tagsOrNull,
+                                    long&nbsp;ttl)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/KeyValue.html" title="class in org.apache.hadoop.hbase">KeyValue</a></code></td>
 <td class="colLast"><span class="strong">KeyValue.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/KeyValue.html#cloneAndAddTags(org.apache.hadoop.hbase.Cell,%20java.util.List)">cloneAndAddTags</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c,
                               <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/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt;&nbsp;newTags)</code>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/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 a764e2c..8a35f2c 100644
--- a/devapidocs/org/apache/hadoop/hbase/classification/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/classification/package-tree.html
@@ -80,12 +80,12 @@
 </ul>
 <h2 title="Annotation Type Hierarchy">Annotation Type Hierarchy</h2>
 <ul>
-<li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceStability.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/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/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/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/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/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>
 </ul>
 </div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->


[04/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/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 e4df7cc..704e192 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
@@ -65,2544 +65,2553 @@
 <span class="sourceLineNo">057</span>import java.util.concurrent.ConcurrentLinkedDeque;<a name="line.57"></a>
 <span class="sourceLineNo">058</span>import java.util.concurrent.ExecutorService;<a name="line.58"></a>
 <span class="sourceLineNo">059</span>import java.util.concurrent.Executors;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import java.util.concurrent.locks.Lock;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import java.util.concurrent.locks.ReentrantLock;<a name="line.62"></a>
-<span class="sourceLineNo">063</span><a name="line.63"></a>
-<span class="sourceLineNo">064</span>import javax.security.sasl.Sasl;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import javax.security.sasl.SaslException;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import javax.security.sasl.SaslServer;<a name="line.66"></a>
-<span class="sourceLineNo">067</span><a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.commons.logging.Log;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.commons.logging.LogFactory;<a name="line.69"></a>
+<span class="sourceLineNo">060</span>import java.util.concurrent.locks.Lock;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import java.util.concurrent.locks.ReentrantLock;<a name="line.61"></a>
+<span class="sourceLineNo">062</span><a name="line.62"></a>
+<span class="sourceLineNo">063</span>import javax.security.sasl.Sasl;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import javax.security.sasl.SaslException;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import javax.security.sasl.SaslServer;<a name="line.65"></a>
+<span class="sourceLineNo">066</span><a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.commons.logging.Log;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.commons.logging.LogFactory;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.conf.Configuration;<a name="line.69"></a>
 <span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.CallQueueTooBigException;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.conf.Configuration;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.HBaseIOException;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.HBaseInterfaceAudience;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.HConstants;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.Server;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.TableName;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.client.Operation;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.client.VersionInfoUtil;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.codec.Codec;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.conf.ConfigurationObserver;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.exceptions.RegionMovedException;<a name="line.86"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.HBaseIOException;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.HBaseInterfaceAudience;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.HConstants;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.Server;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.TableName;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.client.Operation;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.client.VersionInfoUtil;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.codec.Codec;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.conf.ConfigurationObserver;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.exceptions.RegionMovedException;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.io.BoundedByteBufferPool;<a name="line.86"></a>
 <span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.io.ByteBufferOutputStream;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.io.BoundedByteBufferPool;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.monitoring.MonitoredRPCHandler;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.VersionInfo;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.CellBlockMeta;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.ConnectionHeader;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.ExceptionResponse;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RequestHeader;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.ResponseHeader;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.UserInformation;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.regionserver.HRegionServer;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.security.AccessDeniedException;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.security.AuthMethod;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.security.HBasePolicyProvider;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.security.HBaseSaslRpcServer;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.security.User;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.security.HBaseSaslRpcServer.SaslDigestCallbackHandler;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.security.HBaseSaslRpcServer.SaslGssCallbackHandler;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.security.SaslStatus;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.security.SaslUtil;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.security.UserProvider;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.security.token.AuthenticationTokenSecretManager;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.util.Counter;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.io.BytesWritable;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.io.IntWritable;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.io.Writable;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.io.WritableUtils;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.io.compress.CompressionCodec;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.security.UserGroupInformation;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.security.UserGroupInformation.AuthenticationMethod;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.security.authorize.AuthorizationException;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.security.authorize.PolicyProvider;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.security.authorize.ProxyUsers;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.security.authorize.ServiceAuthorizationManager;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.security.token.SecretManager;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.security.token.SecretManager.InvalidToken;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.security.token.TokenIdentifier;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.util.StringUtils;<a name="line.128"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.monitoring.MonitoredRPCHandler;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.VersionInfo;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.CellBlockMeta;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.ConnectionHeader;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.ExceptionResponse;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RequestHeader;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.ResponseHeader;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.UserInformation;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.regionserver.HRegionServer;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.security.AccessDeniedException;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.security.AuthMethod;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.security.HBasePolicyProvider;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.security.HBaseSaslRpcServer;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.security.HBaseSaslRpcServer.SaslDigestCallbackHandler;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.security.HBaseSaslRpcServer.SaslGssCallbackHandler;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.security.SaslStatus;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.security.SaslUtil;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.security.User;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.security.UserProvider;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.security.token.AuthenticationTokenSecretManager;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.util.Counter;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.io.BytesWritable;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.io.IntWritable;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.io.Writable;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.io.WritableUtils;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.io.compress.CompressionCodec;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.security.UserGroupInformation;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.security.UserGroupInformation.AuthenticationMethod;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.security.authorize.AuthorizationException;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.security.authorize.PolicyProvider;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.security.authorize.ProxyUsers;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.security.authorize.ServiceAuthorizationManager;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.security.token.SecretManager;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.security.token.SecretManager.InvalidToken;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.security.token.TokenIdentifier;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.util.StringUtils;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.htrace.TraceInfo;<a name="line.128"></a>
 <span class="sourceLineNo">129</span>import org.codehaus.jackson.map.ObjectMapper;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.htrace.TraceInfo;<a name="line.130"></a>
-<span class="sourceLineNo">131</span><a name="line.131"></a>
-<span class="sourceLineNo">132</span>import com.google.common.util.concurrent.ThreadFactoryBuilder;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import com.google.protobuf.BlockingService;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import com.google.protobuf.CodedInputStream;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import com.google.protobuf.Descriptors.MethodDescriptor;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import com.google.protobuf.Message;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import com.google.protobuf.ServiceException;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import com.google.protobuf.TextFormat;<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> * An RPC server that hosts protobuf described Services.<a name="line.141"></a>
-<span class="sourceLineNo">142</span> *<a name="line.142"></a>
-<span class="sourceLineNo">143</span> * An RpcServer instance has a Listener that hosts the socket.  Listener has fixed number<a name="line.143"></a>
-<span class="sourceLineNo">144</span> * of Readers in an ExecutorPool, 10 by default.  The Listener does an accept and then<a name="line.144"></a>
-<span class="sourceLineNo">145</span> * round robin a Reader is chosen to do the read.  The reader is registered on Selector.  Read does<a name="line.145"></a>
-<span class="sourceLineNo">146</span> * total read off the channel and the parse from which it makes a Call.  The call is wrapped in a<a name="line.146"></a>
-<span class="sourceLineNo">147</span> * CallRunner and passed to the scheduler to be run.  Reader goes back to see if more to be done<a name="line.147"></a>
-<span class="sourceLineNo">148</span> * and loops till done.<a name="line.148"></a>
-<span class="sourceLineNo">149</span> *<a name="line.149"></a>
-<span class="sourceLineNo">150</span> * &lt;p&gt;Scheduler can be variously implemented but default simple scheduler has handlers to which it<a name="line.150"></a>
-<span class="sourceLineNo">151</span> * has given the queues into which calls (i.e. CallRunner instances) are inserted.  Handlers run<a name="line.151"></a>
-<span class="sourceLineNo">152</span> * taking from the queue.  They run the CallRunner#run method on each item gotten from queue<a name="line.152"></a>
-<span class="sourceLineNo">153</span> * and keep taking while the server is up.<a name="line.153"></a>
-<span class="sourceLineNo">154</span> *<a name="line.154"></a>
-<span class="sourceLineNo">155</span> * CallRunner#run executes the call.  When done, asks the included Call to put itself on new<a name="line.155"></a>
-<span class="sourceLineNo">156</span> * queue for Responder to pull from and return result to client.<a name="line.156"></a>
-<span class="sourceLineNo">157</span> *<a name="line.157"></a>
-<span class="sourceLineNo">158</span> * @see RpcClientImpl<a name="line.158"></a>
-<span class="sourceLineNo">159</span> */<a name="line.159"></a>
-<span class="sourceLineNo">160</span>@InterfaceAudience.LimitedPrivate({HBaseInterfaceAudience.COPROC, HBaseInterfaceAudience.PHOENIX})<a name="line.160"></a>
-<span class="sourceLineNo">161</span>@InterfaceStability.Evolving<a name="line.161"></a>
-<span class="sourceLineNo">162</span>public class RpcServer implements RpcServerInterface, ConfigurationObserver {<a name="line.162"></a>
-<span class="sourceLineNo">163</span>  // LOG is being used in CallRunner and the log level is being changed in tests<a name="line.163"></a>
-<span class="sourceLineNo">164</span>  public static final Log LOG = LogFactory.getLog(RpcServer.class);<a name="line.164"></a>
-<span class="sourceLineNo">165</span>  private static final CallQueueTooBigException CALL_QUEUE_TOO_BIG_EXCEPTION<a name="line.165"></a>
-<span class="sourceLineNo">166</span>      = new CallQueueTooBigException();<a name="line.166"></a>
-<span class="sourceLineNo">167</span><a name="line.167"></a>
-<span class="sourceLineNo">168</span>  private final boolean authorize;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>  private boolean isSecurityEnabled;<a name="line.169"></a>
-<span class="sourceLineNo">170</span><a name="line.170"></a>
-<span class="sourceLineNo">171</span>  public static final byte CURRENT_VERSION = 0;<a name="line.171"></a>
-<span class="sourceLineNo">172</span><a name="line.172"></a>
-<span class="sourceLineNo">173</span>  /**<a name="line.173"></a>
-<span class="sourceLineNo">174</span>   * Whether we allow a fallback to SIMPLE auth for insecure clients when security is enabled.<a name="line.174"></a>
-<span class="sourceLineNo">175</span>   */<a name="line.175"></a>
-<span class="sourceLineNo">176</span>  public static final String FALLBACK_TO_INSECURE_CLIENT_AUTH =<a name="line.176"></a>
-<span class="sourceLineNo">177</span>          "hbase.ipc.server.fallback-to-simple-auth-allowed";<a name="line.177"></a>
-<span class="sourceLineNo">178</span><a name="line.178"></a>
-<span class="sourceLineNo">179</span>  /**<a name="line.179"></a>
-<span class="sourceLineNo">180</span>   * How many calls/handler are allowed in the queue.<a name="line.180"></a>
-<span class="sourceLineNo">181</span>   */<a name="line.181"></a>
-<span class="sourceLineNo">182</span>  static final int DEFAULT_MAX_CALLQUEUE_LENGTH_PER_HANDLER = 10;<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>   * The maximum size that we can hold in the RPC queue<a name="line.185"></a>
-<span class="sourceLineNo">186</span>   */<a name="line.186"></a>
-<span class="sourceLineNo">187</span>  private static final int DEFAULT_MAX_CALLQUEUE_SIZE = 1024 * 1024 * 1024;<a name="line.187"></a>
-<span class="sourceLineNo">188</span><a name="line.188"></a>
-<span class="sourceLineNo">189</span>  private final IPCUtil ipcUtil;<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span>  private static final String AUTH_FAILED_FOR = "Auth failed for ";<a name="line.191"></a>
-<span class="sourceLineNo">192</span>  private static final String AUTH_SUCCESSFUL_FOR = "Auth successful for ";<a name="line.192"></a>
-<span class="sourceLineNo">193</span>  private static final Log AUDITLOG = LogFactory.getLog("SecurityLogger." +<a name="line.193"></a>
-<span class="sourceLineNo">194</span>    Server.class.getName());<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  protected SecretManager&lt;TokenIdentifier&gt; secretManager;<a name="line.195"></a>
-<span class="sourceLineNo">196</span>  protected ServiceAuthorizationManager authManager;<a name="line.196"></a>
-<span class="sourceLineNo">197</span><a name="line.197"></a>
-<span class="sourceLineNo">198</span>  /** This is set to Call object before Handler invokes an RPC and ybdie<a name="line.198"></a>
-<span class="sourceLineNo">199</span>   * after the call returns.<a name="line.199"></a>
-<span class="sourceLineNo">200</span>   */<a name="line.200"></a>
-<span class="sourceLineNo">201</span>  protected static final ThreadLocal&lt;Call&gt; CurCall = new ThreadLocal&lt;Call&gt;();<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>  /** Keeps MonitoredRPCHandler per handler thread. */<a name="line.203"></a>
-<span class="sourceLineNo">204</span>  static final ThreadLocal&lt;MonitoredRPCHandler&gt; MONITORED_RPC<a name="line.204"></a>
-<span class="sourceLineNo">205</span>      = new ThreadLocal&lt;MonitoredRPCHandler&gt;();<a name="line.205"></a>
-<span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>  protected final InetSocketAddress bindAddress;<a name="line.207"></a>
-<span class="sourceLineNo">208</span>  protected int port;                             // port we listen on<a name="line.208"></a>
-<span class="sourceLineNo">209</span>  protected InetSocketAddress address;            // inet address we listen on<a name="line.209"></a>
-<span class="sourceLineNo">210</span>  private int readThreads;                        // number of read threads<a name="line.210"></a>
-<span class="sourceLineNo">211</span>  protected int maxIdleTime;                      // the maximum idle time after<a name="line.211"></a>
-<span class="sourceLineNo">212</span>                                                  // which a client may be<a name="line.212"></a>
-<span class="sourceLineNo">213</span>                                                  // disconnected<a name="line.213"></a>
-<span class="sourceLineNo">214</span>  protected int thresholdIdleConnections;         // the number of idle<a name="line.214"></a>
-<span class="sourceLineNo">215</span>                                                  // connections after which we<a name="line.215"></a>
-<span class="sourceLineNo">216</span>                                                  // will start cleaning up idle<a name="line.216"></a>
-<span class="sourceLineNo">217</span>                                                  // connections<a name="line.217"></a>
-<span class="sourceLineNo">218</span>  int maxConnectionsToNuke;                       // the max number of<a name="line.218"></a>
-<span class="sourceLineNo">219</span>                                                  // connections to nuke<a name="line.219"></a>
-<span class="sourceLineNo">220</span>                                                  // during a cleanup<a name="line.220"></a>
-<span class="sourceLineNo">221</span><a name="line.221"></a>
-<span class="sourceLineNo">222</span>  protected MetricsHBaseServer metrics;<a name="line.222"></a>
-<span class="sourceLineNo">223</span><a name="line.223"></a>
-<span class="sourceLineNo">224</span>  protected final Configuration conf;<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  private int maxQueueSize;<a name="line.226"></a>
-<span class="sourceLineNo">227</span>  protected int socketSendBufferSize;<a name="line.227"></a>
-<span class="sourceLineNo">228</span>  protected final boolean tcpNoDelay;   // if T then disable Nagle's Algorithm<a name="line.228"></a>
-<span class="sourceLineNo">229</span>  protected final boolean tcpKeepAlive; // if T then use keepalives<a name="line.229"></a>
-<span class="sourceLineNo">230</span>  protected final long purgeTimeout;    // in milliseconds<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>  /**<a name="line.232"></a>
-<span class="sourceLineNo">233</span>   * This flag is used to indicate to sub threads when they should go down.  When we call<a name="line.233"></a>
-<span class="sourceLineNo">234</span>   * {@link #start()}, all threads started will consult this flag on whether they should<a name="line.234"></a>
-<span class="sourceLineNo">235</span>   * keep going.  It is set to false when {@link #stop()} is called.<a name="line.235"></a>
-<span class="sourceLineNo">236</span>   */<a name="line.236"></a>
-<span class="sourceLineNo">237</span>  volatile boolean running = true;<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>   * This flag is set to true after all threads are up and 'running' and the server is then opened<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   * for business by the call to {@link #start()}.<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   */<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  volatile boolean started = false;<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 is a running count of the size of all outstanding calls by size.<a name="line.246"></a>
-<span class="sourceLineNo">247</span>   */<a name="line.247"></a>
-<span class="sourceLineNo">248</span>  protected final Counter callQueueSize = new Counter();<a name="line.248"></a>
-<span class="sourceLineNo">249</span><a name="line.249"></a>
-<span class="sourceLineNo">250</span>  protected final List&lt;Connection&gt; connectionList =<a name="line.250"></a>
-<span class="sourceLineNo">251</span>    Collections.synchronizedList(new LinkedList&lt;Connection&gt;());<a name="line.251"></a>
-<span class="sourceLineNo">252</span>  //maintain a list<a name="line.252"></a>
-<span class="sourceLineNo">253</span>  //of client connections<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  private Listener listener = null;<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  protected Responder responder = null;<a name="line.255"></a>
-<span class="sourceLineNo">256</span>  protected AuthenticationTokenSecretManager authTokenSecretMgr = null;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>  protected int numConnections = 0;<a name="line.257"></a>
-<span class="sourceLineNo">258</span><a name="line.258"></a>
-<span class="sourceLineNo">259</span>  protected HBaseRPCErrorHandler errorHandler = null;<a name="line.259"></a>
-<span class="sourceLineNo">260</span><a name="line.260"></a>
-<span class="sourceLineNo">261</span>  private static final String WARN_RESPONSE_TIME = "hbase.ipc.warn.response.time";<a name="line.261"></a>
-<span class="sourceLineNo">262</span>  private static final String WARN_RESPONSE_SIZE = "hbase.ipc.warn.response.size";<a name="line.262"></a>
-<span class="sourceLineNo">263</span><a name="line.263"></a>
-<span class="sourceLineNo">264</span>  /** Default value for above params */<a name="line.264"></a>
-<span class="sourceLineNo">265</span>  private static final int DEFAULT_WARN_RESPONSE_TIME = 10000; // milliseconds<a name="line.265"></a>
-<span class="sourceLineNo">266</span>  private static final int DEFAULT_WARN_RESPONSE_SIZE = 100 * 1024 * 1024;<a name="line.266"></a>
-<span class="sourceLineNo">267</span><a name="line.267"></a>
-<span class="sourceLineNo">268</span>  private static final ObjectMapper MAPPER = new ObjectMapper();<a name="line.268"></a>
-<span class="sourceLineNo">269</span><a name="line.269"></a>
-<span class="sourceLineNo">270</span>  private final int warnResponseTime;<a name="line.270"></a>
-<span class="sourceLineNo">271</span>  private final int warnResponseSize;<a name="line.271"></a>
-<span class="sourceLineNo">272</span>  private final Server server;<a name="line.272"></a>
-<span class="sourceLineNo">273</span>  private final List&lt;BlockingServiceAndInterface&gt; services;<a name="line.273"></a>
-<span class="sourceLineNo">274</span><a name="line.274"></a>
-<span class="sourceLineNo">275</span>  private final RpcScheduler scheduler;<a name="line.275"></a>
-<span class="sourceLineNo">276</span><a name="line.276"></a>
-<span class="sourceLineNo">277</span>  private UserProvider userProvider;<a name="line.277"></a>
-<span class="sourceLineNo">278</span><a name="line.278"></a>
-<span class="sourceLineNo">279</span>  private final BoundedByteBufferPool reservoir;<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  private volatile boolean allowFallbackToSimpleAuth;<a name="line.281"></a>
-<span class="sourceLineNo">282</span><a name="line.282"></a>
-<span class="sourceLineNo">283</span>  /**<a name="line.283"></a>
-<span class="sourceLineNo">284</span>   * Datastructure that holds all necessary to a method invocation and then afterward, carries<a name="line.284"></a>
-<span class="sourceLineNo">285</span>   * the result.<a name="line.285"></a>
-<span class="sourceLineNo">286</span>   */<a name="line.286"></a>
-<span class="sourceLineNo">287</span>  class Call implements RpcCallContext {<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    protected int id;                             // the client's call id<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    protected BlockingService service;<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    protected MethodDescriptor md;<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    protected RequestHeader header;<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    protected Message param;                      // the parameter passed<a name="line.292"></a>
-<span class="sourceLineNo">293</span>    // Optional cell data passed outside of protobufs.<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    protected CellScanner cellScanner;<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    protected Connection connection;              // connection to client<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    protected long timestamp;      // the time received when response is null<a name="line.296"></a>
-<span class="sourceLineNo">297</span>                                   // the time served when response is not null<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    /**<a name="line.298"></a>
-<span class="sourceLineNo">299</span>     * Chain of buffers to send as response.<a name="line.299"></a>
-<span class="sourceLineNo">300</span>     */<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    protected BufferChain response;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>    protected Responder responder;<a name="line.302"></a>
-<span class="sourceLineNo">303</span><a name="line.303"></a>
-<span class="sourceLineNo">304</span>    protected long size;                          // size of current call<a name="line.304"></a>
-<span class="sourceLineNo">305</span>    protected boolean isError;<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    protected TraceInfo tinfo;<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    private ByteBuffer cellBlock = null;<a name="line.307"></a>
-<span class="sourceLineNo">308</span><a name="line.308"></a>
-<span class="sourceLineNo">309</span>    private User user;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    private InetAddress remoteAddress;<a name="line.310"></a>
-<span class="sourceLineNo">311</span>    private RpcCallback callback;<a name="line.311"></a>
-<span class="sourceLineNo">312</span><a name="line.312"></a>
-<span class="sourceLineNo">313</span>    private long responseCellSize = 0;<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    private long responseBlockSize = 0;<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    private boolean retryImmediatelySupported;<a name="line.315"></a>
-<span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="NP_NULL_ON_SOME_PATH",<a name="line.317"></a>
-<span class="sourceLineNo">318</span>        justification="Can't figure why this complaint is happening... see below")<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    Call(int id, final BlockingService service, final MethodDescriptor md, RequestHeader header,<a name="line.319"></a>
-<span class="sourceLineNo">320</span>         Message param, CellScanner cellScanner, Connection connection, Responder responder,<a name="line.320"></a>
-<span class="sourceLineNo">321</span>         long size, TraceInfo tinfo, final InetAddress remoteAddress) {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>      this.id = id;<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      this.service = service;<a name="line.323"></a>
-<span class="sourceLineNo">324</span>      this.md = md;<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      this.header = header;<a name="line.325"></a>
-<span class="sourceLineNo">326</span>      this.param = param;<a name="line.326"></a>
-<span class="sourceLineNo">327</span>      this.cellScanner = cellScanner;<a name="line.327"></a>
-<span class="sourceLineNo">328</span>      this.connection = connection;<a name="line.328"></a>
-<span class="sourceLineNo">329</span>      this.timestamp = System.currentTimeMillis();<a name="line.329"></a>
-<span class="sourceLineNo">330</span>      this.response = null;<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      this.responder = responder;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>      this.isError = false;<a name="line.332"></a>
-<span class="sourceLineNo">333</span>      this.size = size;<a name="line.333"></a>
-<span class="sourceLineNo">334</span>      this.tinfo = tinfo;<a name="line.334"></a>
-<span class="sourceLineNo">335</span>      this.user = connection == null? null: connection.user; // FindBugs: NP_NULL_ON_SOME_PATH<a name="line.335"></a>
-<span class="sourceLineNo">336</span>      this.remoteAddress = remoteAddress;<a name="line.336"></a>
-<span class="sourceLineNo">337</span>      this.retryImmediatelySupported =<a name="line.337"></a>
-<span class="sourceLineNo">338</span>          connection == null? null: connection.retryImmediatelySupported;<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>     * Call is done. Execution happened and we returned results to client. It is now safe to<a name="line.342"></a>
-<span class="sourceLineNo">343</span>     * cleanup.<a name="line.343"></a>
-<span class="sourceLineNo">344</span>     */<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="IS2_INCONSISTENT_SYNC",<a name="line.345"></a>
-<span class="sourceLineNo">346</span>        justification="Presume the lock on processing request held by caller is protection enough")<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    void done() {<a name="line.347"></a>
-<span class="sourceLineNo">348</span>      if (this.cellBlock != null &amp;&amp; reservoir != null) {<a name="line.348"></a>
-<span class="sourceLineNo">349</span>        // Return buffer to reservoir now we are done with it.<a name="line.349"></a>
-<span class="sourceLineNo">350</span>        reservoir.putBuffer(this.cellBlock);<a name="line.350"></a>
-<span class="sourceLineNo">351</span>        this.cellBlock = null;<a name="line.351"></a>
-<span class="sourceLineNo">352</span>      }<a name="line.352"></a>
-<span class="sourceLineNo">353</span>      this.connection.decRpcCount();  // Say that we're done with this call.<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    }<a name="line.354"></a>
-<span class="sourceLineNo">355</span><a name="line.355"></a>
-<span class="sourceLineNo">356</span>    @Override<a name="line.356"></a>
-<span class="sourceLineNo">357</span>    public String toString() {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>      return toShortString() + " param: " +<a name="line.358"></a>
-<span class="sourceLineNo">359</span>        (this.param != null? ProtobufUtil.getShortTextFormat(this.param): "") +<a name="line.359"></a>
-<span class="sourceLineNo">360</span>        " connection: " + connection.toString();<a name="line.360"></a>
-<span class="sourceLineNo">361</span>    }<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>    protected RequestHeader getHeader() {<a name="line.363"></a>
-<span class="sourceLineNo">364</span>      return this.header;<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>
-<span class="sourceLineNo">368</span>     * Short string representation without param info because param itself could be huge depends on<a name="line.368"></a>
-<span class="sourceLineNo">369</span>     * the payload of a command<a name="line.369"></a>
-<span class="sourceLineNo">370</span>     */<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    String toShortString() {<a name="line.371"></a>
-<span class="sourceLineNo">372</span>      String serviceName = this.connection.service != null ?<a name="line.372"></a>
-<span class="sourceLineNo">373</span>          this.connection.service.getDescriptorForType().getName() : "null";<a name="line.373"></a>
-<span class="sourceLineNo">374</span>      return "callId: " + this.id + " service: " + serviceName +<a name="line.374"></a>
-<span class="sourceLineNo">375</span>          " methodName: " + ((this.md != null) ? this.md.getName() : "n/a") +<a name="line.375"></a>
-<span class="sourceLineNo">376</span>          " size: " + StringUtils.TraditionalBinaryPrefix.long2String(this.size, "", 1) +<a name="line.376"></a>
-<span class="sourceLineNo">377</span>          " connection: " + connection.toString();<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    }<a name="line.378"></a>
-<span class="sourceLineNo">379</span><a name="line.379"></a>
-<span class="sourceLineNo">380</span>    String toTraceString() {<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() : "";<a name="line.382"></a>
-<span class="sourceLineNo">383</span>      String methodName = (this.md != null) ? this.md.getName() : "";<a name="line.383"></a>
-<span class="sourceLineNo">384</span>      return serviceName + "." + methodName;<a name="line.384"></a>
-<span class="sourceLineNo">385</span>    }<a name="line.385"></a>
-<span class="sourceLineNo">386</span><a name="line.386"></a>
-<span class="sourceLineNo">387</span>    protected synchronized void setSaslTokenResponse(ByteBuffer response) {<a name="line.387"></a>
-<span class="sourceLineNo">388</span>      this.response = new BufferChain(response);<a name="line.388"></a>
-<span class="sourceLineNo">389</span>    }<a name="line.389"></a>
-<span class="sourceLineNo">390</span><a name="line.390"></a>
-<span class="sourceLineNo">391</span>    protected synchronized void setResponse(Object m, final CellScanner cells,<a name="line.391"></a>
-<span class="sourceLineNo">392</span>        Throwable t, String errorMsg) {<a name="line.392"></a>
-<span class="sourceLineNo">393</span>      if (this.isError) return;<a name="line.393"></a>
-<span class="sourceLineNo">394</span>      if (t != null) this.isError = true;<a name="line.394"></a>
-<span class="sourceLineNo">395</span>      BufferChain bc = null;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>      try {<a name="line.396"></a>
-<span class="sourceLineNo">397</span>        ResponseHeader.Builder headerBuilder = ResponseHeader.newBuilder();<a name="line.397"></a>
-<span class="sourceLineNo">398</span>        // Presume it a pb Message.  Could be null.<a name="line.398"></a>
-<span class="sourceLineNo">399</span>        Message result = (Message)m;<a name="line.399"></a>
-<span class="sourceLineNo">400</span>        // Call id.<a name="line.400"></a>
-<span class="sourceLineNo">401</span>        headerBuilder.setCallId(this.id);<a name="line.401"></a>
-<span class="sourceLineNo">402</span>        if (t != null) {<a name="line.402"></a>
-<span class="sourceLineNo">403</span>          ExceptionResponse.Builder exceptionBuilder = ExceptionResponse.newBuilder();<a name="line.403"></a>
-<span class="sourceLineNo">404</span>          exceptionBuilder.setExceptionClassName(t.getClass().getName());<a name="line.404"></a>
-<span class="sourceLineNo">405</span>          exceptionBuilder.setStackTrace(errorMsg);<a name="line.405"></a>
-<span class="sourceLineNo">406</span>          exceptionBuilder.setDoNotRetry(t instanceof DoNotRetryIOException);<a name="line.406"></a>
-<span class="sourceLineNo">407</span>          if (t instanceof RegionMovedException) {<a name="line.407"></a>
-<span class="sourceLineNo">408</span>            // Special casing for this exception.  This is only one carrying a payload.<a name="line.408"></a>
-<span class="sourceLineNo">409</span>            // Do this instead of build a generic system for allowing exceptions carry<a name="line.409"></a>
-<span class="sourceLineNo">410</span>            // any kind of payload.<a name="line.410"></a>
-<span class="sourceLineNo">411</span>            RegionMovedException rme = (RegionMovedException)t;<a name="line.411"></a>
-<span class="sourceLineNo">412</span>            exceptionBuilder.setHostname(rme.getHostname());<a name="line.412"></a>
-<span class="sourceLineNo">413</span>            exceptionBuilder.setPort(rme.getPort());<a name="line.413"></a>
-<span class="sourceLineNo">414</span>          }<a name="line.414"></a>
-<span class="sourceLineNo">415</span>          // Set the exception as the result of the method invocation.<a name="line.415"></a>
-<span class="sourceLineNo">416</span>          headerBuilder.setException(exceptionBuilder.build());<a name="line.416"></a>
-<span class="sourceLineNo">417</span>        }<a name="line.417"></a>
-<span class="sourceLineNo">418</span>        // Pass reservoir to buildCellBlock. Keep reference to returne so can add it back to the<a name="line.418"></a>
-<span class="sourceLineNo">419</span>        // reservoir when finished. This is hacky and the hack is not contained but benefits are<a name="line.419"></a>
-<span class="sourceLineNo">420</span>        // high when we can avoid a big buffer allocation on each rpc.<a name="line.420"></a>
-<span class="sourceLineNo">421</span>        this.cellBlock = ipcUtil.buildCellBlock(this.connection.codec,<a name="line.421"></a>
-<span class="sourceLineNo">422</span>          this.connection.compressionCodec, cells, reservoir);<a name="line.422"></a>
-<span class="sourceLineNo">423</span>        if (this.cellBlock != null) {<a name="line.423"></a>
-<span class="sourceLineNo">424</span>          CellBlockMeta.Builder cellBlockBuilder = CellBlockMeta.newBuilder();<a name="line.424"></a>
-<span class="sourceLineNo">425</span>          // Presumes the cellBlock bytebuffer has been flipped so limit has total size in it.<a name="line.425"></a>
-<span class="sourceLineNo">426</span>          cellBlockBuilder.setLength(this.cellBlock.limit());<a name="line.426"></a>
-<span class="sourceLineNo">427</span>          headerBuilder.setCellBlockMeta(cellBlockBuilder.build());<a name="line.427"></a>
-<span class="sourceLineNo">428</span>        }<a name="line.428"></a>
-<span class="sourceLineNo">429</span>        Message header = headerBuilder.build();<a name="line.429"></a>
-<span class="sourceLineNo">430</span><a name="line.430"></a>
-<span class="sourceLineNo">431</span>        // Organize the response as a set of bytebuffers rather than collect it all together inside<a name="line.431"></a>
-<span class="sourceLineNo">432</span>        // one big byte array; save on allocations.<a name="line.432"></a>
-<span class="sourceLineNo">433</span>        ByteBuffer bbHeader = IPCUtil.getDelimitedMessageAsByteBuffer(header);<a name="line.433"></a>
-<span class="sourceLineNo">434</span>        ByteBuffer bbResult = IPCUtil.getDelimitedMessageAsByteBuffer(result);<a name="line.434"></a>
-<span class="sourceLineNo">435</span>        int totalSize = bbHeader.capacity() + (bbResult == null? 0: bbResult.limit()) +<a name="line.435"></a>
-<span class="sourceLineNo">436</span>          (this.cellBlock == null? 0: this.cellBlock.limit());<a name="line.436"></a>
-<span class="sourceLineNo">437</span>        ByteBuffer bbTotalSize = ByteBuffer.wrap(Bytes.toBytes(totalSize));<a name="line.437"></a>
-<span class="sourceLineNo">438</span>        bc = new BufferChain(bbTotalSize, bbHeader, bbResult, this.cellBlock);<a name="line.438"></a>
-<span class="sourceLineNo">439</span>        if (connection.useWrap) {<a name="line.439"></a>
-<span class="sourceLineNo">440</span>          bc = wrapWithSasl(bc);<a name="line.440"></a>
-<span class="sourceLineNo">441</span>        }<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      } catch (IOException e) {<a name="line.442"></a>
-<span class="sourceLineNo">443</span>        LOG.warn("Exception while creating response " + e);<a name="line.443"></a>
-<span class="sourceLineNo">444</span>      }<a name="line.444"></a>
-<span class="sourceLineNo">445</span>      this.response = bc;<a name="line.445"></a>
-<span class="sourceLineNo">446</span>      // Once a response message is created and set to this.response, this Call can be treated as<a name="line.446"></a>
-<span class="sourceLineNo">447</span>      // done. The Responder thread will do the n/w write of this message back to client.<a name="line.447"></a>
-<span class="sourceLineNo">448</span>      if (this.callback != null) {<a name="line.448"></a>
-<span class="sourceLineNo">449</span>        try {<a name="line.449"></a>
-<span class="sourceLineNo">450</span>          this.callback.run();<a name="line.450"></a>
-<span class="sourceLineNo">451</span>        } catch (Exception e) {<a name="line.451"></a>
-<span class="sourceLineNo">452</span>          // Don't allow any exception here to kill this handler thread.<a name="line.452"></a>
-<span class="sourceLineNo">453</span>          LOG.warn("Exception while running the Rpc Callback.", e);<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><a name="line.457"></a>
-<span class="sourceLineNo">458</span>    private BufferChain wrapWithSasl(BufferChain bc)<a name="line.458"></a>
-<span class="sourceLineNo">459</span>        throws IOException {<a name="line.459"></a>
-<span class="sourceLineNo">460</span>      if (!this.connection.useSasl) return bc;<a name="line.460"></a>
-<span class="sourceLineNo">461</span>      // Looks like no way around this; saslserver wants a byte array.  I have to make it one.<a name="line.461"></a>
-<span class="sourceLineNo">462</span>      // THIS IS A BIG UGLY COPY.<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      byte [] responseBytes = bc.getBytes();<a name="line.463"></a>
-<span class="sourceLineNo">464</span>      byte [] token;<a name="line.464"></a>
-<span class="sourceLineNo">465</span>      // synchronization may be needed since there can be multiple Handler<a name="line.465"></a>
-<span class="sourceLineNo">466</span>      // threads using saslServer to wrap responses.<a name="line.466"></a>
-<span class="sourceLineNo">467</span>      synchronized (connection.saslServer) {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>        token = connection.saslServer.wrap(responseBytes, 0, responseBytes.length);<a name="line.468"></a>
-<span class="sourceLineNo">469</span>      }<a name="line.469"></a>
-<span class="sourceLineNo">470</span>      if (LOG.isTraceEnabled()) {<a name="line.470"></a>
-<span class="sourceLineNo">471</span>        LOG.trace("Adding saslServer wrapped token of size " + token.length<a name="line.471"></a>
-<span class="sourceLineNo">472</span>            + " as call response.");<a name="line.472"></a>
-<span class="sourceLineNo">473</span>      }<a name="line.473"></a>
-<span class="sourceLineNo">474</span><a name="line.474"></a>
-<span class="sourceLineNo">475</span>      ByteBuffer bbTokenLength = ByteBuffer.wrap(Bytes.toBytes(token.length));<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      ByteBuffer bbTokenBytes = ByteBuffer.wrap(token);<a name="line.476"></a>
-<span class="sourceLineNo">477</span>      return new BufferChain(bbTokenLength, bbTokenBytes);<a name="line.477"></a>
-<span class="sourceLineNo">478</span>    }<a name="line.478"></a>
-<span class="sourceLineNo">479</span><a name="line.479"></a>
-<span class="sourceLineNo">480</span>    @Override<a name="line.480"></a>
-<span class="sourceLineNo">481</span>    public boolean isClientCellBlockSupported() {<a name="line.481"></a>
-<span class="sourceLineNo">482</span>      return this.connection != null &amp;&amp; this.connection.codec != null;<a name="line.482"></a>
-<span class="sourceLineNo">483</span>    }<a name="line.483"></a>
-<span class="sourceLineNo">484</span><a name="line.484"></a>
-<span class="sourceLineNo">485</span>    @Override<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    public long disconnectSince() {<a name="line.486"></a>
-<span class="sourceLineNo">487</span>      if (!connection.channel.isOpen()) {<a name="line.487"></a>
-<span class="sourceLineNo">488</span>        return System.currentTimeMillis() - timestamp;<a name="line.488"></a>
-<span class="sourceLineNo">489</span>      } else {<a name="line.489"></a>
-<span class="sourceLineNo">490</span>        return -1L;<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><a name="line.493"></a>
-<span class="sourceLineNo">494</span>    public long getSize() {<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      return this.size;<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    }<a name="line.496"></a>
-<span class="sourceLineNo">497</span><a name="line.497"></a>
-<span class="sourceLineNo">498</span>    public long getResponseCellSize() {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>      return responseCellSize;<a name="line.499"></a>
-<span class="sourceLineNo">500</span>    }<a name="line.500"></a>
-<span class="sourceLineNo">501</span><a name="line.501"></a>
-<span class="sourceLineNo">502</span>    public void incrementResponseCellSize(long cellSize) {<a name="line.502"></a>
-<span class="sourceLineNo">503</span>      responseCellSize += cellSize;<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 long getResponseBlockSize() {<a name="line.507"></a>
-<span class="sourceLineNo">508</span>      return responseBlockSize;<a name="line.508"></a>
-<span class="sourceLineNo">509</span>    }<a name="line.509"></a>
-<span class="sourceLineNo">510</span><a name="line.510"></a>
-<span class="sourceLineNo">511</span>    @Override<a name="line.511"></a>
-<span class="sourceLineNo">512</span>    public void incrementResponseBlockSize(long blockSize) {<a name="line.512"></a>
-<span class="sourceLineNo">513</span>      responseBlockSize += blockSize;<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>    public synchronized void sendResponseIfReady() throws IOException {<a name="line.516"></a>
-<span class="sourceLineNo">517</span>      this.responder.doRespond(this);<a name="line.517"></a>
-<span class="sourceLineNo">518</span>    }<a name="line.518"></a>
-<span class="sourceLineNo">519</span><a name="line.519"></a>
-<span class="sourceLineNo">520</span>    public UserGroupInformation getRemoteUser() {<a name="line.520"></a>
-<span class="sourceLineNo">521</span>      return connection.ugi;<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 User getRequestUser() {<a name="line.525"></a>
-<span class="sourceLineNo">526</span>      return user;<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 String getRequestUserName() {<a name="line.530"></a>
-<span class="sourceLineNo">531</span>      User user = getRequestUser();<a name="line.531"></a>
-<span class="sourceLineNo">532</span>      return user == null? null: user.getShortName();<a name="line.532"></a>
-<span class="sourceLineNo">533</span>    }<a name="line.533"></a>
-<span class="sourceLineNo">534</span><a name="line.534"></a>
-<span class="sourceLineNo">535</span>    @Override<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    public InetAddress getRemoteAddress() {<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      return remoteAddress;<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    }<a name="line.538"></a>
-<span class="sourceLineNo">539</span><a name="line.539"></a>
-<span class="sourceLineNo">540</span>    @Override<a name="line.540"></a>
-<span class="sourceLineNo">541</span>    public VersionInfo getClientVersionInfo() {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>      return connection.getVersionInfo();<a name="line.542"></a>
-<span class="sourceLineNo">543</span>    }<a name="line.543"></a>
-<span class="sourceLineNo">544</span><a name="line.544"></a>
-<span class="sourceLineNo">545</span>    @Override<a name="line.545"></a>
-<span class="sourceLineNo">546</span>    public synchronized void setCallBack(RpcCallback callback) {<a name="line.546"></a>
-<span class="sourceLineNo">547</span>      this.callback = callback;<a name="line.547"></a>
-<span class="sourceLineNo">548</span>    }<a name="line.548"></a>
-<span class="sourceLineNo">549</span><a name="line.549"></a>
-<span class="sourceLineNo">550</span>    @Override<a name="line.550"></a>
-<span class="sourceLineNo">551</span>    public boolean isRetryImmediatelySupported() {<a name="line.551"></a>
-<span class="sourceLineNo">552</span>      return retryImmediatelySupported;<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><a name="line.555"></a>
-<span class="sourceLineNo">556</span>  /** Listens on the socket. Creates jobs for the handler threads*/<a name="line.556"></a>
-<span class="sourceLineNo">557</span>  private class Listener extends Thread {<a name="line.557"></a>
-<span class="sourceLineNo">558</span><a name="line.558"></a>
-<span class="sourceLineNo">559</span>    private ServerSocketChannel acceptChannel = null; //the accept channel<a name="line.559"></a>
-<span class="sourceLineNo">560</span>    private Selector selector = null; //the selector that we use for the server<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    private Reader[] readers = null;<a name="line.561"></a>
-<span class="sourceLineNo">562</span>    private int currentReader = 0;<a name="line.562"></a>
-<span class="sourceLineNo">563</span>    private Random rand = new Random();<a name="line.563"></a>
-<span class="sourceLineNo">564</span>    private long lastCleanupRunTime = 0; //the last time when a cleanup connec-<a name="line.564"></a>
-<span class="sourceLineNo">565</span>                                         //-tion (for idle connections) ran<a name="line.565"></a>
-<span class="sourceLineNo">566</span>    private long cleanupInterval = 10000; //the minimum interval between<a name="line.566"></a>
-<span class="sourceLineNo">567</span>                                          //two cleanup runs<a name="line.567"></a>
-<span class="sourceLineNo">568</span>    private int backlogLength;<a name="line.568"></a>
-<span class="sourceLineNo">569</span><a name="line.569"></a>
-<span class="sourceLineNo">570</span>    private ExecutorService readPool;<a name="line.570"></a>
-<span class="sourceLineNo">571</span><a name="line.571"></a>
-<span class="sourceLineNo">572</span>    public Listener(final String name) throws IOException {<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      super(name);<a name="line.573"></a>
-<span class="sourceLineNo">574</span>      backlogLength = conf.getInt("hbase.ipc.server.listen.queue.size", 128);<a name="line.574"></a>
-<span class="sourceLineNo">575</span>      // Create a new server socket and set to non blocking mode<a name="line.575"></a>
-<span class="sourceLineNo">576</span>      acceptChannel = ServerSocketChannel.open();<a name="line.576"></a>
-<span class="sourceLineNo">577</span>      acceptChannel.configureBlocking(false);<a name="line.577"></a>
-<span class="sourceLineNo">578</span><a name="line.578"></a>
-<span class="sourceLineNo">579</span>      // Bind the server socket to the binding addrees (can be different from the default interface)<a name="line.579"></a>
-<span class="sourceLineNo">580</span>      bind(acceptChannel.socket(), bindAddress, backlogLength);<a name="line.580"></a>
-<span class="sourceLineNo">581</span>      port = acceptChannel.socket().getLocalPort(); //Could be an ephemeral port<a name="line.581"></a>
-<span class="sourceLineNo">582</span>      address = (InetSocketAddress)acceptChannel.socket().getLocalSocketAddress();<a name="line.582"></a>
-<span class="sourceLineNo">583</span>      // create a selector;<a name="line.583"></a>
-<span class="sourceLineNo">584</span>      selector= Selector.open();<a name="line.584"></a>
-<span class="sourceLineNo">585</span><a name="line.585"></a>
-<span class="sourceLineNo">586</span>      readers = new Reader[readThreads];<a name="line.586"></a>
-<span class="sourceLineNo">587</span>      readPool = Executors.newFixedThreadPool(readThreads,<a name="line.587"></a>
-<span class="sourceLineNo">588</span>        new ThreadFactoryBuilder().setNameFormat(<a name="line.588"></a>
-<span class="sourceLineNo">589</span>          "RpcServer.reader=%d,bindAddress=" + bindAddress.getHostName() +<a name="line.589"></a>
-<span class="sourceLineNo">590</span>          ",port=" + port).setDaemon(true).build());<a name="line.590"></a>
-<span class="sourceLineNo">591</span>      for (int i = 0; i &lt; readThreads; ++i) {<a name="line.591"></a>
-<span class="sourceLineNo">592</span>        Reader reader = new Reader();<a name="line.592"></a>
-<span class="sourceLineNo">593</span>        readers[i] = reader;<a name="line.593"></a>
-<span class="sourceLineNo">594</span>        readPool.execute(reader);<a name="line.594"></a>
-<span class="sourceLineNo">595</span>      }<a name="line.595"></a>
-<span class="sourceLineNo">596</span>      LOG.info(getName() + ": started " + readThreads + " reader(s) listening on port=" + port);<a name="line.596"></a>
-<span class="sourceLineNo">597</span><a name="line.597"></a>
-<span class="sourceLineNo">598</span>      // Register accepts on the server socket with the selector.<a name="line.598"></a>
-<span class="sourceLineNo">599</span>      acceptChannel.register(selector, SelectionKey.OP_ACCEPT);<a name="line.599"></a>
-<span class="sourceLineNo">600</span>      this.setName("RpcServer.listener,port=" + port);<a name="line.600"></a>
-<span class="sourceLineNo">601</span>      this.setDaemon(true);<a name="line.601"></a>
-<span class="sourceLineNo">602</span>    }<a name="line.602"></a>
+<span class="sourceLineNo">130</span><a name="line.130"></a>
+<span class="sourceLineNo">131</span>import com.google.common.util.concurrent.ThreadFactoryBuilder;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import com.google.protobuf.BlockingService;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import com.google.protobuf.CodedInputStream;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import com.google.protobuf.Descriptors.MethodDescriptor;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import com.google.protobuf.Message;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import com.google.protobuf.ServiceException;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import com.google.protobuf.TextFormat;<a name="line.137"></a>
+<span class="sourceLineNo">138</span><a name="line.138"></a>
+<span class="sourceLineNo">139</span>/**<a name="line.139"></a>
+<span class="sourceLineNo">140</span> * An RPC server that hosts protobuf described Services.<a name="line.140"></a>
+<span class="sourceLineNo">141</span> *<a name="line.141"></a>
+<span class="sourceLineNo">142</span> * An RpcServer instance has a Listener that hosts the socket.  Listener has fixed number<a name="line.142"></a>
+<span class="sourceLineNo">143</span> * of Readers in an ExecutorPool, 10 by default.  The Listener does an accept and then<a name="line.143"></a>
+<span class="sourceLineNo">144</span> * round robin a Reader is chosen to do the read.  The reader is registered on Selector.  Read does<a name="line.144"></a>
+<span class="sourceLineNo">145</span> * total read off the channel and the parse from which it makes a Call.  The call is wrapped in a<a name="line.145"></a>
+<span class="sourceLineNo">146</span> * CallRunner and passed to the scheduler to be run.  Reader goes back to see if more to be done<a name="line.146"></a>
+<span class="sourceLineNo">147</span> * and loops till done.<a name="line.147"></a>
+<span class="sourceLineNo">148</span> *<a name="line.148"></a>
+<span class="sourceLineNo">149</span> * &lt;p&gt;Scheduler can be variously implemented but default simple scheduler has handlers to which it<a name="line.149"></a>
+<span class="sourceLineNo">150</span> * has given the queues into which calls (i.e. CallRunner instances) are inserted.  Handlers run<a name="line.150"></a>
+<span class="sourceLineNo">151</span> * taking from the queue.  They run the CallRunner#run method on each item gotten from queue<a name="line.151"></a>
+<span class="sourceLineNo">152</span> * and keep taking while the server is up.<a name="line.152"></a>
+<span class="sourceLineNo">153</span> *<a name="line.153"></a>
+<span class="sourceLineNo">154</span> * CallRunner#run executes the call.  When done, asks the included Call to put itself on new<a name="line.154"></a>
+<span class="sourceLineNo">155</span> * queue for Responder to pull from and return result to client.<a name="line.155"></a>
+<span class="sourceLineNo">156</span> *<a name="line.156"></a>
+<span class="sourceLineNo">157</span> * @see RpcClientImpl<a name="line.157"></a>
+<span class="sourceLineNo">158</span> */<a name="line.158"></a>
+<span class="sourceLineNo">159</span>@InterfaceAudience.LimitedPrivate({HBaseInterfaceAudience.COPROC, HBaseInterfaceAudience.PHOENIX})<a name="line.159"></a>
+<span class="sourceLineNo">160</span>@InterfaceStability.Evolving<a name="line.160"></a>
+<span class="sourceLineNo">161</span>public class RpcServer implements RpcServerInterface, ConfigurationObserver {<a name="line.161"></a>
+<span class="sourceLineNo">162</span>  // LOG is being used in CallRunner and the log level is being changed in tests<a name="line.162"></a>
+<span class="sourceLineNo">163</span>  public static final Log LOG = LogFactory.getLog(RpcServer.class);<a name="line.163"></a>
+<span class="sourceLineNo">164</span>  private static final CallQueueTooBigException CALL_QUEUE_TOO_BIG_EXCEPTION<a name="line.164"></a>
+<span class="sourceLineNo">165</span>      = new CallQueueTooBigException();<a name="line.165"></a>
+<span class="sourceLineNo">166</span><a name="line.166"></a>
+<span class="sourceLineNo">167</span>  private final boolean authorize;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>  private boolean isSecurityEnabled;<a name="line.168"></a>
+<span class="sourceLineNo">169</span><a name="line.169"></a>
+<span class="sourceLineNo">170</span>  public static final byte CURRENT_VERSION = 0;<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>   * Whether we allow a fallback to SIMPLE auth for insecure clients when security is enabled.<a name="line.173"></a>
+<span class="sourceLineNo">174</span>   */<a name="line.174"></a>
+<span class="sourceLineNo">175</span>  public static final String FALLBACK_TO_INSECURE_CLIENT_AUTH =<a name="line.175"></a>
+<span class="sourceLineNo">176</span>          "hbase.ipc.server.fallback-to-simple-auth-allowed";<a name="line.176"></a>
+<span class="sourceLineNo">177</span><a name="line.177"></a>
+<span class="sourceLineNo">178</span>  /**<a name="line.178"></a>
+<span class="sourceLineNo">179</span>   * How many calls/handler are allowed in the queue.<a name="line.179"></a>
+<span class="sourceLineNo">180</span>   */<a name="line.180"></a>
+<span class="sourceLineNo">181</span>  static final int DEFAULT_MAX_CALLQUEUE_LENGTH_PER_HANDLER = 10;<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>   * The maximum size that we can hold in the RPC queue<a name="line.184"></a>
+<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 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 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>  /** 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 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 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 final RpcScheduler scheduler;<a name="line.274"></a>
+<span class="sourceLineNo">275</span><a name="line.275"></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">

<TRUNCATED>

[03/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/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 e4df7cc..704e192 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
@@ -65,2544 +65,2553 @@
 <span class="sourceLineNo">057</span>import java.util.concurrent.ConcurrentLinkedDeque;<a name="line.57"></a>
 <span class="sourceLineNo">058</span>import java.util.concurrent.ExecutorService;<a name="line.58"></a>
 <span class="sourceLineNo">059</span>import java.util.concurrent.Executors;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import java.util.concurrent.locks.Lock;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import java.util.concurrent.locks.ReentrantLock;<a name="line.62"></a>
-<span class="sourceLineNo">063</span><a name="line.63"></a>
-<span class="sourceLineNo">064</span>import javax.security.sasl.Sasl;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import javax.security.sasl.SaslException;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import javax.security.sasl.SaslServer;<a name="line.66"></a>
-<span class="sourceLineNo">067</span><a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.commons.logging.Log;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.commons.logging.LogFactory;<a name="line.69"></a>
+<span class="sourceLineNo">060</span>import java.util.concurrent.locks.Lock;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import java.util.concurrent.locks.ReentrantLock;<a name="line.61"></a>
+<span class="sourceLineNo">062</span><a name="line.62"></a>
+<span class="sourceLineNo">063</span>import javax.security.sasl.Sasl;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import javax.security.sasl.SaslException;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import javax.security.sasl.SaslServer;<a name="line.65"></a>
+<span class="sourceLineNo">066</span><a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.commons.logging.Log;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.commons.logging.LogFactory;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.conf.Configuration;<a name="line.69"></a>
 <span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.CallQueueTooBigException;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.conf.Configuration;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.HBaseIOException;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.HBaseInterfaceAudience;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.HConstants;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.Server;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.TableName;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.client.Operation;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.client.VersionInfoUtil;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.codec.Codec;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.conf.ConfigurationObserver;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.exceptions.RegionMovedException;<a name="line.86"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.HBaseIOException;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.HBaseInterfaceAudience;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.HConstants;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.Server;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.TableName;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.client.Operation;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.client.VersionInfoUtil;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.codec.Codec;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.conf.ConfigurationObserver;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.exceptions.RegionMovedException;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.io.BoundedByteBufferPool;<a name="line.86"></a>
 <span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.io.ByteBufferOutputStream;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.io.BoundedByteBufferPool;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.monitoring.MonitoredRPCHandler;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.VersionInfo;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.CellBlockMeta;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.ConnectionHeader;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.ExceptionResponse;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RequestHeader;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.ResponseHeader;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.UserInformation;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.regionserver.HRegionServer;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.security.AccessDeniedException;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.security.AuthMethod;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.security.HBasePolicyProvider;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.security.HBaseSaslRpcServer;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.security.User;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.security.HBaseSaslRpcServer.SaslDigestCallbackHandler;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.security.HBaseSaslRpcServer.SaslGssCallbackHandler;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.security.SaslStatus;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.security.SaslUtil;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.security.UserProvider;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.security.token.AuthenticationTokenSecretManager;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.util.Counter;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.io.BytesWritable;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.io.IntWritable;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.io.Writable;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.io.WritableUtils;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.io.compress.CompressionCodec;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.security.UserGroupInformation;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.security.UserGroupInformation.AuthenticationMethod;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.security.authorize.AuthorizationException;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.security.authorize.PolicyProvider;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.security.authorize.ProxyUsers;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.security.authorize.ServiceAuthorizationManager;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.security.token.SecretManager;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.security.token.SecretManager.InvalidToken;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.security.token.TokenIdentifier;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.util.StringUtils;<a name="line.128"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.monitoring.MonitoredRPCHandler;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.VersionInfo;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.CellBlockMeta;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.ConnectionHeader;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.ExceptionResponse;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RequestHeader;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.ResponseHeader;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.UserInformation;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.regionserver.HRegionServer;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.security.AccessDeniedException;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.security.AuthMethod;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.security.HBasePolicyProvider;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.security.HBaseSaslRpcServer;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.security.HBaseSaslRpcServer.SaslDigestCallbackHandler;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.security.HBaseSaslRpcServer.SaslGssCallbackHandler;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.security.SaslStatus;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.security.SaslUtil;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.security.User;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.security.UserProvider;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.security.token.AuthenticationTokenSecretManager;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.util.Counter;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.io.BytesWritable;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.io.IntWritable;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.io.Writable;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.io.WritableUtils;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.io.compress.CompressionCodec;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.security.UserGroupInformation;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.security.UserGroupInformation.AuthenticationMethod;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.security.authorize.AuthorizationException;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.security.authorize.PolicyProvider;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.security.authorize.ProxyUsers;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.security.authorize.ServiceAuthorizationManager;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.security.token.SecretManager;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.security.token.SecretManager.InvalidToken;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.security.token.TokenIdentifier;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.util.StringUtils;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.htrace.TraceInfo;<a name="line.128"></a>
 <span class="sourceLineNo">129</span>import org.codehaus.jackson.map.ObjectMapper;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.htrace.TraceInfo;<a name="line.130"></a>
-<span class="sourceLineNo">131</span><a name="line.131"></a>
-<span class="sourceLineNo">132</span>import com.google.common.util.concurrent.ThreadFactoryBuilder;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import com.google.protobuf.BlockingService;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import com.google.protobuf.CodedInputStream;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import com.google.protobuf.Descriptors.MethodDescriptor;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import com.google.protobuf.Message;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import com.google.protobuf.ServiceException;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import com.google.protobuf.TextFormat;<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> * An RPC server that hosts protobuf described Services.<a name="line.141"></a>
-<span class="sourceLineNo">142</span> *<a name="line.142"></a>
-<span class="sourceLineNo">143</span> * An RpcServer instance has a Listener that hosts the socket.  Listener has fixed number<a name="line.143"></a>
-<span class="sourceLineNo">144</span> * of Readers in an ExecutorPool, 10 by default.  The Listener does an accept and then<a name="line.144"></a>
-<span class="sourceLineNo">145</span> * round robin a Reader is chosen to do the read.  The reader is registered on Selector.  Read does<a name="line.145"></a>
-<span class="sourceLineNo">146</span> * total read off the channel and the parse from which it makes a Call.  The call is wrapped in a<a name="line.146"></a>
-<span class="sourceLineNo">147</span> * CallRunner and passed to the scheduler to be run.  Reader goes back to see if more to be done<a name="line.147"></a>
-<span class="sourceLineNo">148</span> * and loops till done.<a name="line.148"></a>
-<span class="sourceLineNo">149</span> *<a name="line.149"></a>
-<span class="sourceLineNo">150</span> * &lt;p&gt;Scheduler can be variously implemented but default simple scheduler has handlers to which it<a name="line.150"></a>
-<span class="sourceLineNo">151</span> * has given the queues into which calls (i.e. CallRunner instances) are inserted.  Handlers run<a name="line.151"></a>
-<span class="sourceLineNo">152</span> * taking from the queue.  They run the CallRunner#run method on each item gotten from queue<a name="line.152"></a>
-<span class="sourceLineNo">153</span> * and keep taking while the server is up.<a name="line.153"></a>
-<span class="sourceLineNo">154</span> *<a name="line.154"></a>
-<span class="sourceLineNo">155</span> * CallRunner#run executes the call.  When done, asks the included Call to put itself on new<a name="line.155"></a>
-<span class="sourceLineNo">156</span> * queue for Responder to pull from and return result to client.<a name="line.156"></a>
-<span class="sourceLineNo">157</span> *<a name="line.157"></a>
-<span class="sourceLineNo">158</span> * @see RpcClientImpl<a name="line.158"></a>
-<span class="sourceLineNo">159</span> */<a name="line.159"></a>
-<span class="sourceLineNo">160</span>@InterfaceAudience.LimitedPrivate({HBaseInterfaceAudience.COPROC, HBaseInterfaceAudience.PHOENIX})<a name="line.160"></a>
-<span class="sourceLineNo">161</span>@InterfaceStability.Evolving<a name="line.161"></a>
-<span class="sourceLineNo">162</span>public class RpcServer implements RpcServerInterface, ConfigurationObserver {<a name="line.162"></a>
-<span class="sourceLineNo">163</span>  // LOG is being used in CallRunner and the log level is being changed in tests<a name="line.163"></a>
-<span class="sourceLineNo">164</span>  public static final Log LOG = LogFactory.getLog(RpcServer.class);<a name="line.164"></a>
-<span class="sourceLineNo">165</span>  private static final CallQueueTooBigException CALL_QUEUE_TOO_BIG_EXCEPTION<a name="line.165"></a>
-<span class="sourceLineNo">166</span>      = new CallQueueTooBigException();<a name="line.166"></a>
-<span class="sourceLineNo">167</span><a name="line.167"></a>
-<span class="sourceLineNo">168</span>  private final boolean authorize;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>  private boolean isSecurityEnabled;<a name="line.169"></a>
-<span class="sourceLineNo">170</span><a name="line.170"></a>
-<span class="sourceLineNo">171</span>  public static final byte CURRENT_VERSION = 0;<a name="line.171"></a>
-<span class="sourceLineNo">172</span><a name="line.172"></a>
-<span class="sourceLineNo">173</span>  /**<a name="line.173"></a>
-<span class="sourceLineNo">174</span>   * Whether we allow a fallback to SIMPLE auth for insecure clients when security is enabled.<a name="line.174"></a>
-<span class="sourceLineNo">175</span>   */<a name="line.175"></a>
-<span class="sourceLineNo">176</span>  public static final String FALLBACK_TO_INSECURE_CLIENT_AUTH =<a name="line.176"></a>
-<span class="sourceLineNo">177</span>          "hbase.ipc.server.fallback-to-simple-auth-allowed";<a name="line.177"></a>
-<span class="sourceLineNo">178</span><a name="line.178"></a>
-<span class="sourceLineNo">179</span>  /**<a name="line.179"></a>
-<span class="sourceLineNo">180</span>   * How many calls/handler are allowed in the queue.<a name="line.180"></a>
-<span class="sourceLineNo">181</span>   */<a name="line.181"></a>
-<span class="sourceLineNo">182</span>  static final int DEFAULT_MAX_CALLQUEUE_LENGTH_PER_HANDLER = 10;<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>   * The maximum size that we can hold in the RPC queue<a name="line.185"></a>
-<span class="sourceLineNo">186</span>   */<a name="line.186"></a>
-<span class="sourceLineNo">187</span>  private static final int DEFAULT_MAX_CALLQUEUE_SIZE = 1024 * 1024 * 1024;<a name="line.187"></a>
-<span class="sourceLineNo">188</span><a name="line.188"></a>
-<span class="sourceLineNo">189</span>  private final IPCUtil ipcUtil;<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span>  private static final String AUTH_FAILED_FOR = "Auth failed for ";<a name="line.191"></a>
-<span class="sourceLineNo">192</span>  private static final String AUTH_SUCCESSFUL_FOR = "Auth successful for ";<a name="line.192"></a>
-<span class="sourceLineNo">193</span>  private static final Log AUDITLOG = LogFactory.getLog("SecurityLogger." +<a name="line.193"></a>
-<span class="sourceLineNo">194</span>    Server.class.getName());<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  protected SecretManager&lt;TokenIdentifier&gt; secretManager;<a name="line.195"></a>
-<span class="sourceLineNo">196</span>  protected ServiceAuthorizationManager authManager;<a name="line.196"></a>
-<span class="sourceLineNo">197</span><a name="line.197"></a>
-<span class="sourceLineNo">198</span>  /** This is set to Call object before Handler invokes an RPC and ybdie<a name="line.198"></a>
-<span class="sourceLineNo">199</span>   * after the call returns.<a name="line.199"></a>
-<span class="sourceLineNo">200</span>   */<a name="line.200"></a>
-<span class="sourceLineNo">201</span>  protected static final ThreadLocal&lt;Call&gt; CurCall = new ThreadLocal&lt;Call&gt;();<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>  /** Keeps MonitoredRPCHandler per handler thread. */<a name="line.203"></a>
-<span class="sourceLineNo">204</span>  static final ThreadLocal&lt;MonitoredRPCHandler&gt; MONITORED_RPC<a name="line.204"></a>
-<span class="sourceLineNo">205</span>      = new ThreadLocal&lt;MonitoredRPCHandler&gt;();<a name="line.205"></a>
-<span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>  protected final InetSocketAddress bindAddress;<a name="line.207"></a>
-<span class="sourceLineNo">208</span>  protected int port;                             // port we listen on<a name="line.208"></a>
-<span class="sourceLineNo">209</span>  protected InetSocketAddress address;            // inet address we listen on<a name="line.209"></a>
-<span class="sourceLineNo">210</span>  private int readThreads;                        // number of read threads<a name="line.210"></a>
-<span class="sourceLineNo">211</span>  protected int maxIdleTime;                      // the maximum idle time after<a name="line.211"></a>
-<span class="sourceLineNo">212</span>                                                  // which a client may be<a name="line.212"></a>
-<span class="sourceLineNo">213</span>                                                  // disconnected<a name="line.213"></a>
-<span class="sourceLineNo">214</span>  protected int thresholdIdleConnections;         // the number of idle<a name="line.214"></a>
-<span class="sourceLineNo">215</span>                                                  // connections after which we<a name="line.215"></a>
-<span class="sourceLineNo">216</span>                                                  // will start cleaning up idle<a name="line.216"></a>
-<span class="sourceLineNo">217</span>                                                  // connections<a name="line.217"></a>
-<span class="sourceLineNo">218</span>  int maxConnectionsToNuke;                       // the max number of<a name="line.218"></a>
-<span class="sourceLineNo">219</span>                                                  // connections to nuke<a name="line.219"></a>
-<span class="sourceLineNo">220</span>                                                  // during a cleanup<a name="line.220"></a>
-<span class="sourceLineNo">221</span><a name="line.221"></a>
-<span class="sourceLineNo">222</span>  protected MetricsHBaseServer metrics;<a name="line.222"></a>
-<span class="sourceLineNo">223</span><a name="line.223"></a>
-<span class="sourceLineNo">224</span>  protected final Configuration conf;<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  private int maxQueueSize;<a name="line.226"></a>
-<span class="sourceLineNo">227</span>  protected int socketSendBufferSize;<a name="line.227"></a>
-<span class="sourceLineNo">228</span>  protected final boolean tcpNoDelay;   // if T then disable Nagle's Algorithm<a name="line.228"></a>
-<span class="sourceLineNo">229</span>  protected final boolean tcpKeepAlive; // if T then use keepalives<a name="line.229"></a>
-<span class="sourceLineNo">230</span>  protected final long purgeTimeout;    // in milliseconds<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>  /**<a name="line.232"></a>
-<span class="sourceLineNo">233</span>   * This flag is used to indicate to sub threads when they should go down.  When we call<a name="line.233"></a>
-<span class="sourceLineNo">234</span>   * {@link #start()}, all threads started will consult this flag on whether they should<a name="line.234"></a>
-<span class="sourceLineNo">235</span>   * keep going.  It is set to false when {@link #stop()} is called.<a name="line.235"></a>
-<span class="sourceLineNo">236</span>   */<a name="line.236"></a>
-<span class="sourceLineNo">237</span>  volatile boolean running = true;<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>   * This flag is set to true after all threads are up and 'running' and the server is then opened<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   * for business by the call to {@link #start()}.<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   */<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  volatile boolean started = false;<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 is a running count of the size of all outstanding calls by size.<a name="line.246"></a>
-<span class="sourceLineNo">247</span>   */<a name="line.247"></a>
-<span class="sourceLineNo">248</span>  protected final Counter callQueueSize = new Counter();<a name="line.248"></a>
-<span class="sourceLineNo">249</span><a name="line.249"></a>
-<span class="sourceLineNo">250</span>  protected final List&lt;Connection&gt; connectionList =<a name="line.250"></a>
-<span class="sourceLineNo">251</span>    Collections.synchronizedList(new LinkedList&lt;Connection&gt;());<a name="line.251"></a>
-<span class="sourceLineNo">252</span>  //maintain a list<a name="line.252"></a>
-<span class="sourceLineNo">253</span>  //of client connections<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  private Listener listener = null;<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  protected Responder responder = null;<a name="line.255"></a>
-<span class="sourceLineNo">256</span>  protected AuthenticationTokenSecretManager authTokenSecretMgr = null;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>  protected int numConnections = 0;<a name="line.257"></a>
-<span class="sourceLineNo">258</span><a name="line.258"></a>
-<span class="sourceLineNo">259</span>  protected HBaseRPCErrorHandler errorHandler = null;<a name="line.259"></a>
-<span class="sourceLineNo">260</span><a name="line.260"></a>
-<span class="sourceLineNo">261</span>  private static final String WARN_RESPONSE_TIME = "hbase.ipc.warn.response.time";<a name="line.261"></a>
-<span class="sourceLineNo">262</span>  private static final String WARN_RESPONSE_SIZE = "hbase.ipc.warn.response.size";<a name="line.262"></a>
-<span class="sourceLineNo">263</span><a name="line.263"></a>
-<span class="sourceLineNo">264</span>  /** Default value for above params */<a name="line.264"></a>
-<span class="sourceLineNo">265</span>  private static final int DEFAULT_WARN_RESPONSE_TIME = 10000; // milliseconds<a name="line.265"></a>
-<span class="sourceLineNo">266</span>  private static final int DEFAULT_WARN_RESPONSE_SIZE = 100 * 1024 * 1024;<a name="line.266"></a>
-<span class="sourceLineNo">267</span><a name="line.267"></a>
-<span class="sourceLineNo">268</span>  private static final ObjectMapper MAPPER = new ObjectMapper();<a name="line.268"></a>
-<span class="sourceLineNo">269</span><a name="line.269"></a>
-<span class="sourceLineNo">270</span>  private final int warnResponseTime;<a name="line.270"></a>
-<span class="sourceLineNo">271</span>  private final int warnResponseSize;<a name="line.271"></a>
-<span class="sourceLineNo">272</span>  private final Server server;<a name="line.272"></a>
-<span class="sourceLineNo">273</span>  private final List&lt;BlockingServiceAndInterface&gt; services;<a name="line.273"></a>
-<span class="sourceLineNo">274</span><a name="line.274"></a>
-<span class="sourceLineNo">275</span>  private final RpcScheduler scheduler;<a name="line.275"></a>
-<span class="sourceLineNo">276</span><a name="line.276"></a>
-<span class="sourceLineNo">277</span>  private UserProvider userProvider;<a name="line.277"></a>
-<span class="sourceLineNo">278</span><a name="line.278"></a>
-<span class="sourceLineNo">279</span>  private final BoundedByteBufferPool reservoir;<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  private volatile boolean allowFallbackToSimpleAuth;<a name="line.281"></a>
-<span class="sourceLineNo">282</span><a name="line.282"></a>
-<span class="sourceLineNo">283</span>  /**<a name="line.283"></a>
-<span class="sourceLineNo">284</span>   * Datastructure that holds all necessary to a method invocation and then afterward, carries<a name="line.284"></a>
-<span class="sourceLineNo">285</span>   * the result.<a name="line.285"></a>
-<span class="sourceLineNo">286</span>   */<a name="line.286"></a>
-<span class="sourceLineNo">287</span>  class Call implements RpcCallContext {<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    protected int id;                             // the client's call id<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    protected BlockingService service;<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    protected MethodDescriptor md;<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    protected RequestHeader header;<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    protected Message param;                      // the parameter passed<a name="line.292"></a>
-<span class="sourceLineNo">293</span>    // Optional cell data passed outside of protobufs.<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    protected CellScanner cellScanner;<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    protected Connection connection;              // connection to client<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    protected long timestamp;      // the time received when response is null<a name="line.296"></a>
-<span class="sourceLineNo">297</span>                                   // the time served when response is not null<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    /**<a name="line.298"></a>
-<span class="sourceLineNo">299</span>     * Chain of buffers to send as response.<a name="line.299"></a>
-<span class="sourceLineNo">300</span>     */<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    protected BufferChain response;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>    protected Responder responder;<a name="line.302"></a>
-<span class="sourceLineNo">303</span><a name="line.303"></a>
-<span class="sourceLineNo">304</span>    protected long size;                          // size of current call<a name="line.304"></a>
-<span class="sourceLineNo">305</span>    protected boolean isError;<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    protected TraceInfo tinfo;<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    private ByteBuffer cellBlock = null;<a name="line.307"></a>
-<span class="sourceLineNo">308</span><a name="line.308"></a>
-<span class="sourceLineNo">309</span>    private User user;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    private InetAddress remoteAddress;<a name="line.310"></a>
-<span class="sourceLineNo">311</span>    private RpcCallback callback;<a name="line.311"></a>
-<span class="sourceLineNo">312</span><a name="line.312"></a>
-<span class="sourceLineNo">313</span>    private long responseCellSize = 0;<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    private long responseBlockSize = 0;<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    private boolean retryImmediatelySupported;<a name="line.315"></a>
-<span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="NP_NULL_ON_SOME_PATH",<a name="line.317"></a>
-<span class="sourceLineNo">318</span>        justification="Can't figure why this complaint is happening... see below")<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    Call(int id, final BlockingService service, final MethodDescriptor md, RequestHeader header,<a name="line.319"></a>
-<span class="sourceLineNo">320</span>         Message param, CellScanner cellScanner, Connection connection, Responder responder,<a name="line.320"></a>
-<span class="sourceLineNo">321</span>         long size, TraceInfo tinfo, final InetAddress remoteAddress) {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>      this.id = id;<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      this.service = service;<a name="line.323"></a>
-<span class="sourceLineNo">324</span>      this.md = md;<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      this.header = header;<a name="line.325"></a>
-<span class="sourceLineNo">326</span>      this.param = param;<a name="line.326"></a>
-<span class="sourceLineNo">327</span>      this.cellScanner = cellScanner;<a name="line.327"></a>
-<span class="sourceLineNo">328</span>      this.connection = connection;<a name="line.328"></a>
-<span class="sourceLineNo">329</span>      this.timestamp = System.currentTimeMillis();<a name="line.329"></a>
-<span class="sourceLineNo">330</span>      this.response = null;<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      this.responder = responder;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>      this.isError = false;<a name="line.332"></a>
-<span class="sourceLineNo">333</span>      this.size = size;<a name="line.333"></a>
-<span class="sourceLineNo">334</span>      this.tinfo = tinfo;<a name="line.334"></a>
-<span class="sourceLineNo">335</span>      this.user = connection == null? null: connection.user; // FindBugs: NP_NULL_ON_SOME_PATH<a name="line.335"></a>
-<span class="sourceLineNo">336</span>      this.remoteAddress = remoteAddress;<a name="line.336"></a>
-<span class="sourceLineNo">337</span>      this.retryImmediatelySupported =<a name="line.337"></a>
-<span class="sourceLineNo">338</span>          connection == null? null: connection.retryImmediatelySupported;<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>     * Call is done. Execution happened and we returned results to client. It is now safe to<a name="line.342"></a>
-<span class="sourceLineNo">343</span>     * cleanup.<a name="line.343"></a>
-<span class="sourceLineNo">344</span>     */<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="IS2_INCONSISTENT_SYNC",<a name="line.345"></a>
-<span class="sourceLineNo">346</span>        justification="Presume the lock on processing request held by caller is protection enough")<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    void done() {<a name="line.347"></a>
-<span class="sourceLineNo">348</span>      if (this.cellBlock != null &amp;&amp; reservoir != null) {<a name="line.348"></a>
-<span class="sourceLineNo">349</span>        // Return buffer to reservoir now we are done with it.<a name="line.349"></a>
-<span class="sourceLineNo">350</span>        reservoir.putBuffer(this.cellBlock);<a name="line.350"></a>
-<span class="sourceLineNo">351</span>        this.cellBlock = null;<a name="line.351"></a>
-<span class="sourceLineNo">352</span>      }<a name="line.352"></a>
-<span class="sourceLineNo">353</span>      this.connection.decRpcCount();  // Say that we're done with this call.<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    }<a name="line.354"></a>
-<span class="sourceLineNo">355</span><a name="line.355"></a>
-<span class="sourceLineNo">356</span>    @Override<a name="line.356"></a>
-<span class="sourceLineNo">357</span>    public String toString() {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>      return toShortString() + " param: " +<a name="line.358"></a>
-<span class="sourceLineNo">359</span>        (this.param != null? ProtobufUtil.getShortTextFormat(this.param): "") +<a name="line.359"></a>
-<span class="sourceLineNo">360</span>        " connection: " + connection.toString();<a name="line.360"></a>
-<span class="sourceLineNo">361</span>    }<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>    protected RequestHeader getHeader() {<a name="line.363"></a>
-<span class="sourceLineNo">364</span>      return this.header;<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>
-<span class="sourceLineNo">368</span>     * Short string representation without param info because param itself could be huge depends on<a name="line.368"></a>
-<span class="sourceLineNo">369</span>     * the payload of a command<a name="line.369"></a>
-<span class="sourceLineNo">370</span>     */<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    String toShortString() {<a name="line.371"></a>
-<span class="sourceLineNo">372</span>      String serviceName = this.connection.service != null ?<a name="line.372"></a>
-<span class="sourceLineNo">373</span>          this.connection.service.getDescriptorForType().getName() : "null";<a name="line.373"></a>
-<span class="sourceLineNo">374</span>      return "callId: " + this.id + " service: " + serviceName +<a name="line.374"></a>
-<span class="sourceLineNo">375</span>          " methodName: " + ((this.md != null) ? this.md.getName() : "n/a") +<a name="line.375"></a>
-<span class="sourceLineNo">376</span>          " size: " + StringUtils.TraditionalBinaryPrefix.long2String(this.size, "", 1) +<a name="line.376"></a>
-<span class="sourceLineNo">377</span>          " connection: " + connection.toString();<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    }<a name="line.378"></a>
-<span class="sourceLineNo">379</span><a name="line.379"></a>
-<span class="sourceLineNo">380</span>    String toTraceString() {<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() : "";<a name="line.382"></a>
-<span class="sourceLineNo">383</span>      String methodName = (this.md != null) ? this.md.getName() : "";<a name="line.383"></a>
-<span class="sourceLineNo">384</span>      return serviceName + "." + methodName;<a name="line.384"></a>
-<span class="sourceLineNo">385</span>    }<a name="line.385"></a>
-<span class="sourceLineNo">386</span><a name="line.386"></a>
-<span class="sourceLineNo">387</span>    protected synchronized void setSaslTokenResponse(ByteBuffer response) {<a name="line.387"></a>
-<span class="sourceLineNo">388</span>      this.response = new BufferChain(response);<a name="line.388"></a>
-<span class="sourceLineNo">389</span>    }<a name="line.389"></a>
-<span class="sourceLineNo">390</span><a name="line.390"></a>
-<span class="sourceLineNo">391</span>    protected synchronized void setResponse(Object m, final CellScanner cells,<a name="line.391"></a>
-<span class="sourceLineNo">392</span>        Throwable t, String errorMsg) {<a name="line.392"></a>
-<span class="sourceLineNo">393</span>      if (this.isError) return;<a name="line.393"></a>
-<span class="sourceLineNo">394</span>      if (t != null) this.isError = true;<a name="line.394"></a>
-<span class="sourceLineNo">395</span>      BufferChain bc = null;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>      try {<a name="line.396"></a>
-<span class="sourceLineNo">397</span>        ResponseHeader.Builder headerBuilder = ResponseHeader.newBuilder();<a name="line.397"></a>
-<span class="sourceLineNo">398</span>        // Presume it a pb Message.  Could be null.<a name="line.398"></a>
-<span class="sourceLineNo">399</span>        Message result = (Message)m;<a name="line.399"></a>
-<span class="sourceLineNo">400</span>        // Call id.<a name="line.400"></a>
-<span class="sourceLineNo">401</span>        headerBuilder.setCallId(this.id);<a name="line.401"></a>
-<span class="sourceLineNo">402</span>        if (t != null) {<a name="line.402"></a>
-<span class="sourceLineNo">403</span>          ExceptionResponse.Builder exceptionBuilder = ExceptionResponse.newBuilder();<a name="line.403"></a>
-<span class="sourceLineNo">404</span>          exceptionBuilder.setExceptionClassName(t.getClass().getName());<a name="line.404"></a>
-<span class="sourceLineNo">405</span>          exceptionBuilder.setStackTrace(errorMsg);<a name="line.405"></a>
-<span class="sourceLineNo">406</span>          exceptionBuilder.setDoNotRetry(t instanceof DoNotRetryIOException);<a name="line.406"></a>
-<span class="sourceLineNo">407</span>          if (t instanceof RegionMovedException) {<a name="line.407"></a>
-<span class="sourceLineNo">408</span>            // Special casing for this exception.  This is only one carrying a payload.<a name="line.408"></a>
-<span class="sourceLineNo">409</span>            // Do this instead of build a generic system for allowing exceptions carry<a name="line.409"></a>
-<span class="sourceLineNo">410</span>            // any kind of payload.<a name="line.410"></a>
-<span class="sourceLineNo">411</span>            RegionMovedException rme = (RegionMovedException)t;<a name="line.411"></a>
-<span class="sourceLineNo">412</span>            exceptionBuilder.setHostname(rme.getHostname());<a name="line.412"></a>
-<span class="sourceLineNo">413</span>            exceptionBuilder.setPort(rme.getPort());<a name="line.413"></a>
-<span class="sourceLineNo">414</span>          }<a name="line.414"></a>
-<span class="sourceLineNo">415</span>          // Set the exception as the result of the method invocation.<a name="line.415"></a>
-<span class="sourceLineNo">416</span>          headerBuilder.setException(exceptionBuilder.build());<a name="line.416"></a>
-<span class="sourceLineNo">417</span>        }<a name="line.417"></a>
-<span class="sourceLineNo">418</span>        // Pass reservoir to buildCellBlock. Keep reference to returne so can add it back to the<a name="line.418"></a>
-<span class="sourceLineNo">419</span>        // reservoir when finished. This is hacky and the hack is not contained but benefits are<a name="line.419"></a>
-<span class="sourceLineNo">420</span>        // high when we can avoid a big buffer allocation on each rpc.<a name="line.420"></a>
-<span class="sourceLineNo">421</span>        this.cellBlock = ipcUtil.buildCellBlock(this.connection.codec,<a name="line.421"></a>
-<span class="sourceLineNo">422</span>          this.connection.compressionCodec, cells, reservoir);<a name="line.422"></a>
-<span class="sourceLineNo">423</span>        if (this.cellBlock != null) {<a name="line.423"></a>
-<span class="sourceLineNo">424</span>          CellBlockMeta.Builder cellBlockBuilder = CellBlockMeta.newBuilder();<a name="line.424"></a>
-<span class="sourceLineNo">425</span>          // Presumes the cellBlock bytebuffer has been flipped so limit has total size in it.<a name="line.425"></a>
-<span class="sourceLineNo">426</span>          cellBlockBuilder.setLength(this.cellBlock.limit());<a name="line.426"></a>
-<span class="sourceLineNo">427</span>          headerBuilder.setCellBlockMeta(cellBlockBuilder.build());<a name="line.427"></a>
-<span class="sourceLineNo">428</span>        }<a name="line.428"></a>
-<span class="sourceLineNo">429</span>        Message header = headerBuilder.build();<a name="line.429"></a>
-<span class="sourceLineNo">430</span><a name="line.430"></a>
-<span class="sourceLineNo">431</span>        // Organize the response as a set of bytebuffers rather than collect it all together inside<a name="line.431"></a>
-<span class="sourceLineNo">432</span>        // one big byte array; save on allocations.<a name="line.432"></a>
-<span class="sourceLineNo">433</span>        ByteBuffer bbHeader = IPCUtil.getDelimitedMessageAsByteBuffer(header);<a name="line.433"></a>
-<span class="sourceLineNo">434</span>        ByteBuffer bbResult = IPCUtil.getDelimitedMessageAsByteBuffer(result);<a name="line.434"></a>
-<span class="sourceLineNo">435</span>        int totalSize = bbHeader.capacity() + (bbResult == null? 0: bbResult.limit()) +<a name="line.435"></a>
-<span class="sourceLineNo">436</span>          (this.cellBlock == null? 0: this.cellBlock.limit());<a name="line.436"></a>
-<span class="sourceLineNo">437</span>        ByteBuffer bbTotalSize = ByteBuffer.wrap(Bytes.toBytes(totalSize));<a name="line.437"></a>
-<span class="sourceLineNo">438</span>        bc = new BufferChain(bbTotalSize, bbHeader, bbResult, this.cellBlock);<a name="line.438"></a>
-<span class="sourceLineNo">439</span>        if (connection.useWrap) {<a name="line.439"></a>
-<span class="sourceLineNo">440</span>          bc = wrapWithSasl(bc);<a name="line.440"></a>
-<span class="sourceLineNo">441</span>        }<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      } catch (IOException e) {<a name="line.442"></a>
-<span class="sourceLineNo">443</span>        LOG.warn("Exception while creating response " + e);<a name="line.443"></a>
-<span class="sourceLineNo">444</span>      }<a name="line.444"></a>
-<span class="sourceLineNo">445</span>      this.response = bc;<a name="line.445"></a>
-<span class="sourceLineNo">446</span>      // Once a response message is created and set to this.response, this Call can be treated as<a name="line.446"></a>
-<span class="sourceLineNo">447</span>      // done. The Responder thread will do the n/w write of this message back to client.<a name="line.447"></a>
-<span class="sourceLineNo">448</span>      if (this.callback != null) {<a name="line.448"></a>
-<span class="sourceLineNo">449</span>        try {<a name="line.449"></a>
-<span class="sourceLineNo">450</span>          this.callback.run();<a name="line.450"></a>
-<span class="sourceLineNo">451</span>        } catch (Exception e) {<a name="line.451"></a>
-<span class="sourceLineNo">452</span>          // Don't allow any exception here to kill this handler thread.<a name="line.452"></a>
-<span class="sourceLineNo">453</span>          LOG.warn("Exception while running the Rpc Callback.", e);<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><a name="line.457"></a>
-<span class="sourceLineNo">458</span>    private BufferChain wrapWithSasl(BufferChain bc)<a name="line.458"></a>
-<span class="sourceLineNo">459</span>        throws IOException {<a name="line.459"></a>
-<span class="sourceLineNo">460</span>      if (!this.connection.useSasl) return bc;<a name="line.460"></a>
-<span class="sourceLineNo">461</span>      // Looks like no way around this; saslserver wants a byte array.  I have to make it one.<a name="line.461"></a>
-<span class="sourceLineNo">462</span>      // THIS IS A BIG UGLY COPY.<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      byte [] responseBytes = bc.getBytes();<a name="line.463"></a>
-<span class="sourceLineNo">464</span>      byte [] token;<a name="line.464"></a>
-<span class="sourceLineNo">465</span>      // synchronization may be needed since there can be multiple Handler<a name="line.465"></a>
-<span class="sourceLineNo">466</span>      // threads using saslServer to wrap responses.<a name="line.466"></a>
-<span class="sourceLineNo">467</span>      synchronized (connection.saslServer) {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>        token = connection.saslServer.wrap(responseBytes, 0, responseBytes.length);<a name="line.468"></a>
-<span class="sourceLineNo">469</span>      }<a name="line.469"></a>
-<span class="sourceLineNo">470</span>      if (LOG.isTraceEnabled()) {<a name="line.470"></a>
-<span class="sourceLineNo">471</span>        LOG.trace("Adding saslServer wrapped token of size " + token.length<a name="line.471"></a>
-<span class="sourceLineNo">472</span>            + " as call response.");<a name="line.472"></a>
-<span class="sourceLineNo">473</span>      }<a name="line.473"></a>
-<span class="sourceLineNo">474</span><a name="line.474"></a>
-<span class="sourceLineNo">475</span>      ByteBuffer bbTokenLength = ByteBuffer.wrap(Bytes.toBytes(token.length));<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      ByteBuffer bbTokenBytes = ByteBuffer.wrap(token);<a name="line.476"></a>
-<span class="sourceLineNo">477</span>      return new BufferChain(bbTokenLength, bbTokenBytes);<a name="line.477"></a>
-<span class="sourceLineNo">478</span>    }<a name="line.478"></a>
-<span class="sourceLineNo">479</span><a name="line.479"></a>
-<span class="sourceLineNo">480</span>    @Override<a name="line.480"></a>
-<span class="sourceLineNo">481</span>    public boolean isClientCellBlockSupported() {<a name="line.481"></a>
-<span class="sourceLineNo">482</span>      return this.connection != null &amp;&amp; this.connection.codec != null;<a name="line.482"></a>
-<span class="sourceLineNo">483</span>    }<a name="line.483"></a>
-<span class="sourceLineNo">484</span><a name="line.484"></a>
-<span class="sourceLineNo">485</span>    @Override<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    public long disconnectSince() {<a name="line.486"></a>
-<span class="sourceLineNo">487</span>      if (!connection.channel.isOpen()) {<a name="line.487"></a>
-<span class="sourceLineNo">488</span>        return System.currentTimeMillis() - timestamp;<a name="line.488"></a>
-<span class="sourceLineNo">489</span>      } else {<a name="line.489"></a>
-<span class="sourceLineNo">490</span>        return -1L;<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><a name="line.493"></a>
-<span class="sourceLineNo">494</span>    public long getSize() {<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      return this.size;<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    }<a name="line.496"></a>
-<span class="sourceLineNo">497</span><a name="line.497"></a>
-<span class="sourceLineNo">498</span>    public long getResponseCellSize() {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>      return responseCellSize;<a name="line.499"></a>
-<span class="sourceLineNo">500</span>    }<a name="line.500"></a>
-<span class="sourceLineNo">501</span><a name="line.501"></a>
-<span class="sourceLineNo">502</span>    public void incrementResponseCellSize(long cellSize) {<a name="line.502"></a>
-<span class="sourceLineNo">503</span>      responseCellSize += cellSize;<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 long getResponseBlockSize() {<a name="line.507"></a>
-<span class="sourceLineNo">508</span>      return responseBlockSize;<a name="line.508"></a>
-<span class="sourceLineNo">509</span>    }<a name="line.509"></a>
-<span class="sourceLineNo">510</span><a name="line.510"></a>
-<span class="sourceLineNo">511</span>    @Override<a name="line.511"></a>
-<span class="sourceLineNo">512</span>    public void incrementResponseBlockSize(long blockSize) {<a name="line.512"></a>
-<span class="sourceLineNo">513</span>      responseBlockSize += blockSize;<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>    public synchronized void sendResponseIfReady() throws IOException {<a name="line.516"></a>
-<span class="sourceLineNo">517</span>      this.responder.doRespond(this);<a name="line.517"></a>
-<span class="sourceLineNo">518</span>    }<a name="line.518"></a>
-<span class="sourceLineNo">519</span><a name="line.519"></a>
-<span class="sourceLineNo">520</span>    public UserGroupInformation getRemoteUser() {<a name="line.520"></a>
-<span class="sourceLineNo">521</span>      return connection.ugi;<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 User getRequestUser() {<a name="line.525"></a>
-<span class="sourceLineNo">526</span>      return user;<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 String getRequestUserName() {<a name="line.530"></a>
-<span class="sourceLineNo">531</span>      User user = getRequestUser();<a name="line.531"></a>
-<span class="sourceLineNo">532</span>      return user == null? null: user.getShortName();<a name="line.532"></a>
-<span class="sourceLineNo">533</span>    }<a name="line.533"></a>
-<span class="sourceLineNo">534</span><a name="line.534"></a>
-<span class="sourceLineNo">535</span>    @Override<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    public InetAddress getRemoteAddress() {<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      return remoteAddress;<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    }<a name="line.538"></a>
-<span class="sourceLineNo">539</span><a name="line.539"></a>
-<span class="sourceLineNo">540</span>    @Override<a name="line.540"></a>
-<span class="sourceLineNo">541</span>    public VersionInfo getClientVersionInfo() {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>      return connection.getVersionInfo();<a name="line.542"></a>
-<span class="sourceLineNo">543</span>    }<a name="line.543"></a>
-<span class="sourceLineNo">544</span><a name="line.544"></a>
-<span class="sourceLineNo">545</span>    @Override<a name="line.545"></a>
-<span class="sourceLineNo">546</span>    public synchronized void setCallBack(RpcCallback callback) {<a name="line.546"></a>
-<span class="sourceLineNo">547</span>      this.callback = callback;<a name="line.547"></a>
-<span class="sourceLineNo">548</span>    }<a name="line.548"></a>
-<span class="sourceLineNo">549</span><a name="line.549"></a>
-<span class="sourceLineNo">550</span>    @Override<a name="line.550"></a>
-<span class="sourceLineNo">551</span>    public boolean isRetryImmediatelySupported() {<a name="line.551"></a>
-<span class="sourceLineNo">552</span>      return retryImmediatelySupported;<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><a name="line.555"></a>
-<span class="sourceLineNo">556</span>  /** Listens on the socket. Creates jobs for the handler threads*/<a name="line.556"></a>
-<span class="sourceLineNo">557</span>  private class Listener extends Thread {<a name="line.557"></a>
-<span class="sourceLineNo">558</span><a name="line.558"></a>
-<span class="sourceLineNo">559</span>    private ServerSocketChannel acceptChannel = null; //the accept channel<a name="line.559"></a>
-<span class="sourceLineNo">560</span>    private Selector selector = null; //the selector that we use for the server<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    private Reader[] readers = null;<a name="line.561"></a>
-<span class="sourceLineNo">562</span>    private int currentReader = 0;<a name="line.562"></a>
-<span class="sourceLineNo">563</span>    private Random rand = new Random();<a name="line.563"></a>
-<span class="sourceLineNo">564</span>    private long lastCleanupRunTime = 0; //the last time when a cleanup connec-<a name="line.564"></a>
-<span class="sourceLineNo">565</span>                                         //-tion (for idle connections) ran<a name="line.565"></a>
-<span class="sourceLineNo">566</span>    private long cleanupInterval = 10000; //the minimum interval between<a name="line.566"></a>
-<span class="sourceLineNo">567</span>                                          //two cleanup runs<a name="line.567"></a>
-<span class="sourceLineNo">568</span>    private int backlogLength;<a name="line.568"></a>
-<span class="sourceLineNo">569</span><a name="line.569"></a>
-<span class="sourceLineNo">570</span>    private ExecutorService readPool;<a name="line.570"></a>
-<span class="sourceLineNo">571</span><a name="line.571"></a>
-<span class="sourceLineNo">572</span>    public Listener(final String name) throws IOException {<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      super(name);<a name="line.573"></a>
-<span class="sourceLineNo">574</span>      backlogLength = conf.getInt("hbase.ipc.server.listen.queue.size", 128);<a name="line.574"></a>
-<span class="sourceLineNo">575</span>      // Create a new server socket and set to non blocking mode<a name="line.575"></a>
-<span class="sourceLineNo">576</span>      acceptChannel = ServerSocketChannel.open();<a name="line.576"></a>
-<span class="sourceLineNo">577</span>      acceptChannel.configureBlocking(false);<a name="line.577"></a>
-<span class="sourceLineNo">578</span><a name="line.578"></a>
-<span class="sourceLineNo">579</span>      // Bind the server socket to the binding addrees (can be different from the default interface)<a name="line.579"></a>
-<span class="sourceLineNo">580</span>      bind(acceptChannel.socket(), bindAddress, backlogLength);<a name="line.580"></a>
-<span class="sourceLineNo">581</span>      port = acceptChannel.socket().getLocalPort(); //Could be an ephemeral port<a name="line.581"></a>
-<span class="sourceLineNo">582</span>      address = (InetSocketAddress)acceptChannel.socket().getLocalSocketAddress();<a name="line.582"></a>
-<span class="sourceLineNo">583</span>      // create a selector;<a name="line.583"></a>
-<span class="sourceLineNo">584</span>      selector= Selector.open();<a name="line.584"></a>
-<span class="sourceLineNo">585</span><a name="line.585"></a>
-<span class="sourceLineNo">586</span>      readers = new Reader[readThreads];<a name="line.586"></a>
-<span class="sourceLineNo">587</span>      readPool = Executors.newFixedThreadPool(readThreads,<a name="line.587"></a>
-<span class="sourceLineNo">588</span>        new ThreadFactoryBuilder().setNameFormat(<a name="line.588"></a>
-<span class="sourceLineNo">589</span>          "RpcServer.reader=%d,bindAddress=" + bindAddress.getHostName() +<a name="line.589"></a>
-<span class="sourceLineNo">590</span>          ",port=" + port).setDaemon(true).build());<a name="line.590"></a>
-<span class="sourceLineNo">591</span>      for (int i = 0; i &lt; readThreads; ++i) {<a name="line.591"></a>
-<span class="sourceLineNo">592</span>        Reader reader = new Reader();<a name="line.592"></a>
-<span class="sourceLineNo">593</span>        readers[i] = reader;<a name="line.593"></a>
-<span class="sourceLineNo">594</span>        readPool.execute(reader);<a name="line.594"></a>
-<span class="sourceLineNo">595</span>      }<a name="line.595"></a>
-<span class="sourceLineNo">596</span>      LOG.info(getName() + ": started " + readThreads + " reader(s) listening on port=" + port);<a name="line.596"></a>
-<span class="sourceLineNo">597</span><a name="line.597"></a>
-<span class="sourceLineNo">598</span>      // Register accepts on the server socket with the selector.<a name="line.598"></a>
-<span class="sourceLineNo">599</span>      acceptChannel.register(selector, SelectionKey.OP_ACCEPT);<a name="line.599"></a>
-<span class="sourceLineNo">600</span>      this.setName("RpcServer.listener,port=" + port);<a name="line.600"></a>
-<span class="sourceLineNo">601</span>      this.setDaemon(true);<a name="line.601"></a>
-<span class="sourceLineNo">602</span>    }<a name="line.602"></a>
+<span class="sourceLineNo">130</span><a name="line.130"></a>
+<span class="sourceLineNo">131</span>import com.google.common.util.concurrent.ThreadFactoryBuilder;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import com.google.protobuf.BlockingService;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import com.google.protobuf.CodedInputStream;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import com.google.protobuf.Descriptors.MethodDescriptor;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import com.google.protobuf.Message;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import com.google.protobuf.ServiceException;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import com.google.protobuf.TextFormat;<a name="line.137"></a>
+<span class="sourceLineNo">138</span><a name="line.138"></a>
+<span class="sourceLineNo">139</span>/**<a name="line.139"></a>
+<span class="sourceLineNo">140</span> * An RPC server that hosts protobuf described Services.<a name="line.140"></a>
+<span class="sourceLineNo">141</span> *<a name="line.141"></a>
+<span class="sourceLineNo">142</span> * An RpcServer instance has a Listener that hosts the socket.  Listener has fixed number<a name="line.142"></a>
+<span class="sourceLineNo">143</span> * of Readers in an ExecutorPool, 10 by default.  The Listener does an accept and then<a name="line.143"></a>
+<span class="sourceLineNo">144</span> * round robin a Reader is chosen to do the read.  The reader is registered on Selector.  Read does<a name="line.144"></a>
+<span class="sourceLineNo">145</span> * total read off the channel and the parse from which it makes a Call.  The call is wrapped in a<a name="line.145"></a>
+<span class="sourceLineNo">146</span> * CallRunner and passed to the scheduler to be run.  Reader goes back to see if more to be done<a name="line.146"></a>
+<span class="sourceLineNo">147</span> * and loops till done.<a name="line.147"></a>
+<span class="sourceLineNo">148</span> *<a name="line.148"></a>
+<span class="sourceLineNo">149</span> * &lt;p&gt;Scheduler can be variously implemented but default simple scheduler has handlers to which it<a name="line.149"></a>
+<span class="sourceLineNo">150</span> * has given the queues into which calls (i.e. CallRunner instances) are inserted.  Handlers run<a name="line.150"></a>
+<span class="sourceLineNo">151</span> * taking from the queue.  They run the CallRunner#run method on each item gotten from queue<a name="line.151"></a>
+<span class="sourceLineNo">152</span> * and keep taking while the server is up.<a name="line.152"></a>
+<span class="sourceLineNo">153</span> *<a name="line.153"></a>
+<span class="sourceLineNo">154</span> * CallRunner#run executes the call.  When done, asks the included Call to put itself on new<a name="line.154"></a>
+<span class="sourceLineNo">155</span> * queue for Responder to pull from and return result to client.<a name="line.155"></a>
+<span class="sourceLineNo">156</span> *<a name="line.156"></a>
+<span class="sourceLineNo">157</span> * @see RpcClientImpl<a name="line.157"></a>
+<span class="sourceLineNo">158</span> */<a name="line.158"></a>
+<span class="sourceLineNo">159</span>@InterfaceAudience.LimitedPrivate({HBaseInterfaceAudience.COPROC, HBaseInterfaceAudience.PHOENIX})<a name="line.159"></a>
+<span class="sourceLineNo">160</span>@InterfaceStability.Evolving<a name="line.160"></a>
+<span class="sourceLineNo">161</span>public class RpcServer implements RpcServerInterface, ConfigurationObserver {<a name="line.161"></a>
+<span class="sourceLineNo">162</span>  // LOG is being used in CallRunner and the log level is being changed in tests<a name="line.162"></a>
+<span class="sourceLineNo">163</span>  public static final Log LOG = LogFactory.getLog(RpcServer.class);<a name="line.163"></a>
+<span class="sourceLineNo">164</span>  private static final CallQueueTooBigException CALL_QUEUE_TOO_BIG_EXCEPTION<a name="line.164"></a>
+<span class="sourceLineNo">165</span>      = new CallQueueTooBigException();<a name="line.165"></a>
+<span class="sourceLineNo">166</span><a name="line.166"></a>
+<span class="sourceLineNo">167</span>  private final boolean authorize;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>  private boolean isSecurityEnabled;<a name="line.168"></a>
+<span class="sourceLineNo">169</span><a name="line.169"></a>
+<span class="sourceLineNo">170</span>  public static final byte CURRENT_VERSION = 0;<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>   * Whether we allow a fallback to SIMPLE auth for insecure clients when security is enabled.<a name="line.173"></a>
+<span class="sourceLineNo">174</span>   */<a name="line.174"></a>
+<span class="sourceLineNo">175</span>  public static final String FALLBACK_TO_INSECURE_CLIENT_AUTH =<a name="line.175"></a>
+<span class="sourceLineNo">176</span>          "hbase.ipc.server.fallback-to-simple-auth-allowed";<a name="line.176"></a>
+<span class="sourceLineNo">177</span><a name="line.177"></a>
+<span class="sourceLineNo">178</span>  /**<a name="line.178"></a>
+<span class="sourceLineNo">179</span>   * How many calls/handler are allowed in the queue.<a name="line.179"></a>
+<span class="sourceLineNo">180</span>   */<a name="line.180"></a>
+<span class="sourceLineNo">181</span>  static final int DEFAULT_MAX_CALLQUEUE_LENGTH_PER_HANDLER = 10;<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>   * The maximum size that we can hold in the RPC queue<a name="line.184"></a>
+<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 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 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>  /** 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 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 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 final RpcScheduler scheduler;<a name="line.274"></a>
+<span class="sourceLineNo">275</span><a name="line.275"></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>
+<spa

<TRUNCATED>

[26/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/regionserver/HStore.StoreFlusherImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HStore.StoreFlusherImpl.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HStore.StoreFlusherImpl.html
index e558359..361fe26 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HStore.StoreFlusherImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HStore.StoreFlusherImpl.html
@@ -103,7 +103,7 @@
 </dl>
 <hr>
 <br>
-<pre>private final class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2036">HStore.StoreFlusherImpl</a>
+<pre>private final class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2039">HStore.StoreFlusherImpl</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/regionserver/StoreFlushContext.html" title="interface in org.apache.hadoop.hbase.regionserver">StoreFlushContext</a></pre>
 </li>
@@ -252,7 +252,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFlu
 <ul class="blockList">
 <li class="blockList">
 <h4>cacheFlushSeqNum</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.StoreFlusherImpl.html#line.2038">cacheFlushSeqNum</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.StoreFlusherImpl.html#line.2041">cacheFlushSeqNum</a></pre>
 </li>
 </ul>
 <a name="snapshot">
@@ -261,7 +261,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFlu
 <ul class="blockList">
 <li class="blockList">
 <h4>snapshot</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreSnapshot.html" title="class in org.apache.hadoop.hbase.regionserver">MemStoreSnapshot</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.StoreFlusherImpl.html#line.2039">snapshot</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreSnapshot.html" title="class in org.apache.hadoop.hbase.regionserver">MemStoreSnapshot</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.StoreFlusherImpl.html#line.2042">snapshot</a></pre>
 </li>
 </ul>
 <a name="tempFiles">
@@ -270,7 +270,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFlu
 <ul class="blockList">
 <li class="blockList">
 <h4>tempFiles</h4>
-<pre>private&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;org.apache.hadoop.fs.Path&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.StoreFlusherImpl.html#line.2040">tempFiles</a></pre>
+<pre>private&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;org.apache.hadoop.fs.Path&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.StoreFlusherImpl.html#line.2043">tempFiles</a></pre>
 </li>
 </ul>
 <a name="committedFiles">
@@ -279,7 +279,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFlu
 <ul class="blockList">
 <li class="blockList">
 <h4>committedFiles</h4>
-<pre>private&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;org.apache.hadoop.fs.Path&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.StoreFlusherImpl.html#line.2041">committedFiles</a></pre>
+<pre>private&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;org.apache.hadoop.fs.Path&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.StoreFlusherImpl.html#line.2044">committedFiles</a></pre>
 </li>
 </ul>
 <a name="cacheFlushCount">
@@ -288,7 +288,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFlu
 <ul class="blockList">
 <li class="blockList">
 <h4>cacheFlushCount</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.StoreFlusherImpl.html#line.2042">cacheFlushCount</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.StoreFlusherImpl.html#line.2045">cacheFlushCount</a></pre>
 </li>
 </ul>
 <a name="cacheFlushSize">
@@ -297,7 +297,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFlu
 <ul class="blockListLast">
 <li class="blockList">
 <h4>cacheFlushSize</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.StoreFlusherImpl.html#line.2043">cacheFlushSize</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.StoreFlusherImpl.html#line.2046">cacheFlushSize</a></pre>
 </li>
 </ul>
 </li>
@@ -314,7 +314,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFlu
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HStore.StoreFlusherImpl</h4>
-<pre>private&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.StoreFlusherImpl.html#line.2045">HStore.StoreFlusherImpl</a>(long&nbsp;cacheFlushSeqNum)</pre>
+<pre>private&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.StoreFlusherImpl.html#line.2048">HStore.StoreFlusherImpl</a>(long&nbsp;cacheFlushSeqNum)</pre>
 </li>
 </ul>
 </li>
@@ -331,7 +331,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFlu
 <ul class="blockList">
 <li class="blockList">
 <h4>prepare</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.StoreFlusherImpl.html#line.2054">prepare</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.StoreFlusherImpl.html#line.2057">prepare</a>()</pre>
 <div class="block">This is not thread safe. The caller should have a lock on the region or the store.
  If necessary, the lock can be added with the patch provided in HBASE-10087</div>
 <dl>
@@ -346,7 +346,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFlu
 <ul class="blockList">
 <li class="blockList">
 <h4>flushCache</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.StoreFlusherImpl.html#line.2062">flushCache</a>(<a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a>&nbsp;status)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.StoreFlusherImpl.html#line.2065">flushCache</a>(<a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a>&nbsp;status)
                 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/regionserver/StoreFlushContext.html#flushCache(org.apache.hadoop.hbase.monitoring.MonitoredTask)">StoreFlushContext</a></code></strong></div>
 <div class="block">Flush the cache (create the new store file)
@@ -366,7 +366,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFlu
 <ul class="blockList">
 <li class="blockList">
 <h4>commit</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.StoreFlusherImpl.html#line.2070">commit</a>(<a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a>&nbsp;status)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.StoreFlusherImpl.html#line.2073">commit</a>(<a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a>&nbsp;status)
                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/regionserver/StoreFlushContext.html#commit(org.apache.hadoop.hbase.monitoring.MonitoredTask)">StoreFlushContext</a></code></strong></div>
 <div class="block">Commit the flush - add the store file to the store and clear the
@@ -389,7 +389,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFlu
 <ul class="blockList">
 <li class="blockList">
 <h4>getCommittedFiles</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;org.apache.hadoop.fs.Path&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.StoreFlusherImpl.html#line.2109">getCommittedFiles</a>()</pre>
+<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;org.apache.hadoop.fs.Path&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.StoreFlusherImpl.html#line.2112">getCommittedFiles</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFlushContext.html#getCommittedFiles()">StoreFlushContext</a></code></strong></div>
 <div class="block">Returns the newly committed files from the flush. Called only if commit returns true</div>
 <dl>
@@ -404,7 +404,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFlu
 <ul class="blockList">
 <li class="blockList">
 <h4>replayFlush</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.StoreFlusherImpl.html#line.2122">replayFlush</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="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;fileNames,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.StoreFlusherImpl.html#line.2125">replayFlush</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="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;fileNames,
                boolean&nbsp;dropMemstoreSnapshot)
                  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">Similar to commit, but called in secondary region replicas for replaying the
@@ -424,7 +424,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFlu
 <ul class="blockListLast">
 <li class="blockList">
 <h4>abort</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.StoreFlusherImpl.html#line.2152">abort</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.StoreFlusherImpl.html#line.2155">abort</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">Abort the snapshot preparation. Drops the snapshot if any.</div>
 <dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/regionserver/HStore.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HStore.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HStore.html
index f134a0a..43c55e5 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HStore.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HStore.html
@@ -1468,7 +1468,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>FIXED_OVERHEAD</h4>
-<pre>public static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2170">FIXED_OVERHEAD</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2173">FIXED_OVERHEAD</a></pre>
 </li>
 </ul>
 <a name="DEEP_OVERHEAD">
@@ -1477,7 +1477,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.ht
 <ul class="blockListLast">
 <li class="blockList">
 <h4>DEEP_OVERHEAD</h4>
-<pre>public static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2174">DEEP_OVERHEAD</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2177">DEEP_OVERHEAD</a></pre>
 </li>
 </ul>
 </li>
@@ -2397,7 +2397,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>replaceStoreFiles</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1312">replaceStoreFiles</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFile</a>&gt;&nbsp;compactedFiles,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1315">replaceStoreFiles</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFile</a>&gt;&nbsp;compactedFiles,
                      <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFile</a>&gt;&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>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -2410,7 +2410,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>logCompactionEndMessage</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1329">logCompactionEndMessage</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionRequest.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">CompactionRequest</a>&nbsp;cr,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1332">logCompactionEndMessage</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionRequest.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">CompactionRequest</a>&nbsp;cr,
                            <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/regionserver/StoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFile</a>&gt;&nbsp;sfs,
                            long&nbsp;compactionStartTime)</pre>
 <div class="block">Log a very elaborate compaction completion message.</div>
@@ -2423,7 +2423,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>replayCompactionMarker</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1373">replayCompactionMarker</a>(org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor&nbsp;compaction,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1376">replayCompactionMarker</a>(org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor&nbsp;compaction,
                           boolean&nbsp;pickCompactionFiles,
                           boolean&nbsp;removeFiles)
                             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>
@@ -2445,7 +2445,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>compactRecentForTestingAssumingDefaultPolicy</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1438">compactRecentForTestingAssumingDefaultPolicy</a>(int&nbsp;N)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1441">compactRecentForTestingAssumingDefaultPolicy</a>(int&nbsp;N)
                                                   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 method tries to compact N recent files for testing.
  Note that because compacting "recent" files only makes sense for some policies,
@@ -2462,7 +2462,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>hasReferences</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1489">hasReferences</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1492">hasReferences</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html#hasReferences()">hasReferences</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a></code></dd>
@@ -2475,7 +2475,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getCompactionProgress</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionProgress.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">CompactionProgress</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1494">getCompactionProgress</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionProgress.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">CompactionProgress</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1497">getCompactionProgress</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html#getCompactionProgress()">Store</a></code></strong></div>
 <div class="block">getter for CompactionProgress object</div>
 <dl>
@@ -2490,7 +2490,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>isMajorCompaction</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1499">isMajorCompaction</a>()
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1502">isMajorCompaction</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><strong>Specified by:</strong></dt>
@@ -2506,7 +2506,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>requestCompaction</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionContext.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">CompactionContext</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1512">requestCompaction</a>()
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionContext.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">CompactionContext</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1515">requestCompaction</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><strong>Specified by:</strong></dt>
@@ -2521,7 +2521,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>requestCompaction</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionContext.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">CompactionContext</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1517">requestCompaction</a>(int&nbsp;priority,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionContext.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">CompactionContext</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1520">requestCompaction</a>(int&nbsp;priority,
                                   <a href="../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionRequest.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">CompactionRequest</a>&nbsp;baseRequest)
                                     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>
@@ -2537,7 +2537,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>requestCompaction</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionContext.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">CompactionContext</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1522">requestCompaction</a>(int&nbsp;priority,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionContext.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">CompactionContext</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1525">requestCompaction</a>(int&nbsp;priority,
                                   <a href="../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionRequest.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">CompactionRequest</a>&nbsp;baseRequest,
                                   <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)
                                     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>
@@ -2554,7 +2554,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>addToCompactingFiles</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1644">addToCompactingFiles</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFile</a>&gt;&nbsp;filesToAdd)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1647">addToCompactingFiles</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFile</a>&gt;&nbsp;filesToAdd)</pre>
 <div class="block">Adds the files to compacting files. filesCompacting must be locked.</div>
 </li>
 </ul>
@@ -2564,7 +2564,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>removeUnneededFiles</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1654">removeUnneededFiles</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1657">removeUnneededFiles</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>
@@ -2576,7 +2576,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>cancelRequestedCompaction</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1687">cancelRequestedCompaction</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionContext.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">CompactionContext</a>&nbsp;compaction)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1690">cancelRequestedCompaction</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionContext.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">CompactionContext</a>&nbsp;compaction)</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html#cancelRequestedCompaction(org.apache.hadoop.hbase.regionserver.compactions.CompactionContext)">cancelRequestedCompaction</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a></code></dd>
@@ -2589,7 +2589,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>finishCompactionRequest</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1691">finishCompactionRequest</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionRequest.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">CompactionRequest</a>&nbsp;cr)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1694">finishCompactionRequest</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionRequest.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">CompactionRequest</a>&nbsp;cr)</pre>
 </li>
 </ul>
 <a name="validateStoreFile(org.apache.hadoop.fs.Path)">
@@ -2598,7 +2598,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>validateStoreFile</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1708">validateStoreFile</a>(org.apache.hadoop.fs.Path&nbsp;path)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1711">validateStoreFile</a>(org.apache.hadoop.fs.Path&nbsp;path)
                         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">Validates a store file by opening and closing it. In HFileV2 this should
  not be an expensive operation.</div>
@@ -2613,7 +2613,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>completeCompaction</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1739">completeCompaction</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFile</a>&gt;&nbsp;compactedFiles)
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1742">completeCompaction</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFile</a>&gt;&nbsp;compactedFiles)
                            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"><p>It works by processing a compaction that's been written to disk.
 
@@ -2636,7 +2636,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>versionsToReturn</h4>
-<pre>int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1759">versionsToReturn</a>(int&nbsp;wantedVersions)</pre>
+<pre>int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1762">versionsToReturn</a>(int&nbsp;wantedVersions)</pre>
 </li>
 </ul>
 <a name="isCellTTLExpired(org.apache.hadoop.hbase.Cell, long, long)">
@@ -2645,7 +2645,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>isCellTTLExpired</h4>
-<pre>static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1773">isCellTTLExpired</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
+<pre>static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1776">isCellTTLExpired</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
                        long&nbsp;oldestTimestamp,
                        long&nbsp;now)</pre>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>cell</code> - </dd><dd><code>oldestTimestamp</code> - </dd>
@@ -2658,7 +2658,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>canSplit</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1798">canSplit</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1801">canSplit</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html#canSplit()">canSplit</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a></code></dd>
@@ -2671,7 +2671,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getSplitPoint</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1813">getSplitPoint</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1816">getSplitPoint</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html#getSplitPoint()">Store</a></code></strong></div>
 <div class="block">Determines if Store should be split</div>
 <dl>
@@ -2686,7 +2686,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getLastCompactSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1832">getLastCompactSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1835">getLastCompactSize</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html#getLastCompactSize()">getLastCompactSize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a></code></dd>
@@ -2699,7 +2699,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1837">getSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1840">getSize</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html#getSize()">getSize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a></code></dd>
@@ -2712,7 +2712,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>triggerMajorCompaction</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1842">triggerMajorCompaction</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1845">triggerMajorCompaction</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html#triggerMajorCompaction()">triggerMajorCompaction</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a></code></dd>
@@ -2725,7 +2725,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getScanner</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1852">getScanner</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1855">getScanner</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
                          <a href="http://docs.oracle.com/javase/7/docs/api/java/util/NavigableSet.html?is-external=true" title="class or interface in java.util">NavigableSet</a>&lt;byte[]&gt;&nbsp;targetCols,
                          long&nbsp;readPt)
                            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>
@@ -2747,7 +2747,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>createScanner</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1867">createScanner</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1870">createScanner</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
                             <a href="http://docs.oracle.com/javase/7/docs/api/java/util/NavigableSet.html?is-external=true" title="class or interface in java.util">NavigableSet</a>&lt;byte[]&gt;&nbsp;targetCols,
                             long&nbsp;readPt,
                             <a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&nbsp;scanner)
@@ -2762,7 +2762,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-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/regionserver/HStore.html#line.1878">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/regionserver/HStore.html#line.1881">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>
@@ -2775,7 +2775,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getStorefilesCount</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1883">getStorefilesCount</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1886">getStorefilesCount</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html#getStorefilesCount()">getStorefilesCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a></code></dd>
@@ -2788,7 +2788,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getStoreSizeUncompressed</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1888">getStoreSizeUncompressed</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1891">getStoreSizeUncompressed</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html#getStoreSizeUncompressed()">getStoreSizeUncompressed</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a></code></dd>
@@ -2801,7 +2801,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getStorefilesSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1893">getStorefilesSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1896">getStorefilesSize</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html#getStorefilesSize()">getStorefilesSize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a></code></dd>
@@ -2814,7 +2814,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getStorefilesIndexSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1907">getStorefilesIndexSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1910">getStorefilesIndexSize</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html#getStorefilesIndexSize()">getStorefilesIndexSize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a></code></dd>
@@ -2827,7 +2827,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getTotalStaticIndexSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1921">getTotalStaticIndexSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1924">getTotalStaticIndexSize</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html#getTotalStaticIndexSize()">Store</a></code></strong></div>
 <div class="block">Returns the total size of all index blocks in the data block indexes, including the root level,
  intermediate levels, and the leaf level for multi-level indexes, or just the root level for
@@ -2844,7 +2844,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getTotalStaticBloomSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1934">getTotalStaticBloomSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1937">getTotalStaticBloomSize</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html#getTotalStaticBloomSize()">Store</a></code></strong></div>
 <div class="block">Returns the total byte size of all Bloom filter bit arrays. For compound Bloom filters even the
  Bloom blocks currently not loaded into the block cache are counted.</div>
@@ -2860,7 +2860,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getMemStoreSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1947">getMemStoreSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1950">getMemStoreSize</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html#getMemStoreSize()">getMemStoreSize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a></code></dd>
@@ -2873,7 +2873,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getCompactPriority</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1952">getCompactPriority</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1955">getCompactPriority</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html#getCompactPriority()">getCompactPriority</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a></code></dd>
@@ -2886,7 +2886,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>throttleCompaction</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1961">throttleCompaction</a>(long&nbsp;compactionSize)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1964">throttleCompaction</a>(long&nbsp;compactionSize)</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html#throttleCompaction(long)">throttleCompaction</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a></code></dd>
@@ -2899,7 +2899,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getHRegion</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1965">getHRegion</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1968">getHRegion</a>()</pre>
 </li>
 </ul>
 <a name="getCoprocessorHost()">
@@ -2908,7 +2908,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getCoprocessorHost</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver">RegionCoprocessorHost</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1970">getCoprocessorHost</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver">RegionCoprocessorHost</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1973">getCoprocessorHost</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html#getCoprocessorHost()">getCoprocessorHost</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a></code></dd>
@@ -2921,7 +2921,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionInfo</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1975">getRegionInfo</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1978">getRegionInfo</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html#getRegionInfo()">getRegionInfo</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a></code></dd>
@@ -2934,7 +2934,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>areWritesEnabled</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1980">areWritesEnabled</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1983">areWritesEnabled</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html#areWritesEnabled()">areWritesEnabled</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a></code></dd>
@@ -2947,7 +2947,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getSmallestReadPoint</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1985">getSmallestReadPoint</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.1988">getSmallestReadPoint</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html#getSmallestReadPoint()">getSmallestReadPoint</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a></code></dd>
@@ -2962,7 +2962,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>updateColumnValue</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2002">updateColumnValue</a>(byte[]&nbsp;row,
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2005">updateColumnValue</a>(byte[]&nbsp;row,
                      byte[]&nbsp;f,
                      byte[]&nbsp;qualifier,
                      long&nbsp;newValue)
@@ -2984,7 +2984,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>upsert</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2022">upsert</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;cells,
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2025">upsert</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;cells,
           long&nbsp;readpoint)
             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/regionserver/Store.html#upsert(java.lang.Iterable,%20long)">Store</a></code></strong></div>
@@ -3010,7 +3010,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>createFlushContext</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFlushContext.html" title="interface in org.apache.hadoop.hbase.regionserver">StoreFlushContext</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2032">createFlushContext</a>(long&nbsp;cacheFlushId)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFlushContext.html" title="interface in org.apache.hadoop.hbase.regionserver">StoreFlushContext</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2035">createFlushContext</a>(long&nbsp;cacheFlushId)</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html#createFlushContext(long)">createFlushContext</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a></code></dd>
@@ -3023,7 +3023,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>needsCompaction</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2161">needsCompaction</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2164">needsCompaction</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html#needsCompaction()">Store</a></code></strong></div>
 <div class="block">See if there's too much store files in this store</div>
 <dl>
@@ -3038,7 +3038,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getCacheConfig</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2166">getCacheConfig</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2169">getCacheConfig</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html#getCacheConfig()">Store</a></code></strong></div>
 <div class="block">Used for tests.</div>
 <dl>
@@ -3053,7 +3053,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>heapSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2181">heapSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2184">heapSize</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html#heapSize()">heapSize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" title="interface in org.apache.hadoop.hbase.io">HeapSize</a></code></dd>
@@ -3067,7 +3067,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getComparator</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/CellComparator.html" title="class in org.apache.hadoop.hbase">CellComparator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2186">getComparator</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/CellComparator.html" title="class in org.apache.hadoop.hbase">CellComparator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2189">getComparator</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html#getComparator()">getComparator</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a></code></dd>
@@ -3080,7 +3080,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getScanInfo</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanInfo.html" title="class in org.apache.hadoop.hbase.regionserver">ScanInfo</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2191">getScanInfo</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanInfo.html" title="class in org.apache.hadoop.hbase.regionserver">ScanInfo</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2194">getScanInfo</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html#getScanInfo()">getScanInfo</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a></code></dd>
@@ -3093,7 +3093,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>setScanInfo</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2199">setScanInfo</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanInfo.html" title="class in org.apache.hadoop.hbase.regionserver">ScanInfo</a>&nbsp;scanInfo)</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2202">setScanInfo</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanInfo.html" title="class in org.apache.hadoop.hbase.regionserver">ScanInfo</a>&nbsp;scanInfo)</pre>
 <div class="block">Set scan info, used by test</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>scanInfo</code> - new scan info to use for test</dd></dl>
 </li>
@@ -3104,7 +3104,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>hasTooManyStoreFiles</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2204">hasTooManyStoreFiles</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2207">hasTooManyStoreFiles</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html#hasTooManyStoreFiles()">hasTooManyStoreFiles</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a></code></dd>
@@ -3117,7 +3117,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getFlushedCellsCount</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2209">getFlushedCellsCount</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2212">getFlushedCellsCount</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html#getFlushedCellsCount()">getFlushedCellsCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a></code></dd>
@@ -3130,7 +3130,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getFlushedCellsSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2214">getFlushedCellsSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2217">getFlushedCellsSize</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html#getFlushedCellsSize()">getFlushedCellsSize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a></code></dd>
@@ -3143,7 +3143,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getCompactedCellsCount</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2219">getCompactedCellsCount</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2222">getCompactedCellsCount</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html#getCompactedCellsCount()">getCompactedCellsCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a></code></dd>
@@ -3156,7 +3156,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getCompactedCellsSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2224">getCompactedCellsSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2227">getCompactedCellsSize</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html#getCompactedCellsSize()">getCompactedCellsSize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a></code></dd>
@@ -3169,7 +3169,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getMajorCompactedCellsCount</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2229">getMajorCompactedCellsCount</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2232">getMajorCompactedCellsCount</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html#getMajorCompactedCellsCount()">getMajorCompactedCellsCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a></code></dd>
@@ -3182,7 +3182,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getMajorCompactedCellsSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2234">getMajorCompactedCellsSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2237">getMajorCompactedCellsSize</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html#getMajorCompactedCellsSize()">getMajorCompactedCellsSize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a></code></dd>
@@ -3195,7 +3195,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getStoreEngine</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreEngine.html" title="class in org.apache.hadoop.hbase.regionserver">StoreEngine</a>&lt;?,?,?,?&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2243">getStoreEngine</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreEngine.html" title="class in org.apache.hadoop.hbase.regionserver">StoreEngine</a>&lt;?,?,?,?&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2246">getStoreEngine</a>()</pre>
 <div class="block">Returns the StoreEngine that is backing this concrete implementation of Store.</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>Returns the <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreEngine.html" title="class in org.apache.hadoop.hbase.regionserver"><code>StoreEngine</code></a> object used internally inside this HStore object.</dd></dl>
 </li>
@@ -3206,7 +3206,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getOffPeakHours</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/compactions/OffPeakHours.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">OffPeakHours</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2247">getOffPeakHours</a>()</pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/compactions/OffPeakHours.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">OffPeakHours</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2250">getOffPeakHours</a>()</pre>
 </li>
 </ul>
 <a name="onConfigurationChange(org.apache.hadoop.conf.Configuration)">
@@ -3215,7 +3215,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>onConfigurationChange</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2255">onConfigurationChange</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2258">onConfigurationChange</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
 <div class="block">This method would be called by the <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationManager.html" title="class in org.apache.hadoop.hbase.conf"><code>ConfigurationManager</code></a>
  object when the <code>Configuration</code> object is reloaded from disk.</div>
 <dl>
@@ -3230,7 +3230,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>registerChildren</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2267">registerChildren</a>(<a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationManager.html" title="class in org.apache.hadoop.hbase.conf">ConfigurationManager</a>&nbsp;manager)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2270">registerChildren</a>(<a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationManager.html" title="class in org.apache.hadoop.hbase.conf">ConfigurationManager</a>&nbsp;manager)</pre>
 <div class="block">Needs to be called to register the children to the manager.</div>
 <dl>
 <dt><strong>Specified by:</strong></dt>
@@ -3244,7 +3244,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>deregisterChildren</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2275">deregisterChildren</a>(<a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationManager.html" title="class in org.apache.hadoop.hbase.conf">ConfigurationManager</a>&nbsp;manager)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2278">deregisterChildren</a>(<a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationManager.html" title="class in org.apache.hadoop.hbase.conf">ConfigurationManager</a>&nbsp;manager)</pre>
 <div class="block">Needs to be called to deregister the children from the manager.</div>
 <dl>
 <dt><strong>Specified by:</strong></dt>
@@ -3258,7 +3258,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getCompactionPressure</h4>
-<pre>public&nbsp;double&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2280">getCompactionPressure</a>()</pre>
+<pre>public&nbsp;double&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2283">getCompactionPressure</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html#getCompactionPressure()">Store</a></code></strong></div>
 <div class="block">This value can represent the degree of emergency of compaction for this store. It should be
  greater than or equal to 0.0, any value greater than 1.0 means we have too many store files.
@@ -3285,7 +3285,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>isPrimaryReplicaStore</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2285">isPrimaryReplicaStore</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2288">isPrimaryReplicaStore</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html#isPrimaryReplicaStore()">isPrimaryReplicaStore</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a></code></dd>
@@ -3298,7 +3298,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>closeAndArchiveCompactedFiles</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2290">closeAndArchiveCompactedFiles</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2293">closeAndArchiveCompactedFiles</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/regionserver/Store.html#closeAndArchiveCompactedFiles()">Store</a></code></strong></div>
 <div class="block">Closes and archives the compacted files under this store</div>
@@ -3315,7 +3315,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>removeCompactedfiles</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2318">removeCompactedfiles</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFile</a>&gt;&nbsp;compactedfiles)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2321">removeCompactedfiles</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFile</a>&gt;&nbsp;compactedfiles)
                            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">Archives and removes the compacted files</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>compactedfiles</code> - The compacted files in this store that are not active in reads</dd>
@@ -3329,7 +3329,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockListLast">
 <li class="blockList">
 <h4>clearCompactedfiles</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2365">clearCompactedfiles</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/regionserver/StoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFile</a>&gt;&nbsp;filesToRemove)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HStore.html#line.2368">clearCompactedfiles</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/regionserver/StoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFile</a>&gt;&nbsp;filesToRemove)
                           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>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/regionserver/KeyValueHeap.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/KeyValueHeap.html b/devapidocs/org/apache/hadoop/hbase/regionserver/KeyValueHeap.html
index fe582a2..1c09727 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/KeyValueHeap.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/KeyValueHeap.html
@@ -183,6 +183,13 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValue
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueHeap.html#scannersForDelayedClose">scannersForDelayedClose</a></strong></code>&nbsp;</td>
 </tr>
 </table>
+<ul class="blockList">
+<li class="blockList"><a name="fields_inherited_from_class_org.apache.hadoop.hbase.regionserver.KeyValueScanner">
+<!--   -->
+</a>
+<h3>Fields inherited from interface&nbsp;org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a></h3>
+<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#NO_NEXT_INDEXED_KEY">NO_NEXT_INDEXED_KEY</a></code></li>
+</ul>
 </li>
 </ul>
 <!-- ======== CONSTRUCTOR SUMMARY ======== -->


[37/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/client/Scan.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/Scan.html b/devapidocs/org/apache/hadoop/hbase/client/Scan.html
index 3d53918..61834a9 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/Scan.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/Scan.html
@@ -1088,7 +1088,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockListLast">
 <li class="blockList">
 <h4>Scan</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.261">Scan</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.262">Scan</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get)</pre>
 <div class="block">Builds a scan object with the same specs as get.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>get</code> - get to model scan after</dd></dl>
 </li>
@@ -1107,7 +1107,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>isGetScan</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.283">isGetScan</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.285">isGetScan</a>()</pre>
 </li>
 </ul>
 <a name="isStartRowAndEqualsStopRow()">
@@ -1116,7 +1116,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>isStartRowAndEqualsStopRow</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.287">isStartRowAndEqualsStopRow</a>()</pre>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.289">isStartRowAndEqualsStopRow</a>()</pre>
 </li>
 </ul>
 <a name="addFamily(byte[])">
@@ -1125,7 +1125,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>addFamily</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.298">addFamily</a>(byte[]&nbsp;family)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.300">addFamily</a>(byte[]&nbsp;family)</pre>
 <div class="block">Get all columns from the specified family.
  <p>
  Overrides previous calls to addColumn for this family.</div>
@@ -1139,7 +1139,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>addColumn</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.312">addColumn</a>(byte[]&nbsp;family,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.314">addColumn</a>(byte[]&nbsp;family,
              byte[]&nbsp;qualifier)</pre>
 <div class="block">Get the column from the specified family with the specified qualifier.
  <p>
@@ -1154,7 +1154,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setTimeRange</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.336">setTimeRange</a>(long&nbsp;minStamp,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.338">setTimeRange</a>(long&nbsp;minStamp,
                 long&nbsp;maxStamp)
                   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">Get versions of columns only within the specified timestamp range,
@@ -1174,7 +1174,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setTimeStamp</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.351">setTimeStamp</a>(long&nbsp;timestamp)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.353">setTimeStamp</a>(long&nbsp;timestamp)
                   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">Get versions of columns with the specified timestamp. Note, default maximum
  versions to return is 1.  If your time range spans more than one version
@@ -1193,7 +1193,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setColumnFamilyTimeRange</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.363">setColumnFamilyTimeRange</a>(byte[]&nbsp;cf,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.365">setColumnFamilyTimeRange</a>(byte[]&nbsp;cf,
                             long&nbsp;minStamp,
                             long&nbsp;maxStamp)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Query.html#setColumnFamilyTimeRange(byte[],%20long,%20long)">Query</a></code></strong></div>
@@ -1215,7 +1215,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setStartRow</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.375">setStartRow</a>(byte[]&nbsp;startRow)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.377">setStartRow</a>(byte[]&nbsp;startRow)</pre>
 <div class="block">Set the start row of the scan.
  <p>
  If the specified row does not exist, the Scanner will start from the
@@ -1230,7 +1230,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setStopRow</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.391">setStopRow</a>(byte[]&nbsp;stopRow)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.393">setStopRow</a>(byte[]&nbsp;stopRow)</pre>
 <div class="block">Set the stop row of the scan.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>stopRow</code> - row to end at (exclusive)
  <p>
@@ -1248,7 +1248,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setRowPrefixFilter</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.407">setRowPrefixFilter</a>(byte[]&nbsp;rowPrefix)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.409">setRowPrefixFilter</a>(byte[]&nbsp;rowPrefix)</pre>
 <div class="block"><p>Set a filter (using stopRow and startRow) so the result set only contains rows where the
  rowKey starts with the specified prefix.</p>
  <p>This is a utility method that converts the desired rowPrefix into the appropriate values
@@ -1266,7 +1266,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>calculateTheClosestNextRowKeyForPrefix</h4>
-<pre>private&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.435">calculateTheClosestNextRowKeyForPrefix</a>(byte[]&nbsp;rowKeyPrefix)</pre>
+<pre>private&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.437">calculateTheClosestNextRowKeyForPrefix</a>(byte[]&nbsp;rowKeyPrefix)</pre>
 <div class="block"><p>When scanning for a prefix the scan should stop immediately after the the last row that
  has the specified prefix. This method calculates the closest next rowKey immediately following
  the given rowKeyPrefix.</p>
@@ -1289,7 +1289,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setMaxVersions</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.464">setMaxVersions</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.466">setMaxVersions</a>()</pre>
 <div class="block">Get all available versions.</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>this</dd></dl>
 </li>
@@ -1300,7 +1300,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setMaxVersions</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.474">setMaxVersions</a>(int&nbsp;maxVersions)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.476">setMaxVersions</a>(int&nbsp;maxVersions)</pre>
 <div class="block">Get up to the specified number of versions of each column.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>maxVersions</code> - maximum versions for each column</dd>
 <dt><span class="strong">Returns:</span></dt><dd>this</dd></dl>
@@ -1312,7 +1312,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setBatch</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.483">setBatch</a>(int&nbsp;batch)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.485">setBatch</a>(int&nbsp;batch)</pre>
 <div class="block">Set the maximum number of values to return for each call to next()</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>batch</code> - the maximum number of values</dd></dl>
 </li>
@@ -1323,7 +1323,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setMaxResultsPerColumnFamily</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.497">setMaxResultsPerColumnFamily</a>(int&nbsp;limit)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.499">setMaxResultsPerColumnFamily</a>(int&nbsp;limit)</pre>
 <div class="block">Set the maximum number of values to return per row per Column Family</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>limit</code> - the maximum number of values returned / row / CF</dd></dl>
 </li>
@@ -1334,7 +1334,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setRowOffsetPerColumnFamily</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.506">setRowOffsetPerColumnFamily</a>(int&nbsp;offset)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.508">setRowOffsetPerColumnFamily</a>(int&nbsp;offset)</pre>
 <div class="block">Set offset for the row per Column Family.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>offset</code> - is the number of kvs that will be skipped.</dd></dl>
 </li>
@@ -1345,7 +1345,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setCaching</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.518">setCaching</a>(int&nbsp;caching)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.520">setCaching</a>(int&nbsp;caching)</pre>
 <div class="block">Set the number of rows for caching that will be passed to scanners.
  If not set, the Configuration setting <a href="../../../../../org/apache/hadoop/hbase/HConstants.html#HBASE_CLIENT_SCANNER_CACHING"><code>HConstants.HBASE_CLIENT_SCANNER_CACHING</code></a> will
  apply.
@@ -1359,7 +1359,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>getMaxResultSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.526">getMaxResultSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.528">getMaxResultSize</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the maximum result size in bytes. See <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setMaxResultSize(long)"><code>setMaxResultSize(long)</code></a></dd></dl>
 </li>
 </ul>
@@ -1369,7 +1369,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setMaxResultSize</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.537">setMaxResultSize</a>(long&nbsp;maxResultSize)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.539">setMaxResultSize</a>(long&nbsp;maxResultSize)</pre>
 <div class="block">Set the maximum result size. The default is -1; this means that no specific
  maximum result size will be set for this scan, and the global configured
  value will be used instead. (Defaults to unlimited).</div>
@@ -1382,7 +1382,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setFilter</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.543">setFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;filter)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.545">setFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;filter)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Query.html#setFilter(org.apache.hadoop.hbase.filter.Filter)">Query</a></code></strong></div>
 <div class="block">Apply the specified server-side filter when performing the Query.
  Only <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue(org.apache.hadoop.hbase.Cell)"><code>Filter.filterKeyValue(Cell)</code></a> is called AFTER all tests
@@ -1400,7 +1400,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setFamilyMap</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.553">setFamilyMap</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;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/util/NavigableSet.html?is-external=true" title="class or interface in java.util">NavigableSet</a>&lt;byte[]&gt;&gt;&nbsp;familyMap)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.555">setFamilyMap</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;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/util/NavigableSet.html?is-external=true" title="class or interface in java.util">NavigableSet</a>&lt;byte[]&gt;&gt;&nbsp;familyMap)</pre>
 <div class="block">Setting the familyMap</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>familyMap</code> - map of family to qualifier</dd>
 <dt><span class="strong">Returns:</span></dt><dd>this</dd></dl>
@@ -1412,7 +1412,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>getFamilyMap</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;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/util/NavigableSet.html?is-external=true" title="class or interface in java.util">NavigableSet</a>&lt;byte[]&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.562">getFamilyMap</a>()</pre>
+<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;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/util/NavigableSet.html?is-external=true" title="class or interface in java.util">NavigableSet</a>&lt;byte[]&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.564">getFamilyMap</a>()</pre>
 <div class="block">Getting the familyMap</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>familyMap</dd></dl>
 </li>
@@ -1423,7 +1423,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>numFamilies</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.569">numFamilies</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.571">numFamilies</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the number of families in familyMap</dd></dl>
 </li>
 </ul>
@@ -1433,7 +1433,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>hasFamilies</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.579">hasFamilies</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.581">hasFamilies</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>true if familyMap is non empty, false otherwise</dd></dl>
 </li>
 </ul>
@@ -1443,7 +1443,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>getFamilies</h4>
-<pre>public&nbsp;byte[][]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.586">getFamilies</a>()</pre>
+<pre>public&nbsp;byte[][]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.588">getFamilies</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the keys of the familyMap</dd></dl>
 </li>
 </ul>
@@ -1453,7 +1453,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>getStartRow</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.596">getStartRow</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.598">getStartRow</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the startrow</dd></dl>
 </li>
 </ul>
@@ -1463,7 +1463,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>getStopRow</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.603">getStopRow</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.605">getStopRow</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the stoprow</dd></dl>
 </li>
 </ul>
@@ -1473,7 +1473,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>getMaxVersions</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.610">getMaxVersions</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.612">getMaxVersions</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the max number of versions to fetch</dd></dl>
 </li>
 </ul>
@@ -1483,7 +1483,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>getBatch</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.617">getBatch</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.619">getBatch</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>maximum number of values to return for a single call to next()</dd></dl>
 </li>
 </ul>
@@ -1493,7 +1493,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>getMaxResultsPerColumnFamily</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.624">getMaxResultsPerColumnFamily</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.626">getMaxResultsPerColumnFamily</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>maximum number of values to return per row per CF</dd></dl>
 </li>
 </ul>
@@ -1503,7 +1503,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>getRowOffsetPerColumnFamily</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.633">getRowOffsetPerColumnFamily</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.635">getRowOffsetPerColumnFamily</a>()</pre>
 <div class="block">Method for retrieving the scan's offset per row per column
  family (#kvs to be skipped)</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>row offset</dd></dl>
@@ -1515,7 +1515,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>getCaching</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.640">getCaching</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.642">getCaching</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>caching the number of rows fetched when calling next on a scanner</dd></dl>
 </li>
 </ul>
@@ -1525,7 +1525,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>getTimeRange</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/io/TimeRange.html" title="class in org.apache.hadoop.hbase.io">TimeRange</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.647">getTimeRange</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/io/TimeRange.html" title="class in org.apache.hadoop.hbase.io">TimeRange</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.649">getTimeRange</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>TimeRange</dd></dl>
 </li>
 </ul>
@@ -1535,7 +1535,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>getFilter</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.655">getFilter</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.657">getFilter</a>()</pre>
 <dl>
 <dt><strong>Overrides:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/client/Query.html#getFilter()">getFilter</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Query.html" title="class in org.apache.hadoop.hbase.client">Query</a></code></dd>
@@ -1548,7 +1548,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>hasFilter</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.662">hasFilter</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.664">hasFilter</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>true is a filter has been specified, false if not</dd></dl>
 </li>
 </ul>
@@ -1558,7 +1558,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setCacheBlocks</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.676">setCacheBlocks</a>(boolean&nbsp;cacheBlocks)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.678">setCacheBlocks</a>(boolean&nbsp;cacheBlocks)</pre>
 <div class="block">Set whether blocks should be cached for this Scan.
  <p>
  This is true by default.  When true, default settings of the table and
@@ -1574,7 +1574,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>getCacheBlocks</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.686">getCacheBlocks</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.688">getCacheBlocks</a>()</pre>
 <div class="block">Get whether blocks should be cached for this Scan.</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>true if default caching should be used, false if blocks should not
  be cached</dd></dl>
@@ -1586,7 +1586,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setReversed</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.698">setReversed</a>(boolean&nbsp;reversed)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.700">setReversed</a>(boolean&nbsp;reversed)</pre>
 <div class="block">Set whether this scan is a reversed one
  <p>
  This is false by default which means forward(normal) scan.</div>
@@ -1600,7 +1600,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>isReversed</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.707">isReversed</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.709">isReversed</a>()</pre>
 <div class="block">Get whether this scan is a reversed one.</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>true if backward scan, false if forward(default) scan</dd></dl>
 </li>
@@ -1611,7 +1611,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setAllowPartialResults</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.718">setAllowPartialResults</a>(boolean&nbsp;allowPartialResults)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.720">setAllowPartialResults</a>(boolean&nbsp;allowPartialResults)</pre>
 <div class="block">Setting whether the caller wants to see the partial results that may be returned from the
  server. By default this value is false and the complete results will be assembled client side
  before being delivered to the caller.</div>
@@ -1625,7 +1625,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>getAllowPartialResults</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.728">getAllowPartialResults</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.730">getAllowPartialResults</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>true when the constructor of this scan understands that the results they will see may
          only represent a partial portion of a row. The entire row would be retrieved by
          subsequent calls to <a href="../../../../../org/apache/hadoop/hbase/client/ResultScanner.html#next()"><code>ResultScanner.next()</code></a></dd></dl>
@@ -1637,7 +1637,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setLoadColumnFamiliesOnDemand</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.748">setLoadColumnFamiliesOnDemand</a>(boolean&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.750">setLoadColumnFamiliesOnDemand</a>(boolean&nbsp;value)</pre>
 <div class="block">Set the value indicating whether loading CFs on demand should be allowed (cluster
  default is false). On-demand CF loading doesn't load column families until necessary, e.g.
  if you filter on one column, the other column family data will be loaded only for the rows
@@ -1660,7 +1660,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>getLoadColumnFamiliesOnDemandValue</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.756">getLoadColumnFamiliesOnDemandValue</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.758">getLoadColumnFamiliesOnDemandValue</a>()</pre>
 <div class="block">Get the raw loadColumnFamiliesOnDemand setting; if it's not set, can be null.</div>
 </li>
 </ul>
@@ -1670,7 +1670,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>doLoadColumnFamiliesOnDemand</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.763">doLoadColumnFamiliesOnDemand</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.765">doLoadColumnFamiliesOnDemand</a>()</pre>
 <div class="block">Get the logical value indicating whether on-demand CF loading should be allowed.</div>
 </li>
 </ul>
@@ -1680,7 +1680,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>getFingerprint</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/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.775">getFingerprint</a>()</pre>
+<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/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.777">getFingerprint</a>()</pre>
 <div class="block">Compile the table and column family (i.e. schema) information
  into a String. Useful for parsing and aggregation by debugging,
  logging, and administration tools.</div>
@@ -1696,7 +1696,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>toMap</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/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.799">toMap</a>(int&nbsp;maxCols)</pre>
+<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/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.801">toMap</a>(int&nbsp;maxCols)</pre>
 <div class="block">Compile the details beyond the scope of getFingerprint (row, columns,
  timestamps, etc.) into a Map along with the fingerprinted information.
  Useful for debugging, logging, and administration tools.</div>
@@ -1713,7 +1713,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setRaw</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.863">setRaw</a>(boolean&nbsp;raw)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.865">setRaw</a>(boolean&nbsp;raw)</pre>
 <div class="block">Enable/disable "raw" mode for this scan.
  If "raw" is enabled the scan will return all
  delete marker and deleted rows that have not
@@ -1730,7 +1730,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>isRaw</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.871">isRaw</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.873">isRaw</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>True if this Scan is in "raw" mode.</dd></dl>
 </li>
 </ul>
@@ -1740,7 +1740,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setSmall</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.898">setSmall</a>(boolean&nbsp;small)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.900">setSmall</a>(boolean&nbsp;small)</pre>
 <div class="block">Set whether this scan is a small scan
  <p>
  Small scan should use pread and big scan can use seek + read
@@ -1766,7 +1766,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>isSmall</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.907">isSmall</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.909">isSmall</a>()</pre>
 <div class="block">Get whether this scan is a small scan</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>true if small scan</dd></dl>
 </li>
@@ -1777,7 +1777,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setAttribute</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.912">setAttribute</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="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.914">setAttribute</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,
                 byte[]&nbsp;value)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Attributes.html#setAttribute(java.lang.String,%20byte[])">Attributes</a></code></strong></div>
 <div class="block">Sets an attribute.
@@ -1797,7 +1797,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setId</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.917">setId</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;id)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.919">setId</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;id)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/OperationWithAttributes.html#setId(java.lang.String)">OperationWithAttributes</a></code></strong></div>
 <div class="block">This method allows you to set an identifier on an operation. The original
  motivation for this was to allow the identifier to be used in slow query
@@ -1816,7 +1816,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setAuthorizations</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.922">setAuthorizations</a>(<a href="../../../../../org/apache/hadoop/hbase/security/visibility/Authorizations.html" title="class in org.apache.hadoop.hbase.security.visibility">Authorizations</a>&nbsp;authorizations)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.924">setAuthorizations</a>(<a href="../../../../../org/apache/hadoop/hbase/security/visibility/Authorizations.html" title="class in org.apache.hadoop.hbase.security.visibility">Authorizations</a>&nbsp;authorizations)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Query.html#setAuthorizations(org.apache.hadoop.hbase.security.visibility.Authorizations)">Query</a></code></strong></div>
 <div class="block">Sets the authorizations to be used by this Query</div>
 <dl>
@@ -1831,7 +1831,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setACL</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.927">setACL</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="../../../../../org/apache/hadoop/hbase/security/access/Permission.html" title="class in org.apache.hadoop.hbase.security.access">Permission</a>&gt;&nbsp;perms)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.929">setACL</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="../../../../../org/apache/hadoop/hbase/security/access/Permission.html" title="class in org.apache.hadoop.hbase.security.access">Permission</a>&gt;&nbsp;perms)</pre>
 <dl>
 <dt><strong>Overrides:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/client/Query.html#setACL(java.util.Map)">setACL</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Query.html" title="class in org.apache.hadoop.hbase.client">Query</a></code></dd>
@@ -1844,7 +1844,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setACL</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.932">setACL</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;user,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.934">setACL</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;user,
           <a href="../../../../../org/apache/hadoop/hbase/security/access/Permission.html" title="class in org.apache.hadoop.hbase.security.access">Permission</a>&nbsp;perms)</pre>
 <dl>
 <dt><strong>Overrides:</strong></dt>
@@ -1858,7 +1858,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setConsistency</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.937">setConsistency</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Consistency.html" title="enum in org.apache.hadoop.hbase.client">Consistency</a>&nbsp;consistency)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.939">setConsistency</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Consistency.html" title="enum in org.apache.hadoop.hbase.client">Consistency</a>&nbsp;consistency)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Query.html#setConsistency(org.apache.hadoop.hbase.client.Consistency)">Query</a></code></strong></div>
 <div class="block">Sets the consistency level for this operation</div>
 <dl>
@@ -1873,7 +1873,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setReplicaId</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.942">setReplicaId</a>(int&nbsp;Id)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.944">setReplicaId</a>(int&nbsp;Id)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Query.html#setReplicaId(int)">Query</a></code></strong></div>
 <div class="block">Specify region replica id where Query will fetch data from. Use this together with
  <a href="../../../../../org/apache/hadoop/hbase/client/Query.html#setConsistency(org.apache.hadoop.hbase.client.Consistency)"><code>Query.setConsistency(Consistency)</code></a> passing <a href="../../../../../org/apache/hadoop/hbase/client/Consistency.html#TIMELINE"><code>Consistency.TIMELINE</code></a> to read data from
@@ -1891,7 +1891,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setIsolationLevel</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.947">setIsolationLevel</a>(<a href="../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client">IsolationLevel</a>&nbsp;level)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.949">setIsolationLevel</a>(<a href="../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client">IsolationLevel</a>&nbsp;level)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Query.html#setIsolationLevel(org.apache.hadoop.hbase.client.IsolationLevel)">Query</a></code></strong></div>
 <div class="block">Set the isolation level for this query. If the
  isolation level is set to READ_UNCOMMITTED, then
@@ -1913,7 +1913,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>setScanMetricsEnabled</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.955">setScanMetricsEnabled</a>(boolean&nbsp;enabled)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.957">setScanMetricsEnabled</a>(boolean&nbsp;enabled)</pre>
 <div class="block">Enable collection of <a href="../../../../../org/apache/hadoop/hbase/client/metrics/ScanMetrics.html" title="class in org.apache.hadoop.hbase.client.metrics"><code>ScanMetrics</code></a>. For advanced users.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>enabled</code> - Set to true to enable accumulating scan metrics</dd></dl>
 </li>
@@ -1924,7 +1924,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>isScanMetricsEnabled</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.963">isScanMetricsEnabled</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.965">isScanMetricsEnabled</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>True if collection of scan metrics is enabled. For advanced users.</dd></dl>
 </li>
 </ul>
@@ -1934,7 +1934,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>getScanMetrics</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/metrics/ScanMetrics.html" title="class in org.apache.hadoop.hbase.client.metrics">ScanMetrics</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.972">getScanMetrics</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/metrics/ScanMetrics.html" title="class in org.apache.hadoop.hbase.client.metrics">ScanMetrics</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.974">getScanMetrics</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>Metrics on this Scan, if metrics were enabled.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setScanMetricsEnabled(boolean)"><code>setScanMetricsEnabled(boolean)</code></a></dd></dl>
 </li>
 </ul>
@@ -1944,7 +1944,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>isAsyncPrefetch</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.978">isAsyncPrefetch</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.980">isAsyncPrefetch</a>()</pre>
 </li>
 </ul>
 <a name="setAsyncPrefetch(boolean)">
@@ -1953,7 +1953,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockListLast">
 <li class="blockList">
 <h4>setAsyncPrefetch</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.982">setAsyncPrefetch</a>(boolean&nbsp;asyncPrefetch)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.984">setAsyncPrefetch</a>(boolean&nbsp;asyncPrefetch)</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/client/class-use/IsolationLevel.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/class-use/IsolationLevel.html b/devapidocs/org/apache/hadoop/hbase/client/class-use/IsolationLevel.html
index 38d84c2..567e96b 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/class-use/IsolationLevel.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/class-use/IsolationLevel.html
@@ -168,7 +168,19 @@ the order they are declared.</div>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
-<td class="colLast"><span class="strong">Region.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getReadpoint(org.apache.hadoop.hbase.client.IsolationLevel)">getReadpoint</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client">IsolationLevel</a>&nbsp;isolationLevel)</code>&nbsp;</td>
+<td class="colLast"><span class="strong">Region.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getReadpoint(org.apache.hadoop.hbase.client.IsolationLevel)">getReadpoint</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client">IsolationLevel</a>&nbsp;isolationLevel)</code>
+<div class="block"><strong>Deprecated.</strong>&nbsp;
+<div class="block"><i>Since 1.2.0. Use <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getReadPoint(org.apache.hadoop.hbase.client.IsolationLevel)"><code>Region.getReadPoint(IsolationLevel)</code></a> instead.</i></div>
+</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getReadPoint(org.apache.hadoop.hbase.client.IsolationLevel)">getReadPoint</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client">IsolationLevel</a>&nbsp;isolationLevel)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><span class="strong">Region.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getReadPoint(org.apache.hadoop.hbase.client.IsolationLevel)">getReadPoint</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client">IsolationLevel</a>&nbsp;isolationLevel)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/client/class-use/Mutation.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/class-use/Mutation.html b/devapidocs/org/apache/hadoop/hbase/client/class-use/Mutation.html
index 225c854..3b76647 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/class-use/Mutation.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/class-use/Mutation.html
@@ -701,8 +701,8 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
                             <a href="../../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator,
                             <a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
                             boolean&nbsp;writeToWAL)</code>
-<div class="block">Atomically checks if a row/family/qualifier value matches the expected val
- If it does, it performs the row mutations.</div>
+<div class="block">Atomically checks if a row/family/qualifier value matches the expected value and if it does,
+ it performs the mutation.</div>
 </td>
 </tr>
 <tr class="rowColor">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/client/class-use/RowMutations.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/class-use/RowMutations.html b/devapidocs/org/apache/hadoop/hbase/client/class-use/RowMutations.html
index b7d9200..8a2b2e0 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/class-use/RowMutations.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/class-use/RowMutations.html
@@ -191,8 +191,8 @@ service.</div>
                                   <a href="../../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator,
                                   <a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;mutations,
                                   boolean&nbsp;writeToWAL)</code>
-<div class="block">Atomically checks if a row/family/qualifier value matches the expected val
- If it does, it performs the row mutations.</div>
+<div class="block">Atomically checks if a row/family/qualifier value matches the expected values and if it does,
+ it performs the row mutations.</div>
 </td>
 </tr>
 <tr class="altColor">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/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 bc1ab25..3aebd36 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/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/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/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/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/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>
+<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>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.ZKWatcher.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.ZKWatcher.html b/devapidocs/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.ZKWatcher.html
index bd6bfda..20f3650 100644
--- a/devapidocs/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.ZKWatcher.html
+++ b/devapidocs/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.ZKWatcher.html
@@ -103,7 +103,7 @@
 </dl>
 <hr>
 <br>
-<pre>private static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#line.75">ZooKeeperScanPolicyObserver.ZKWatcher</a>
+<pre>private static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#line.74">ZooKeeperScanPolicyObserver.ZKWatcher</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.zookeeper.Watcher</pre>
 <div class="block">Internal watcher that keep "data" up to date asynchronously.</div>
@@ -226,7 +226,7 @@ implements org.apache.zookeeper.Watcher</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>data</h4>
-<pre>private&nbsp;byte[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.ZKWatcher.html#line.76">data</a></pre>
+<pre>private&nbsp;byte[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.ZKWatcher.html#line.75">data</a></pre>
 </li>
 </ul>
 <a name="zk">
@@ -235,7 +235,7 @@ implements org.apache.zookeeper.Watcher</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>zk</h4>
-<pre>private&nbsp;org.apache.zookeeper.ZooKeeper <a href="../../../../../../src-html/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.ZKWatcher.html#line.77">zk</a></pre>
+<pre>private&nbsp;org.apache.zookeeper.ZooKeeper <a href="../../../../../../src-html/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.ZKWatcher.html#line.76">zk</a></pre>
 </li>
 </ul>
 <a name="needSetup">
@@ -244,7 +244,7 @@ implements org.apache.zookeeper.Watcher</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>needSetup</h4>
-<pre>private volatile&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.ZKWatcher.html#line.78">needSetup</a></pre>
+<pre>private volatile&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.ZKWatcher.html#line.77">needSetup</a></pre>
 </li>
 </ul>
 <a name="lastSetupTry">
@@ -253,7 +253,7 @@ implements org.apache.zookeeper.Watcher</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>lastSetupTry</h4>
-<pre>private volatile&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.ZKWatcher.html#line.79">lastSetupTry</a></pre>
+<pre>private volatile&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.ZKWatcher.html#line.78">lastSetupTry</a></pre>
 </li>
 </ul>
 </li>
@@ -270,7 +270,7 @@ implements org.apache.zookeeper.Watcher</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ZooKeeperScanPolicyObserver.ZKWatcher</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.ZKWatcher.html#line.81">ZooKeeperScanPolicyObserver.ZKWatcher</a>(org.apache.zookeeper.ZooKeeper&nbsp;zk)</pre>
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.ZKWatcher.html#line.80">ZooKeeperScanPolicyObserver.ZKWatcher</a>(org.apache.zookeeper.ZooKeeper&nbsp;zk)</pre>
 </li>
 </ul>
 </li>
@@ -287,7 +287,7 @@ implements org.apache.zookeeper.Watcher</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>getData</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.ZKWatcher.html#line.99">getData</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.ZKWatcher.html#line.98">getData</a>()</pre>
 <div class="block">Get the maintained data. In case of any ZK exceptions this will retry
  establishing the connection (but not more than twice/minute).
 
@@ -304,7 +304,7 @@ implements org.apache.zookeeper.Watcher</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>process</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.ZKWatcher.html#line.131">process</a>(org.apache.zookeeper.WatchedEvent&nbsp;event)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.ZKWatcher.html#line.130">process</a>(org.apache.zookeeper.WatchedEvent&nbsp;event)</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code>process</code>&nbsp;in interface&nbsp;<code>org.apache.zookeeper.Watcher</code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html b/devapidocs/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html
index a65ad9e..6590e5e 100644
--- a/devapidocs/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html
+++ b/devapidocs/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html
@@ -104,7 +104,7 @@
 </dl>
 <hr>
 <br>
-<pre>public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#line.67">ZooKeeperScanPolicyObserver</a>
+<pre>public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#line.66">ZooKeeperScanPolicyObserver</a>
 extends <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/BaseRegionObserver.html" title="class in org.apache.hadoop.hbase.coprocessor">BaseRegionObserver</a></pre>
 <div class="block">This is an example showing how a RegionObserver could configured
  via ZooKeeper in order to control a Region compaction, flush, and scan policy.
@@ -305,7 +305,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/BaseRegio
 <ul class="blockList">
 <li class="blockList">
 <h4>node</h4>
-<pre>public 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/coprocessor/example/ZooKeeperScanPolicyObserver.html#line.68">node</a></pre>
+<pre>public 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/coprocessor/example/ZooKeeperScanPolicyObserver.html#line.67">node</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.coprocessor.example.ZooKeeperScanPolicyObserver.node">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -315,7 +315,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/BaseRegio
 <ul class="blockList">
 <li class="blockList">
 <h4>zkkey</h4>
-<pre>public 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/coprocessor/example/ZooKeeperScanPolicyObserver.html#line.69">zkkey</a></pre>
+<pre>public 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/coprocessor/example/ZooKeeperScanPolicyObserver.html#line.68">zkkey</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.coprocessor.example.ZooKeeperScanPolicyObserver.zkkey">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -325,7 +325,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/BaseRegio
 <ul class="blockListLast">
 <li class="blockList">
 <h4>LOG</h4>
-<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../../src-html/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#line.70">LOG</a></pre>
+<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../../src-html/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#line.69">LOG</a></pre>
 </li>
 </ul>
 </li>
@@ -342,7 +342,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/BaseRegio
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ZooKeeperScanPolicyObserver</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#line.67">ZooKeeperScanPolicyObserver</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#line.66">ZooKeeperScanPolicyObserver</a>()</pre>
 </li>
 </ul>
 </li>
@@ -359,7 +359,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/BaseRegio
 <ul class="blockList">
 <li class="blockList">
 <h4>start</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#line.163">start</a>(<a href="../../../../../../org/apache/hadoop/hbase/CoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase">CoprocessorEnvironment</a>&nbsp;e)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#line.162">start</a>(<a href="../../../../../../org/apache/hadoop/hbase/CoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase">CoprocessorEnvironment</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><strong>Specified by:</strong></dt>
@@ -376,7 +376,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/BaseRegio
 <ul class="blockList">
 <li class="blockList">
 <h4>stop</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#line.176">stop</a>(<a href="../../../../../../org/apache/hadoop/hbase/CoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase">CoprocessorEnvironment</a>&nbsp;e)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#line.175">stop</a>(<a href="../../../../../../org/apache/hadoop/hbase/CoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase">CoprocessorEnvironment</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><strong>Specified by:</strong></dt>
@@ -393,7 +393,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/BaseRegio
 <ul class="blockList">
 <li class="blockList">
 <h4>getScanInfo</h4>
-<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/ScanInfo.html" title="class in org.apache.hadoop.hbase.regionserver">ScanInfo</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#line.180">getScanInfo</a>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&nbsp;store,
+<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/ScanInfo.html" title="class in org.apache.hadoop.hbase.regionserver">ScanInfo</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#line.179">getScanInfo</a>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&nbsp;store,
                    <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&nbsp;e)</pre>
 </li>
 </ul>
@@ -403,7 +403,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/BaseRegio
 <ul class="blockList">
 <li class="blockList">
 <h4>preFlushScannerOpen</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">InternalScanner</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#line.196">preFlushScannerOpen</a>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">InternalScanner</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#line.195">preFlushScannerOpen</a>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
                                   <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&nbsp;store,
                                   <a href="../../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&nbsp;memstoreScanner,
                                   <a href="../../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">InternalScanner</a>&nbsp;s)
@@ -433,7 +433,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/BaseRegio
 <ul class="blockList">
 <li class="blockList">
 <h4>preCompactScannerOpen</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">InternalScanner</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#line.210">preCompactScannerOpen</a>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">InternalScanner</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#line.209">preCompactScannerOpen</a>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
                                     <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&nbsp;store,
                                     <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;? extends <a href="../../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;scanners,
                                     <a href="../../../../../../org/apache/hadoop/hbase/regionserver/ScanType.html" title="enum in org.apache.hadoop.hbase.regionserver">ScanType</a>&nbsp;scanType,
@@ -467,7 +467,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/BaseRegio
 <ul class="blockListLast">
 <li class="blockList">
 <h4>preStoreScannerOpen</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#line.226">preStoreScannerOpen</a>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html#line.225">preStoreScannerOpen</a>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
                                   <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&nbsp;store,
                                   <a href="../../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
                                   <a href="http://docs.oracle.com/javase/7/docs/api/java/util/NavigableSet.html?is-external=true" title="class or interface in java.util">NavigableSet</a>&lt;byte[]&gt;&nbsp;targetCols,

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/executor/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/executor/package-tree.html b/devapidocs/org/apache/hadoop/hbase/executor/package-tree.html
index dc0d7a6..434ae88 100644
--- a/devapidocs/org/apache/hadoop/hbase/executor/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/executor/package-tree.html
@@ -96,8 +96,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.executor.<a href="../../../../../org/apache/hadoop/hbase/executor/EventType.html" title="enum in org.apache.hadoop.hbase.executor"><span class="strong">EventType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.executor.<a href="../../../../../org/apache/hadoop/hbase/executor/ExecutorType.html" title="enum in org.apache.hadoop.hbase.executor"><span class="strong">ExecutorType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.executor.<a href="../../../../../org/apache/hadoop/hbase/executor/EventType.html" title="enum in org.apache.hadoop.hbase.executor"><span class="strong">EventType</span></a></li>
 </ul>
 </li>
 </ul>


[48/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/apidocs/org/apache/hadoop/hbase/HConstants.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/HConstants.html b/apidocs/org/apache/hadoop/hbase/HConstants.html
index 8944e52..aca7124 100644
--- a/apidocs/org/apache/hadoop/hbase/HConstants.html
+++ b/apidocs/org/apache/hadoop/hbase/HConstants.html
@@ -1292,405 +1292,398 @@ 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/HConstants.html#NINES">NINES</a></strong></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
-<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#NO_NEXT_INDEXED_KEY">NO_NEXT_INDEXED_KEY</a></strong></code>
-<div class="block">The byte array represents for NO_NEXT_INDEXED_KEY;
- The actual value is irrelevant because this is always compared by reference.</div>
-</td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#NO_NONCE">NO_NONCE</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#NO_SEQNUM">NO_SEQNUM</a></strong></code>
 <div class="block">Value indicating the server name was saved with no sequence number.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#NORMAL_QOS">NORMAL_QOS</a></strong></code>
 <div class="block">QOS attributes: these attributes are used to demarcate RPC call processing
  by different set of handlers.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#OLD_SNAPSHOT_DIR_NAME">OLD_SNAPSHOT_DIR_NAME</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#OLDEST_TIMESTAMP">OLDEST_TIMESTAMP</a></strong></code>
 <div class="block">Timestamp to use when we want to refer to the oldest cell.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#QOS_THRESHOLD">QOS_THRESHOLD</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#RECOVERED_EDITS_DIR">RECOVERED_EDITS_DIR</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#REGION_IMPL">REGION_IMPL</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#REGION_SERVER_HANDLER_ABORT_ON_ERROR_PERCENT">REGION_SERVER_HANDLER_ABORT_ON_ERROR_PERCENT</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#REGION_SERVER_HANDLER_COUNT">REGION_SERVER_HANDLER_COUNT</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#REGION_SERVER_HIGH_PRIORITY_HANDLER_COUNT">REGION_SERVER_HIGH_PRIORITY_HANDLER_COUNT</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#REGION_SERVER_IMPL">REGION_SERVER_IMPL</a></strong></code>
 <div class="block">Parameter name for what region server implementation to use.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#REGION_SERVER_REPLICATION_HANDLER_COUNT">REGION_SERVER_REPLICATION_HANDLER_COUNT</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#REGION_SPLIT_THREADS_MAX">REGION_SPLIT_THREADS_MAX</a></strong></code>
 <div class="block">The max number of threads used for splitting storefiles in parallel during
  the region split process.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#REGIONINFO_QUALIFIER">REGIONINFO_QUALIFIER</a></strong></code>
 <div class="block">The regioninfo column qualifier</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#REGIONINFO_QUALIFIER_STR">REGIONINFO_QUALIFIER_STR</a></strong></code>
 <div class="block">The RegionInfo qualifier as a string</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#REGIONSERVER_INFO_PORT">REGIONSERVER_INFO_PORT</a></strong></code>
 <div class="block">A configuration key for regionserver info port</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#REGIONSERVER_INFO_PORT_AUTO">REGIONSERVER_INFO_PORT_AUTO</a></strong></code>
 <div class="block">A flag that enables automatic selection of regionserver info port</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#REGIONSERVER_METRICS_PERIOD">REGIONSERVER_METRICS_PERIOD</a></strong></code>
 <div class="block">The period (in milliseconds) between computing region server point in time metrics</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#REGIONSERVER_PORT">REGIONSERVER_PORT</a></strong></code>
 <div class="block">Parameter name for port region server listens on.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#REPLAY_QOS">REPLAY_QOS</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#REPLICATION_BULKLOAD_ENABLE_DEFAULT">REPLICATION_BULKLOAD_ENABLE_DEFAULT</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#REPLICATION_BULKLOAD_ENABLE_KEY">REPLICATION_BULKLOAD_ENABLE_KEY</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#REPLICATION_CLUSTER_ID">REPLICATION_CLUSTER_ID</a></strong></code>
 <div class="block">Replication cluster id of source cluster which uniquely identifies itself with peer cluster</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#REPLICATION_CODEC_CONF_KEY">REPLICATION_CODEC_CONF_KEY</a></strong></code>
 <div class="block">Configuration key for setting replication codec class name</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#REPLICATION_CONF_DIR">REPLICATION_CONF_DIR</a></strong></code>
 <div class="block">Directory where the source cluster file system client configuration are placed which is used by
  sink cluster to copy HFiles from source cluster file system</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#REPLICATION_ENABLE_DEFAULT">REPLICATION_ENABLE_DEFAULT</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#REPLICATION_ENABLE_KEY">REPLICATION_ENABLE_KEY</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#REPLICATION_QOS">REPLICATION_QOS</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#REPLICATION_SCOPE_GLOBAL">REPLICATION_SCOPE_GLOBAL</a></strong></code>
 <div class="block">Scope tag for globally scoped data.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#REPLICATION_SCOPE_LOCAL">REPLICATION_SCOPE_LOCAL</a></strong></code>
 <div class="block">Scope tag for locally scoped data.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#REPLICATION_SERVICE_CLASSNAME_DEFAULT">REPLICATION_SERVICE_CLASSNAME_DEFAULT</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#REPLICATION_SINK_SERVICE_CLASSNAME">REPLICATION_SINK_SERVICE_CLASSNAME</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#REPLICATION_SOURCE_MAXTHREADS_DEFAULT">REPLICATION_SOURCE_MAXTHREADS_DEFAULT</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#REPLICATION_SOURCE_MAXTHREADS_KEY">REPLICATION_SOURCE_MAXTHREADS_KEY</a></strong></code>
 <div class="block">Maximum number of threads used by the replication source for shipping edits to the sinks</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#REPLICATION_SOURCE_SERVICE_CLASSNAME">REPLICATION_SOURCE_SERVICE_CLASSNAME</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static int[]</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#RETRY_BACKOFF">RETRY_BACKOFF</a></strong></code>
 <div class="block">Retrying we multiply hbase.client.pause setting by what we have in this array until we
  run out of array items.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#RPC_CODEC_CONF_KEY">RPC_CODEC_CONF_KEY</a></strong></code>
 <div class="block">Configuration key for setting RPC codec class name</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static byte</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#RPC_CURRENT_VERSION">RPC_CURRENT_VERSION</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#RPC_HEADER">RPC_HEADER</a></strong></code>
 <div class="block">The first four bytes of Hadoop RPC connections</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#SEQNUM_QUALIFIER">SEQNUM_QUALIFIER</a></strong></code>
 <div class="block">The open seqnum column qualifier</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#SEQNUM_QUALIFIER_STR">SEQNUM_QUALIFIER_STR</a></strong></code>
 <div class="block">The open seqnum column qualifier</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#SERVER_QUALIFIER">SERVER_QUALIFIER</a></strong></code>
 <div class="block">The server column qualifier</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#SERVER_QUALIFIER_STR">SERVER_QUALIFIER_STR</a></strong></code>
 <div class="block">The server column qualifier</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#SERVERNAME_QUALIFIER">SERVERNAME_QUALIFIER</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#SERVERNAME_QUALIFIER_STR">SERVERNAME_QUALIFIER_STR</a></strong></code>
 <div class="block">The serverName column qualifier.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#SNAPSHOT_DIR_NAME">SNAPSHOT_DIR_NAME</a></strong></code>
 <div class="block">Name of the directory to store all snapshots.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#SOCKET_RETRY_WAIT_MS">SOCKET_RETRY_WAIT_MS</a></strong></code>
 <div class="block">The delay when re-trying a socket operation in a loop (HBASE-4712)</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#SPLIT_LOGDIR_NAME">SPLIT_LOGDIR_NAME</a></strong></code>
 <div class="block">Used to construct the name of the splitlog directory for a region server</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#SPLITA_QUALIFIER">SPLITA_QUALIFIER</a></strong></code>
 <div class="block">The lower-half split region column qualifier</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#SPLITB_QUALIFIER">SPLITB_QUALIFIER</a></strong></code>
 <div class="block">The upper-half split region column qualifier</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#STARTCODE_QUALIFIER">STARTCODE_QUALIFIER</a></strong></code>
 <div class="block">The startcode column qualifier</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#STARTCODE_QUALIFIER_STR">STARTCODE_QUALIFIER_STR</a></strong></code>
 <div class="block">The startcode column qualifier</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#STATE_QUALIFIER">STATE_QUALIFIER</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#STATE_QUALIFIER_STR">STATE_QUALIFIER_STR</a></strong></code>
 <div class="block">The state column qualifier</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#STATUS_MULTICAST_ADDRESS">STATUS_MULTICAST_ADDRESS</a></strong></code>
 <div class="block">IP to use for the multicast status messages between the master and the clients.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#STATUS_MULTICAST_BIND_ADDRESS">STATUS_MULTICAST_BIND_ADDRESS</a></strong></code>
 <div class="block">The address to use for binding the local socket for receiving multicast.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#STATUS_MULTICAST_PORT">STATUS_MULTICAST_PORT</a></strong></code>
 <div class="block">The port to use for the multicast messages.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#STATUS_PUBLISHED">STATUS_PUBLISHED</a></strong></code>
 <div class="block">Setting to activate, or not, the publication of the status by the master.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#STATUS_PUBLISHED_DEFAULT">STATUS_PUBLISHED_DEFAULT</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#SYSTEMTABLE_QOS">SYSTEMTABLE_QOS</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#TABLE_FAMILY">TABLE_FAMILY</a></strong></code>
 <div class="block">The catalog family</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#TABLE_FAMILY_STR">TABLE_FAMILY_STR</a></strong></code>
 <div class="block">The catalog family as a string</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#TABLE_MAX_ROWSIZE_DEFAULT">TABLE_MAX_ROWSIZE_DEFAULT</a></strong></code>
 <div class="block">Default max row size (1 Gb).</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#TABLE_MAX_ROWSIZE_KEY">TABLE_MAX_ROWSIZE_KEY</a></strong></code>
 <div class="block">Max size of single row for Get's or Scan's without in-row scanning flag set.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#TABLE_STATE_QUALIFIER">TABLE_STATE_QUALIFIER</a></strong></code>
 <div class="block">The serialized table state qualifier</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#THREAD_WAKE_FREQUENCY">THREAD_WAKE_FREQUENCY</a></strong></code>
 <div class="block">Parameter name for how often threads should wake up</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#USE_META_REPLICAS">USE_META_REPLICAS</a></strong></code>
 <div class="block">Conf key for enabling meta replication</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/7/docs/api/java/nio/charset/Charset.html?is-external=true" title="class or interface in java.nio.charset">Charset</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#UTF8_CHARSET">UTF8_CHARSET</a></strong></code>
 <div class="block">When we encode strings, we always specify UTF8 encoding</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#UTF8_ENCODING">UTF8_ENCODING</a></strong></code>
 <div class="block">When we encode strings, we always specify UTF8 encoding</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#VERSION_FILE_NAME">VERSION_FILE_NAME</a></strong></code>
 <div class="block">name of version file</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#VERSION_FILE_WRITE_ATTEMPTS">VERSION_FILE_WRITE_ATTEMPTS</a></strong></code>
 <div class="block">Parameter name for how often we should try to write a version file, before failing</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#VERSIONS">VERSIONS</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#WAL_STORAGE_POLICY">WAL_STORAGE_POLICY</a></strong></code>
 <div class="block">Configuration name of WAL storage policy
@@ -1702,100 +1695,100 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
  See http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-hdfs/ArchivalStorage.html</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#WEEK_IN_SECONDS">WEEK_IN_SECONDS</a></strong></code>
 <div class="block">Seconds in a week</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#ZERO_L">ZERO_L</a></strong></code>
 <div class="block">long constant for zero</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#ZEROES">ZEROES</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#ZK_CFG_PROPERTY_PREFIX">ZK_CFG_PROPERTY_PREFIX</a></strong></code>
 <div class="block">Common prefix of ZooKeeper configuration properties</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#ZK_CFG_PROPERTY_PREFIX_LEN">ZK_CFG_PROPERTY_PREFIX_LEN</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#ZK_CLIENT_KERBEROS_PRINCIPAL">ZK_CLIENT_KERBEROS_PRINCIPAL</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#ZK_CLIENT_KEYTAB_FILE">ZK_CLIENT_KEYTAB_FILE</a></strong></code>
 <div class="block">Configuration keys for programmatic JAAS configuration for secured ZK interaction</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#ZK_SERVER_KERBEROS_PRINCIPAL">ZK_SERVER_KERBEROS_PRINCIPAL</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#ZK_SERVER_KEYTAB_FILE">ZK_SERVER_KEYTAB_FILE</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#ZK_SESSION_TIMEOUT">ZK_SESSION_TIMEOUT</a></strong></code>
 <div class="block">Configuration key for ZooKeeper session timeout</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#ZOOKEEPER_CLIENT_PORT">ZOOKEEPER_CLIENT_PORT</a></strong></code>
 <div class="block">Parameter name for the client port that the zookeeper listens on</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#ZOOKEEPER_DATA_DIR">ZOOKEEPER_DATA_DIR</a></strong></code>
 <div class="block">Parameter name for the ZK data directory</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#ZOOKEEPER_MAX_CLIENT_CNXNS">ZOOKEEPER_MAX_CLIENT_CNXNS</a></strong></code>
 <div class="block">Parameter name for the limit on concurrent client-side zookeeper
  connections</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#ZOOKEEPER_QUORUM">ZOOKEEPER_QUORUM</a></strong></code>
 <div class="block">Name of ZooKeeper quorum configuration parameter.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#ZOOKEEPER_RECOVERABLE_WAITTIME">ZOOKEEPER_RECOVERABLE_WAITTIME</a></strong></code>
 <div class="block">Parameter name for the wait time for the recoverable zookeeper</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#ZOOKEEPER_TICK_TIME">ZOOKEEPER_TICK_TIME</a></strong></code>
 <div class="block">Parameter name for the ZK tick time</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#ZOOKEEPER_USEMULTI">ZOOKEEPER_USEMULTI</a></strong></code>
 <div class="block">Configuration key for whether to use ZK.multi</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#ZOOKEEPER_ZNODE_PARENT">ZOOKEEPER_ZNODE_PARENT</a></strong></code>
 <div class="block">Parameter name for the root dir in ZK for this cluster</div>
@@ -4374,24 +4367,13 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.LOAD_BALANCER_SLOP_KEY">Constant Field Values</a></dd></dl>
 </li>
 </ul>
-<a name="NO_NEXT_INDEXED_KEY">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>NO_NEXT_INDEXED_KEY</h4>
-<pre>public static final&nbsp;<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1019">NO_NEXT_INDEXED_KEY</a></pre>
-<div class="block">The byte array represents for NO_NEXT_INDEXED_KEY;
- The actual value is irrelevant because this is always compared by reference.</div>
-</li>
-</ul>
 <a name="DELIMITER">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>DELIMITER</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1021">DELIMITER</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1016">DELIMITER</a></pre>
 <div class="block">delimiter used between portions of a region name</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.DELIMITER">Constant Field Values</a></dd></dl>
 </li>
@@ -4402,7 +4384,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>NORMAL_QOS</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1029">NORMAL_QOS</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1024">NORMAL_QOS</a></pre>
 <div class="block">QOS attributes: these attributes are used to demarcate RPC call processing
  by different set of handlers. For example, HIGH_QOS tagged methods are
  handled by high priority handlers.</div>
@@ -4415,7 +4397,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>QOS_THRESHOLD</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1030">QOS_THRESHOLD</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1025">QOS_THRESHOLD</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.QOS_THRESHOLD">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -4425,7 +4407,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HIGH_QOS</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1031">HIGH_QOS</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1026">HIGH_QOS</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HIGH_QOS">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -4435,7 +4417,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>REPLICATION_QOS</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1032">REPLICATION_QOS</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1027">REPLICATION_QOS</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.REPLICATION_QOS">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -4445,7 +4427,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>REPLAY_QOS</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1033">REPLAY_QOS</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1028">REPLAY_QOS</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.REPLAY_QOS">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -4455,7 +4437,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>ADMIN_QOS</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1034">ADMIN_QOS</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1029">ADMIN_QOS</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.ADMIN_QOS">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -4465,7 +4447,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>SYSTEMTABLE_QOS</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1035">SYSTEMTABLE_QOS</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1030">SYSTEMTABLE_QOS</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.SYSTEMTABLE_QOS">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -4475,7 +4457,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HFILE_ARCHIVE_DIRECTORY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1038">HFILE_ARCHIVE_DIRECTORY</a></pre>
+<pre>public 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/HConstants.html#line.1033">HFILE_ARCHIVE_DIRECTORY</a></pre>
 <div class="block">Directory under /hbase where archived hfiles are stored</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HFILE_ARCHIVE_DIRECTORY">Constant Field Values</a></dd></dl>
 </li>
@@ -4486,7 +4468,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>SNAPSHOT_DIR_NAME</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1045">SNAPSHOT_DIR_NAME</a></pre>
+<pre>public 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/HConstants.html#line.1040">SNAPSHOT_DIR_NAME</a></pre>
 <div class="block">Name of the directory to store all snapshots. See SnapshotDescriptionUtils for
  remaining snapshot constants; this is here to keep HConstants dependencies at a minimum and
  uni-directional.</div>
@@ -4499,7 +4481,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>OLD_SNAPSHOT_DIR_NAME</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1048">OLD_SNAPSHOT_DIR_NAME</a></pre>
+<pre>public 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/HConstants.html#line.1043">OLD_SNAPSHOT_DIR_NAME</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.OLD_SNAPSHOT_DIR_NAME">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -4509,7 +4491,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_TEMP_DIRECTORY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1051">HBASE_TEMP_DIRECTORY</a></pre>
+<pre>public 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/HConstants.html#line.1046">HBASE_TEMP_DIRECTORY</a></pre>
 <div class="block">Temporary directory used for table creation and deletion</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HBASE_TEMP_DIRECTORY">Constant Field Values</a></dd></dl>
 </li>
@@ -4520,7 +4502,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>REGIONSERVER_METRICS_PERIOD</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1055">REGIONSERVER_METRICS_PERIOD</a></pre>
+<pre>public 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/HConstants.html#line.1050">REGIONSERVER_METRICS_PERIOD</a></pre>
 <div class="block">The period (in milliseconds) between computing region server point in time metrics</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.REGIONSERVER_METRICS_PERIOD">Constant Field Values</a></dd></dl>
 </li>
@@ -4531,7 +4513,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_REGIONSERVER_METRICS_PERIOD</h4>
-<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1056">DEFAULT_REGIONSERVER_METRICS_PERIOD</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1051">DEFAULT_REGIONSERVER_METRICS_PERIOD</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.DEFAULT_REGIONSERVER_METRICS_PERIOD">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -4541,7 +4523,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_NON_TABLE_DIRS</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1058">HBASE_NON_TABLE_DIRS</a></pre>
+<pre>public static 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/HConstants.html#line.1053">HBASE_NON_TABLE_DIRS</a></pre>
 <div class="block">Directories that are not HBase table directories</div>
 </li>
 </ul>
@@ -4551,7 +4533,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_NON_USER_TABLE_DIRS</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1064">HBASE_NON_USER_TABLE_DIRS</a></pre>
+<pre>public static 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/HConstants.html#line.1059">HBASE_NON_USER_TABLE_DIRS</a></pre>
 <div class="block">Directories that are not HBase user table directories</div>
 </li>
 </ul>
@@ -4561,7 +4543,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HEALTH_SCRIPT_LOC</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1070">HEALTH_SCRIPT_LOC</a></pre>
+<pre>public 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/HConstants.html#line.1065">HEALTH_SCRIPT_LOC</a></pre>
 <div class="block">Health script related settings.</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HEALTH_SCRIPT_LOC">Constant Field Values</a></dd></dl>
 </li>
@@ -4572,7 +4554,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HEALTH_SCRIPT_TIMEOUT</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1071">HEALTH_SCRIPT_TIMEOUT</a></pre>
+<pre>public 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/HConstants.html#line.1066">HEALTH_SCRIPT_TIMEOUT</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HEALTH_SCRIPT_TIMEOUT">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -4582,7 +4564,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HEALTH_CHORE_WAKE_FREQ</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1072">HEALTH_CHORE_WAKE_FREQ</a></pre>
+<pre>public 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/HConstants.html#line.1067">HEALTH_CHORE_WAKE_FREQ</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HEALTH_CHORE_WAKE_FREQ">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -4592,7 +4574,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HEALTH_SCRIPT_TIMEOUT</h4>
-<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1074">DEFAULT_HEALTH_SCRIPT_TIMEOUT</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1069">DEFAULT_HEALTH_SCRIPT_TIMEOUT</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.DEFAULT_HEALTH_SCRIPT_TIMEOUT">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -4602,7 +4584,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HEALTH_FAILURE_THRESHOLD</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1078">HEALTH_FAILURE_THRESHOLD</a></pre>
+<pre>public 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/HConstants.html#line.1073">HEALTH_FAILURE_THRESHOLD</a></pre>
 <div class="block">The maximum number of health check failures a server can encounter consecutively.</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HEALTH_FAILURE_THRESHOLD">Constant Field Values</a></dd></dl>
 </li>
@@ -4613,7 +4595,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HEALTH_FAILURE_THRESHOLD</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1080">DEFAULT_HEALTH_FAILURE_THRESHOLD</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1075">DEFAULT_HEALTH_FAILURE_THRESHOLD</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.DEFAULT_HEALTH_FAILURE_THRESHOLD">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -4623,7 +4605,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>STATUS_PUBLISHED</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1087">STATUS_PUBLISHED</a></pre>
+<pre>public 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/HConstants.html#line.1082">STATUS_PUBLISHED</a></pre>
 <div class="block">Setting to activate, or not, the publication of the status by the master. Default
   notification is by a multicast message.</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.STATUS_PUBLISHED">Constant Field Values</a></dd></dl>
@@ -4635,7 +4617,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>STATUS_PUBLISHED_DEFAULT</h4>
-<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1088">STATUS_PUBLISHED_DEFAULT</a></pre>
+<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1083">STATUS_PUBLISHED_DEFAULT</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.STATUS_PUBLISHED_DEFAULT">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -4645,7 +4627,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>STATUS_MULTICAST_ADDRESS</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1095">STATUS_MULTICAST_ADDRESS</a></pre>
+<pre>public 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/HConstants.html#line.1090">STATUS_MULTICAST_ADDRESS</a></pre>
 <div class="block">IP to use for the multicast status messages between the master and the clients.
  The default address is chosen as one among others within the ones suitable for multicast
  messages.</div>
@@ -4658,7 +4640,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_STATUS_MULTICAST_ADDRESS</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1096">DEFAULT_STATUS_MULTICAST_ADDRESS</a></pre>
+<pre>public 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/HConstants.html#line.1091">DEFAULT_STATUS_MULTICAST_ADDRESS</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.DEFAULT_STATUS_MULTICAST_ADDRESS">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -4668,7 +4650,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>STATUS_MULTICAST_BIND_ADDRESS</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1103">STATUS_MULTICAST_BIND_ADDRESS</a></pre>
+<pre>public 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/HConstants.html#line.1098">STATUS_MULTICAST_BIND_ADDRESS</a></pre>
 <div class="block">The address to use for binding the local socket for receiving multicast. Defaults to
  0.0.0.0.</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="https://issues.apache.org/jira/browse/HBASE-9961">HBASE-9961</a>, 
@@ -4681,7 +4663,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_STATUS_MULTICAST_BIND_ADDRESS</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1105">DEFAULT_STATUS_MULTICAST_BIND_ADDRESS</a></pre>
+<pre>public 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/HConstants.html#line.1100">DEFAULT_STATUS_MULTICAST_BIND_ADDRESS</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.DEFAULT_STATUS_MULTICAST_BIND_ADDRESS">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -4691,7 +4673,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>STATUS_MULTICAST_PORT</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1110">STATUS_MULTICAST_PORT</a></pre>
+<pre>public 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/HConstants.html#line.1105">STATUS_MULTICAST_PORT</a></pre>
 <div class="block">The port to use for the multicast messages.</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.STATUS_MULTICAST_PORT">Constant Field Values</a></dd></dl>
 </li>
@@ -4702,7 +4684,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_STATUS_MULTICAST_PORT</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1111">DEFAULT_STATUS_MULTICAST_PORT</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1106">DEFAULT_STATUS_MULTICAST_PORT</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.DEFAULT_STATUS_MULTICAST_PORT">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -4712,7 +4694,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>NO_NONCE</h4>
-<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1113">NO_NONCE</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1108">NO_NONCE</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.NO_NONCE">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -4722,7 +4704,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>CIPHER_AES</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1116">CIPHER_AES</a></pre>
+<pre>public 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/HConstants.html#line.1111">CIPHER_AES</a></pre>
 <div class="block">Default cipher for encryption</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.CIPHER_AES">Constant Field Values</a></dd></dl>
 </li>
@@ -4733,7 +4715,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>CRYPTO_CIPHERPROVIDER_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1119">CRYPTO_CIPHERPROVIDER_CONF_KEY</a></pre>
+<pre>public 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/HConstants.html#line.1114">CRYPTO_CIPHERPROVIDER_CONF_KEY</a></pre>
 <div class="block">Configuration key for the crypto algorithm provider, a class name</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.CRYPTO_CIPHERPROVIDER_CONF_KEY">Constant Field Values</a></dd></dl>
 </li>
@@ -4744,7 +4726,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>CRYPTO_KEYPROVIDER_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1122">CRYPTO_KEYPROVIDER_CONF_KEY</a></pre>
+<pre>public 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/HConstants.html#line.1117">CRYPTO_KEYPROVIDER_CONF_KEY</a></pre>
 <div class="block">Configuration key for the crypto key provider, a class name</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.CRYPTO_KEYPROVIDER_CONF_KEY">Constant Field Values</a></dd></dl>
 </li>
@@ -4755,7 +4737,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>CRYPTO_KEYPROVIDER_PARAMETERS_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1125">CRYPTO_KEYPROVIDER_PARAMETERS_KEY</a></pre>
+<pre>public 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/HConstants.html#line.1120">CRYPTO_KEYPROVIDER_PARAMETERS_KEY</a></pre>
 <div class="block">Configuration key for the crypto key provider parameters</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.CRYPTO_KEYPROVIDER_PARAMETERS_KEY">Constant Field Values</a></dd></dl>
 </li>
@@ -4766,7 +4748,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>CRYPTO_MASTERKEY_NAME_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1129">CRYPTO_MASTERKEY_NAME_CONF_KEY</a></pre>
+<pre>public 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/HConstants.html#line.1124">CRYPTO_MASTERKEY_NAME_CONF_KEY</a></pre>
 <div class="block">Configuration key for the name of the master key for the cluster, a string</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.CRYPTO_MASTERKEY_NAME_CONF_KEY">Constant Field Values</a></dd></dl>
 </li>
@@ -4777,7 +4759,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>CRYPTO_MASTERKEY_ALTERNATE_NAME_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1132">CRYPTO_MASTERKEY_ALTERNATE_NAME_CONF_KEY</a></pre>
+<pre>public 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/HConstants.html#line.1127">CRYPTO_MASTERKEY_ALTERNATE_NAME_CONF_KEY</a></pre>
 <div class="block">Configuration key for the name of the alternate master key for the cluster, a string</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.CRYPTO_MASTERKEY_ALTERNATE_NAME_CONF_KEY">Constant Field Values</a></dd></dl>
 </li>
@@ -4788,7 +4770,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>CRYPTO_WAL_ALGORITHM_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1136">CRYPTO_WAL_ALGORITHM_CONF_KEY</a></pre>
+<pre>public 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/HConstants.html#line.1131">CRYPTO_WAL_ALGORITHM_CONF_KEY</a></pre>
 <div class="block">Configuration key for the algorithm to use when encrypting the WAL, a string</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.CRYPTO_WAL_ALGORITHM_CONF_KEY">Constant Field Values</a></dd></dl>
 </li>
@@ -4799,7 +4781,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>CRYPTO_WAL_KEY_NAME_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1139">CRYPTO_WAL_KEY_NAME_CONF_KEY</a></pre>
+<pre>public 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/HConstants.html#line.1134">CRYPTO_WAL_KEY_NAME_CONF_KEY</a></pre>
 <div class="block">Configuration key for the name of the master WAL encryption key for the cluster, a string</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.CRYPTO_WAL_KEY_NAME_CONF_KEY">Constant Field Values</a></dd></dl>
 </li>
@@ -4810,7 +4792,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>CRYPTO_KEY_ALGORITHM_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1142">CRYPTO_KEY_ALGORITHM_CONF_KEY</a></pre>
+<pre>public 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/HConstants.html#line.1137">CRYPTO_KEY_ALGORITHM_CONF_KEY</a></pre>
 <div class="block">Configuration key for the algorithm used for creating jks key, a string</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.CRYPTO_KEY_ALGORITHM_CONF_KEY">Constant Field Values</a></dd></dl>
 </li>
@@ -4821,7 +4803,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>CRYPTO_ALTERNATE_KEY_ALGORITHM_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1145">CRYPTO_ALTERNATE_KEY_ALGORITHM_CONF_KEY</a></pre>
+<pre>public 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/HConstants.html#line.1140">CRYPTO_ALTERNATE_KEY_ALGORITHM_CONF_KEY</a></pre>
 <div class="block">Configuration key for the name of the alternate cipher algorithm for the cluster, a string</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.CRYPTO_ALTERNATE_KEY_ALGORITHM_CONF_KEY">Constant Field Values</a></dd></dl>
 </li>
@@ -4832,7 +4814,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>ENABLE_WAL_ENCRYPTION</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1149">ENABLE_WAL_ENCRYPTION</a></pre>
+<pre>public 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/HConstants.html#line.1144">ENABLE_WAL_ENCRYPTION</a></pre>
 <div class="block">Configuration key for enabling WAL encryption, a boolean</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.ENABLE_WAL_ENCRYPTION">Constant Field Values</a></dd></dl>
 </li>
@@ -4843,7 +4825,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>RPC_CODEC_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1152">RPC_CODEC_CONF_KEY</a></pre>
+<pre>public 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/HConstants.html#line.1147">RPC_CODEC_CONF_KEY</a></pre>
 <div class="block">Configuration key for setting RPC codec class name</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.RPC_CODEC_CONF_KEY">Constant Field Values</a></dd></dl>
 </li>
@@ -4854,7 +4836,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>REPLICATION_CODEC_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1155">REPLICATION_CODEC_CONF_KEY</a></pre>
+<pre>public 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/HConstants.html#line.1150">REPLICATION_CODEC_CONF_KEY</a></pre>
 <div class="block">Configuration key for setting replication codec class name</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.REPLICATION_CODEC_CONF_KEY">Constant Field Values</a></dd></dl>
 </li>
@@ -4865,7 +4847,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>REPLICATION_SOURCE_MAXTHREADS_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1158">REPLICATION_SOURCE_MAXTHREADS_KEY</a></pre>
+<pre>public 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/HConstants.html#line.1153">REPLICATION_SOURCE_MAXTHREADS_KEY</a></pre>
 <div class="block">Maximum number of threads used by the replication source for shipping edits to the sinks</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.REPLICATION_SOURCE_MAXTHREADS_KEY">Constant Field Values</a></dd></dl>
 </li>
@@ -4876,7 +4858,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>REPLICATION_SOURCE_MAXTHREADS_DEFAULT</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1161">REPLICATION_SOURCE_MAXTHREADS_DEFAULT</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1156">REPLICATION_SOURCE_MAXTHREADS_DEFAULT</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.REPLICATION_SOURCE_MAXTHREADS_DEFAULT">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -4886,7 +4868,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_COORDINATED_STATE_MANAGER_CLASS</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1164">HBASE_COORDINATED_STATE_MANAGER_CLASS</a></pre>
+<pre>public 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/HConstants.html#line.1159">HBASE_COORDINATED_STATE_MANAGER_CLASS</a></pre>
 <div class="block">Config for pluggable consensus provider</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HBASE_COORDINATED_STATE_MANAGER_CLASS">Constant Field Values</a></dd></dl>
 </li>
@@ -4897,7 +4879,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_SPLITLOG_MANAGER_TIMEOUT</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1168">HBASE_SPLITLOG_MANAGER_TIMEOUT</a></pre>
+<pre>public 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/HConstants.html#line.1163">HBASE_SPLITLOG_MANAGER_TIMEOUT</a></pre>
 <div class="block">Configuration key for SplitLog manager timeout</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HBASE_SPLITLOG_MANAGER_TIMEOUT">Constant Field Values</a></dd></dl>
 </li>
@@ -4908,7 +4890,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>BUCKET_CACHE_IOENGINE_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1184">BUCKET_CACHE_IOENGINE_KEY</a></pre>
+<pre>public 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/HConstants.html#line.1179">BUCKET_CACHE_IOENGINE_KEY</a></pre>
 <div class="block">Current ioengine options in include: heap, offheap and file:PATH (where PATH is the path
  to the file that will host the file-based cache.  See BucketCache#getIOEngineFromName() for
  list of supported ioengine options.
@@ -4922,7 +4904,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>BUCKET_CACHE_SIZE_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1191">BUCKET_CACHE_SIZE_KEY</a></pre>
+<pre>public 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/HConstants.html#line.1186">BUCKET_CACHE_SIZE_KEY</a></pre>
 <div class="block">When using bucket cache, this is a float that EITHER represents a percentage of total heap
  memory size to give to the cache (if &lt; 1.0) OR, it is the capacity in
  megabytes of the cache.</div>
@@ -4935,7 +4917,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CLIENT_FAST_FAIL_MODE_ENABLED</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1199">HBASE_CLIENT_FAST_FAIL_MODE_ENABLED</a></pre>
+<pre>public 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/HConstants.html#line.1194">HBASE_CLIENT_FAST_FAIL_MODE_ENABLED</a></pre>
 <div class="block">Config for enabling/disabling the fast fail mode.</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HBASE_CLIENT_FAST_FAIL_MODE_ENABLED">Constant Field Values</a></dd></dl>
 </li>
@@ -4946,7 +4928,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CLIENT_ENABLE_FAST_FAIL_MODE_DEFAULT</h4>
-<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1202">HBASE_CLIENT_ENABLE_FAST_FAIL_MODE_DEFAULT</a></pre>
+<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1197">HBASE_CLIENT_ENABLE_FAST_FAIL_MODE_DEFAULT</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HBASE_CLIENT_ENABLE_FAST_FAIL_MODE_DEFAULT">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -4956,7 +4938,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/ap

<TRUNCATED>

[30/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/mapreduce/CellCounter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/mapreduce/CellCounter.html b/devapidocs/org/apache/hadoop/hbase/mapreduce/CellCounter.html
index ff6250a..ba53c14 100644
--- a/devapidocs/org/apache/hadoop/hbase/mapreduce/CellCounter.html
+++ b/devapidocs/org/apache/hadoop/hbase/mapreduce/CellCounter.html
@@ -340,7 +340,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>createSubmittableJob</h4>
-<pre>public static&nbsp;org.apache.hadoop.mapreduce.Job&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/CellCounter.html#line.188">createSubmittableJob</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public static&nbsp;org.apache.hadoop.mapreduce.Job&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/CellCounter.html#line.189">createSubmittableJob</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                                    <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;args)
                                                             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">Sets up the actual job.</div>
@@ -356,7 +356,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>getConfiguredScanForJob</h4>
-<pre>private static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/CellCounter.html#line.210">getConfiguredScanForJob</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>private static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/CellCounter.html#line.211">getConfiguredScanForJob</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                            <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;args)
                                      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>
@@ -369,7 +369,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>getRowFilter</h4>
-<pre>private static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/CellCounter.html#line.235">getRowFilter</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;args)</pre>
+<pre>private static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/CellCounter.html#line.236">getRowFilter</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;args)</pre>
 </li>
 </ul>
 <a name="getTimeRange(java.lang.String[])">
@@ -378,7 +378,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>getTimeRange</h4>
-<pre>private static&nbsp;long[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/CellCounter.html#line.248">getTimeRange</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;args)
+<pre>private static&nbsp;long[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/CellCounter.html#line.249">getTimeRange</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;args)
                             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>
@@ -390,7 +390,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>run</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/CellCounter.html#line.272">run</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;args)
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/CellCounter.html#line.273">run</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;args)
         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><strong>Specified by:</strong></dt>
@@ -405,7 +405,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>main</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/CellCounter.html#line.297">main</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;args)
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/CellCounter.html#line.298">main</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;args)
                  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">Main entry point.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>args</code> - The command line parameters.</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/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 fe5a467..f9ba087 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/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>
 <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/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/RowCounter.RowCounterMapper.Counters.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="strong">RowCounter.RowCounterMapper.Counters</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/master/AssignmentManager.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/AssignmentManager.html b/devapidocs/org/apache/hadoop/hbase/master/AssignmentManager.html
index b0f58e5..dbac725 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/AssignmentManager.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/AssignmentManager.html
@@ -1785,7 +1785,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>retrySendRegionOpen</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.1810">retrySendRegionOpen</a>(<a href="../../../../../org/apache/hadoop/hbase/master/RegionState.html" title="class in org.apache.hadoop.hbase.master">RegionState</a>&nbsp;regionState)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.1811">retrySendRegionOpen</a>(<a href="../../../../../org/apache/hadoop/hbase/master/RegionState.html" title="class in org.apache.hadoop.hbase.master">RegionState</a>&nbsp;regionState)</pre>
 <div class="block">At master failover, for pending_open region, make sure
  sendRegionOpen RPC call is sent to the target regionserver</div>
 </li>
@@ -1796,7 +1796,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>retrySendRegionClose</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.1882">retrySendRegionClose</a>(<a href="../../../../../org/apache/hadoop/hbase/master/RegionState.html" title="class in org.apache.hadoop.hbase.master">RegionState</a>&nbsp;regionState)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.1883">retrySendRegionClose</a>(<a href="../../../../../org/apache/hadoop/hbase/master/RegionState.html" title="class in org.apache.hadoop.hbase.master">RegionState</a>&nbsp;regionState)</pre>
 <div class="block">At master failover, for pending_close region, make sure
  sendRegionClose RPC call is sent to the target regionserver</div>
 </li>
@@ -1807,7 +1807,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>updateRegionsInTransitionMetrics</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.1953">updateRegionsInTransitionMetrics</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.1954">updateRegionsInTransitionMetrics</a>()</pre>
 <div class="block">Set Regions in transitions metrics.
  This takes an iterator on the RegionInTransition map (CLSM), and is not synchronized.
  This iterator is not fail fast, which may lead to stale read; but that's better than
@@ -1821,7 +1821,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>clearRegionPlan</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.1980">clearRegionPlan</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;region)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.1981">clearRegionPlan</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;region)</pre>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>region</code> - Region whose plan we are to clear.</dd></dl>
 </li>
 </ul>
@@ -1831,7 +1831,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>waitOnRegionToClearRegionsInTransition</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.1991">waitOnRegionToClearRegionsInTransition</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.1992">waitOnRegionToClearRegionsInTransition</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri)
                                             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">Wait on region to clear regions-in-transition.</div>
@@ -1847,7 +1847,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>waitOnRegionToClearRegionsInTransition</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.2003">waitOnRegionToClearRegionsInTransition</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.2004">waitOnRegionToClearRegionsInTransition</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri,
                                              long&nbsp;timeOut)
                                                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 on region to clear regions-in-transition or time out</div>
@@ -1863,7 +1863,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>invokeAssign</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.2028">invokeAssign</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;regionInfo)</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.2029">invokeAssign</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;regionInfo)</pre>
 </li>
 </ul>
 <a name="invokeUnAssign(org.apache.hadoop.hbase.HRegionInfo)">
@@ -1872,7 +1872,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>invokeUnAssign</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.2032">invokeUnAssign</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;regionInfo)</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.2033">invokeUnAssign</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;regionInfo)</pre>
 </li>
 </ul>
 <a name="isCarryingMeta(org.apache.hadoop.hbase.ServerName)">
@@ -1881,7 +1881,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>isCarryingMeta</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.2036">isCarryingMeta</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.2037">isCarryingMeta</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
 </li>
 </ul>
 <a name="isCarryingMetaReplica(org.apache.hadoop.hbase.ServerName, int)">
@@ -1890,7 +1890,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>isCarryingMetaReplica</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.2040">isCarryingMetaReplica</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.2041">isCarryingMetaReplica</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
                             int&nbsp;replicaId)</pre>
 </li>
 </ul>
@@ -1900,7 +1900,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>isCarryingMetaReplica</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.2045">isCarryingMetaReplica</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.2046">isCarryingMetaReplica</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
                             <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;metaHri)</pre>
 </li>
 </ul>
@@ -1910,7 +1910,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>isCarryingRegion</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.2053">isCarryingRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.2054">isCarryingRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
                        <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri)</pre>
 <div class="block">Check if the shutdown server carries the specific region.</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>whether the serverName currently hosts the region</dd></dl>
@@ -1922,7 +1922,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>cleanOutCrashedServerReferences</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="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.2078">cleanOutCrashedServerReferences</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn)</pre>
+<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="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.2079">cleanOutCrashedServerReferences</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn)</pre>
 <div class="block">Clean out crashed server removing any assignments.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>sn</code> - Server that went down.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>list of regions in transition on this server</dd></dl>
@@ -1934,7 +1934,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>balance</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.2128">balance</a>(<a href="../../../../../org/apache/hadoop/hbase/master/RegionPlan.html" title="class in org.apache.hadoop.hbase.master">RegionPlan</a>&nbsp;plan)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.2129">balance</a>(<a href="../../../../../org/apache/hadoop/hbase/master/RegionPlan.html" title="class in org.apache.hadoop.hbase.master">RegionPlan</a>&nbsp;plan)</pre>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>plan</code> - Plan to execute.</dd></dl>
 </li>
 </ul>
@@ -1944,7 +1944,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>stop</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.2158">stop</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.2159">stop</a>()</pre>
 </li>
 </ul>
 <a name="setEnabledTable(org.apache.hadoop.hbase.TableName)">
@@ -1953,7 +1953,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setEnabledTable</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.2164">setEnabledTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.2165">setEnabledTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 </li>
 </ul>
 <a name="onRegionFailedOpen(org.apache.hadoop.hbase.master.RegionState, org.apache.hadoop.hbase.HRegionInfo, org.apache.hadoop.hbase.ServerName)">
@@ -1962,7 +1962,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>onRegionFailedOpen</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/master/AssignmentManager.html#line.2180">onRegionFailedOpen</a>(<a href="../../../../../org/apache/hadoop/hbase/master/RegionState.html" title="class in org.apache.hadoop.hbase.master">RegionState</a>&nbsp;current,
+<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/master/AssignmentManager.html#line.2181">onRegionFailedOpen</a>(<a href="../../../../../org/apache/hadoop/hbase/master/RegionState.html" title="class in org.apache.hadoop.hbase.master">RegionState</a>&nbsp;current,
                         <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri,
                         <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
 </li>
@@ -1973,7 +1973,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>onRegionOpen</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/master/AssignmentManager.html#line.2244">onRegionOpen</a>(<a href="../../../../../org/apache/hadoop/hbase/master/RegionState.html" title="class in org.apache.hadoop.hbase.master">RegionState</a>&nbsp;current,
+<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/master/AssignmentManager.html#line.2245">onRegionOpen</a>(<a href="../../../../../org/apache/hadoop/hbase/master/RegionState.html" title="class in org.apache.hadoop.hbase.master">RegionState</a>&nbsp;current,
                   <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri,
                   <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
                   org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos.RegionStateTransition&nbsp;transition)</pre>
@@ -1985,7 +1985,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>onRegionClosed</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/master/AssignmentManager.html#line.2274">onRegionClosed</a>(<a href="../../../../../org/apache/hadoop/hbase/master/RegionState.html" title="class in org.apache.hadoop.hbase.master">RegionState</a>&nbsp;current,
+<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/master/AssignmentManager.html#line.2275">onRegionClosed</a>(<a href="../../../../../org/apache/hadoop/hbase/master/RegionState.html" title="class in org.apache.hadoop.hbase.master">RegionState</a>&nbsp;current,
                     <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri,
                     <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
 </li>
@@ -1996,7 +1996,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>onRegionReadyToSplit</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/master/AssignmentManager.html#line.2304">onRegionReadyToSplit</a>(<a href="../../../../../org/apache/hadoop/hbase/master/RegionState.html" title="class in org.apache.hadoop.hbase.master">RegionState</a>&nbsp;current,
+<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/master/AssignmentManager.html#line.2305">onRegionReadyToSplit</a>(<a href="../../../../../org/apache/hadoop/hbase/master/RegionState.html" title="class in org.apache.hadoop.hbase.master">RegionState</a>&nbsp;current,
                           <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri,
                           <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
                           org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos.RegionStateTransition&nbsp;transition)</pre>
@@ -2008,7 +2008,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>onRegionSplitPONR</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/master/AssignmentManager.html#line.2337">onRegionSplitPONR</a>(<a href="../../../../../org/apache/hadoop/hbase/master/RegionState.html" title="class in org.apache.hadoop.hbase.master">RegionState</a>&nbsp;current,
+<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/master/AssignmentManager.html#line.2338">onRegionSplitPONR</a>(<a href="../../../../../org/apache/hadoop/hbase/master/RegionState.html" title="class in org.apache.hadoop.hbase.master">RegionState</a>&nbsp;current,
                        <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri,
                        <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
                        org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos.RegionStateTransition&nbsp;transition)</pre>
@@ -2020,7 +2020,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>onRegionSplit</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/master/AssignmentManager.html#line.2379">onRegionSplit</a>(<a href="../../../../../org/apache/hadoop/hbase/master/RegionState.html" title="class in org.apache.hadoop.hbase.master">RegionState</a>&nbsp;current,
+<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/master/AssignmentManager.html#line.2380">onRegionSplit</a>(<a href="../../../../../org/apache/hadoop/hbase/master/RegionState.html" title="class in org.apache.hadoop.hbase.master">RegionState</a>&nbsp;current,
                    <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri,
                    <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
                    org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos.RegionStateTransition&nbsp;transition)</pre>
@@ -2032,7 +2032,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>onRegionSplitReverted</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/master/AssignmentManager.html#line.2429">onRegionSplitReverted</a>(<a href="../../../../../org/apache/hadoop/hbase/master/RegionState.html" title="class in org.apache.hadoop.hbase.master">RegionState</a>&nbsp;current,
+<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/master/AssignmentManager.html#line.2430">onRegionSplitReverted</a>(<a href="../../../../../org/apache/hadoop/hbase/master/RegionState.html" title="class in org.apache.hadoop.hbase.master">RegionState</a>&nbsp;current,
                            <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri,
                            <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
                            org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos.RegionStateTransition&nbsp;transition)</pre>
@@ -2044,7 +2044,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>onRegionReadyToMerge</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/master/AssignmentManager.html#line.2463">onRegionReadyToMerge</a>(<a href="../../../../../org/apache/hadoop/hbase/master/RegionState.html" title="class in org.apache.hadoop.hbase.master">RegionState</a>&nbsp;current,
+<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/master/AssignmentManager.html#line.2464">onRegionReadyToMerge</a>(<a href="../../../../../org/apache/hadoop/hbase/master/RegionState.html" title="class in org.apache.hadoop.hbase.master">RegionState</a>&nbsp;current,
                           <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri,
                           <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
                           org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos.RegionStateTransition&nbsp;transition)</pre>
@@ -2056,7 +2056,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>onRegionMergePONR</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/master/AssignmentManager.html#line.2503">onRegionMergePONR</a>(<a href="../../../../../org/apache/hadoop/hbase/master/RegionState.html" title="class in org.apache.hadoop.hbase.master">RegionState</a>&nbsp;current,
+<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/master/AssignmentManager.html#line.2504">onRegionMergePONR</a>(<a href="../../../../../org/apache/hadoop/hbase/master/RegionState.html" title="class in org.apache.hadoop.hbase.master">RegionState</a>&nbsp;current,
                        <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri,
                        <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
                        org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos.RegionStateTransition&nbsp;transition)</pre>
@@ -2068,7 +2068,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>onRegionMerged</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/master/AssignmentManager.html#line.2541">onRegionMerged</a>(<a href="../../../../../org/apache/hadoop/hbase/master/RegionState.html" title="class in org.apache.hadoop.hbase.master">RegionState</a>&nbsp;current,
+<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/master/AssignmentManager.html#line.2542">onRegionMerged</a>(<a href="../../../../../org/apache/hadoop/hbase/master/RegionState.html" title="class in org.apache.hadoop.hbase.master">RegionState</a>&nbsp;current,
                     <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri,
                     <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
                     org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos.RegionStateTransition&nbsp;transition)</pre>
@@ -2080,7 +2080,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>onRegionMergeReverted</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/master/AssignmentManager.html#line.2587">onRegionMergeReverted</a>(<a href="../../../../../org/apache/hadoop/hbase/master/RegionState.html" title="class in org.apache.hadoop.hbase.master">RegionState</a>&nbsp;current,
+<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/master/AssignmentManager.html#line.2588">onRegionMergeReverted</a>(<a href="../../../../../org/apache/hadoop/hbase/master/RegionState.html" title="class in org.apache.hadoop.hbase.master">RegionState</a>&nbsp;current,
                            <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri,
                            <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
                            org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos.RegionStateTransition&nbsp;transition)</pre>
@@ -2092,7 +2092,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>doMergingOfReplicas</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.2623">doMergingOfReplicas</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;mergedHri,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.2624">doMergingOfReplicas</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;mergedHri,
                        <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri_a,
                        <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri_b)</pre>
 </li>
@@ -2103,7 +2103,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>doSplittingOfReplicas</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.2664">doSplittingOfReplicas</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;parentHri,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.2665">doSplittingOfReplicas</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;parentHri,
                          <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri_a,
                          <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri_b)</pre>
 </li>
@@ -2114,7 +2114,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>prepareDaughterReplicaForAssignment</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.2707">prepareDaughterReplicaForAssignment</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;daughterHri,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.2708">prepareDaughterReplicaForAssignment</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;daughterHri,
                                        <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;parentHri,
                                        int&nbsp;replicaId,
                                        <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="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>,<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;map)</pre>
@@ -2126,7 +2126,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getReplicasToClose</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/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.2723">getReplicasToClose</a>()</pre>
+<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/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.2724">getReplicasToClose</a>()</pre>
 </li>
 </ul>
 <a name="regionOffline(org.apache.hadoop.hbase.HRegionInfo, org.apache.hadoop.hbase.master.RegionState.State)">
@@ -2135,7 +2135,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>regionOffline</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.2732">regionOffline</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;regionInfo,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.2733">regionOffline</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;regionInfo,
                  <a href="../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>&nbsp;state)</pre>
 <div class="block">A region is offline.  The new state should be the specified one,
  if not null.  If the specified state is null, the new state is Offline.
@@ -2148,7 +2148,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>sendRegionOpenedNotification</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.2762">sendRegionOpenedNotification</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;regionInfo,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.2763">sendRegionOpenedNotification</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;regionInfo,
                                 <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
 </li>
 </ul>
@@ -2158,7 +2158,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>sendRegionClosedNotification</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.2771">sendRegionClosedNotification</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;regionInfo)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.2772">sendRegionClosedNotification</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;regionInfo)</pre>
 </li>
 </ul>
 <a name="onRegionTransition(org.apache.hadoop.hbase.ServerName, org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos.RegionStateTransition)">
@@ -2167,7 +2167,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>onRegionTransition</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>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.2823">onRegionTransition</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
+<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>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.2824">onRegionTransition</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
                         org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos.RegionStateTransition&nbsp;transition)</pre>
 <div class="block">Try to update some region states. If the state machine prevents
  such update, an error message is returned to explain the reason.
@@ -2219,7 +2219,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getBalancer</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/LoadBalancer.html" title="interface in org.apache.hadoop.hbase.master">LoadBalancer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.2907">getBalancer</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/LoadBalancer.html" title="interface in org.apache.hadoop.hbase.master">LoadBalancer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.2908">getBalancer</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>Instance of load balancer</dd></dl>
 </li>
 </ul>
@@ -2229,7 +2229,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getSnapShotOfAssignment</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="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</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/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.2912">getSnapShotOfAssignment</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;&nbsp;infos)</pre>
+<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="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</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/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.2913">getSnapShotOfAssignment</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;&nbsp;infos)</pre>
 </li>
 </ul>
 <a name="setRegionStateListener(org.apache.hadoop.hbase.RegionStateListener)">
@@ -2238,7 +2238,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>setRegionStateListener</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.2916">setRegionStateListener</a>(<a href="../../../../../org/apache/hadoop/hbase/RegionStateListener.html" title="interface in org.apache.hadoop.hbase">RegionStateListener</a>&nbsp;listener)</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.html#line.2917">setRegionStateListener</a>(<a href="../../../../../org/apache/hadoop/hbase/RegionStateListener.html" title="interface in org.apache.hadoop.hbase">RegionStateListener</a>&nbsp;listener)</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/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 3a094f9..9548d85 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/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>
+<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>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/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 203ad35..f86eab7 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/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/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/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/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/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>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/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 409bb8a..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,9 +145,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.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>
-<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>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/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 eca7b47..292cb2c 100644
--- a/devapidocs/org/apache/hadoop/hbase/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/package-tree.html
@@ -361,14 +361,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/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/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/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/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/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/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/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/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/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/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/HConstants.Modify.html" title="enum in org.apache.hadoop.hbase"><span class="strong">HConstants.Modify</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html b/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
index a73d0a7..19ef617 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
@@ -120,8 +120,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/RootProcedureState.State.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="strong">RootProcedureState.State</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.Flow.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="strong">StateMachineProcedure.Flow</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/RootProcedureState.State.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="strong">RootProcedureState.State</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/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 a7d60fe..ca2a7df 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
@@ -172,11 +172,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.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/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/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="strong">ThrottleType</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/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/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/ThrottlingException.Type.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="strong">ThrottlingException.Type</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/regionserver/BaseRowProcessor.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/BaseRowProcessor.html b/devapidocs/org/apache/hadoop/hbase/regionserver/BaseRowProcessor.html
index 55be433..a1fe14b 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/BaseRowProcessor.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/BaseRowProcessor.html
@@ -262,7 +262,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProce
                     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/regionserver/RowProcessor.html#preBatchMutate(org.apache.hadoop.hbase.regionserver.HRegion,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit)">RowProcessor</a></code></strong></div>
 <div class="block">The hook to be executed after the process() but before applying the Mutations to region. Also
- by the time this hook is been called, mvcc transaction is started.</div>
+ by the time this hook is called, mvcc transaction have started.</div>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html#preBatchMutate(org.apache.hadoop.hbase.regionserver.HRegion,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit)">preBatchMutate</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="interface in org.apache.hadoop.hbase.regionserver">RowProcessor</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/BaseRowProcessor.html" title="type parameter in BaseRowProcessor">S</a> extends com.google.protobuf.Message,<a href="../../../../../org/apache/hadoop/hbase/regionserver/BaseRowProcessor.html" title="type parameter in BaseRowProcessor">T</a> extends com.google.protobuf.Message&gt;</code></dd>


[20/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/util/RegionSplitter.UniformSplit.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/RegionSplitter.UniformSplit.html b/devapidocs/org/apache/hadoop/hbase/util/RegionSplitter.UniformSplit.html
index 1c03746..a02d26f 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/RegionSplitter.UniformSplit.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/RegionSplitter.UniformSplit.html
@@ -354,7 +354,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/RegionSplitter.S
 <ul class="blockList">
 <li class="blockList">
 <h4>firstRow</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/RegionSplitter.UniformSplit.html#line.1067">firstRow</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/RegionSplitter.UniformSplit.html#line.1068">firstRow</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/util/RegionSplitter.SplitAlgorithm.html#firstRow()">RegionSplitter.SplitAlgorithm</a></code></strong></div>
 <div class="block">In HBase, the first row is represented by an empty byte array. This might
  cause problems with your split algorithm or row printing. All your APIs
@@ -371,7 +371,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/RegionSplitter.S
 <ul class="blockList">
 <li class="blockList">
 <h4>lastRow</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/RegionSplitter.UniformSplit.html#line.1072">lastRow</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/RegionSplitter.UniformSplit.html#line.1073">lastRow</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/util/RegionSplitter.SplitAlgorithm.html#lastRow()">RegionSplitter.SplitAlgorithm</a></code></strong></div>
 <div class="block">In HBase, the last row is represented by an empty byte array. This might
  cause problems with your split algorithm or row printing. All your APIs
@@ -388,7 +388,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/RegionSplitter.S
 <ul class="blockList">
 <li class="blockList">
 <h4>setFirstRow</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/RegionSplitter.UniformSplit.html#line.1077">setFirstRow</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;userInput)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/RegionSplitter.UniformSplit.html#line.1078">setFirstRow</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;userInput)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/util/RegionSplitter.SplitAlgorithm.html#setFirstRow(java.lang.String)">RegionSplitter.SplitAlgorithm</a></code></strong></div>
 <div class="block">In HBase, the last row is represented by an empty byte array. Set this
  value to help the split code understand how to evenly divide the first
@@ -405,7 +405,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/RegionSplitter.S
 <ul class="blockList">
 <li class="blockList">
 <h4>setLastRow</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/RegionSplitter.UniformSplit.html#line.1082">setLastRow</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;userInput)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/RegionSplitter.UniformSplit.html#line.1083">setLastRow</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;userInput)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/util/RegionSplitter.SplitAlgorithm.html#setLastRow(java.lang.String)">RegionSplitter.SplitAlgorithm</a></code></strong></div>
 <div class="block">In HBase, the last row is represented by an empty byte array. Set this
  value to help the split code understand how to evenly divide the last
@@ -423,7 +423,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/RegionSplitter.S
 <ul class="blockList">
 <li class="blockList">
 <h4>setFirstRow</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/RegionSplitter.UniformSplit.html#line.1088">setFirstRow</a>(byte[]&nbsp;userInput)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/RegionSplitter.UniformSplit.html#line.1089">setFirstRow</a>(byte[]&nbsp;userInput)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/util/RegionSplitter.SplitAlgorithm.html#setFirstRow(byte[])">RegionSplitter.SplitAlgorithm</a></code></strong></div>
 <div class="block">Set the first row</div>
 <dl>
@@ -438,7 +438,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/RegionSplitter.S
 <ul class="blockList">
 <li class="blockList">
 <h4>setLastRow</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/RegionSplitter.UniformSplit.html#line.1093">setLastRow</a>(byte[]&nbsp;userInput)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/RegionSplitter.UniformSplit.html#line.1094">setLastRow</a>(byte[]&nbsp;userInput)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/util/RegionSplitter.SplitAlgorithm.html#setLastRow(byte[])">RegionSplitter.SplitAlgorithm</a></code></strong></div>
 <div class="block">Set the last row</div>
 <dl>
@@ -453,7 +453,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/RegionSplitter.S
 <ul class="blockList">
 <li class="blockList">
 <h4>strToRow</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/RegionSplitter.UniformSplit.html#line.1098">strToRow</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;input)</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/RegionSplitter.UniformSplit.html#line.1099">strToRow</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;input)</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/util/RegionSplitter.SplitAlgorithm.html#strToRow(java.lang.String)">strToRow</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/util/RegionSplitter.SplitAlgorithm.html" title="interface in org.apache.hadoop.hbase.util">RegionSplitter.SplitAlgorithm</a></code></dd>
@@ -467,7 +467,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/RegionSplitter.S
 <ul class="blockList">
 <li class="blockList">
 <h4>rowToStr</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/util/RegionSplitter.UniformSplit.html#line.1103">rowToStr</a>(byte[]&nbsp;row)</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/util/RegionSplitter.UniformSplit.html#line.1104">rowToStr</a>(byte[]&nbsp;row)</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/util/RegionSplitter.SplitAlgorithm.html#rowToStr(byte[])">rowToStr</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/util/RegionSplitter.SplitAlgorithm.html" title="interface in org.apache.hadoop.hbase.util">RegionSplitter.SplitAlgorithm</a></code></dd>
@@ -481,7 +481,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/RegionSplitter.S
 <ul class="blockList">
 <li class="blockList">
 <h4>separator</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/util/RegionSplitter.UniformSplit.html#line.1108">separator</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/util/RegionSplitter.UniformSplit.html#line.1109">separator</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/util/RegionSplitter.SplitAlgorithm.html#separator()">separator</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/util/RegionSplitter.SplitAlgorithm.html" title="interface in org.apache.hadoop.hbase.util">RegionSplitter.SplitAlgorithm</a></code></dd>
@@ -494,7 +494,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/RegionSplitter.S
 <ul class="blockListLast">
 <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/util/RegionSplitter.UniformSplit.html#line.1113">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/util/RegionSplitter.UniformSplit.html#line.1114">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>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/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 ec5e384..4d9b15b 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
@@ -461,13 +461,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.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/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/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/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/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/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>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/wal/class-use/WALKey.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/class-use/WALKey.html b/devapidocs/org/apache/hadoop/hbase/wal/class-use/WALKey.html
index 08f9d15..37d29f7 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/class-use/WALKey.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/class-use/WALKey.html
@@ -348,7 +348,10 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
             <a href="../../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri,
             <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a>&nbsp;key,
             <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;edits,
-            boolean&nbsp;inMemstore)</code>&nbsp;</td>
+            boolean&nbsp;inMemstore)</code>
+<div class="block">NOTE: This append, at a time that is usually after this call returns, starts an
+ mvcc transaction by calling 'begin' wherein which we assign this update a sequenceid.</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.EmptyByteBufferedCell.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.EmptyByteBufferedCell.html b/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.EmptyByteBufferedCell.html
index c554a04..37288b5 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.EmptyByteBufferedCell.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.EmptyByteBufferedCell.html
@@ -850,7 +850,7 @@
 <span class="sourceLineNo">842</span>    final int tagsLength = cell.getTagsLength();<a name="line.842"></a>
 <span class="sourceLineNo">843</span>    // Save an object allocation where we can<a name="line.843"></a>
 <span class="sourceLineNo">844</span>    if (tagsLength == 0) {<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      return EMPTY_TAGS_ITR;<a name="line.845"></a>
+<span class="sourceLineNo">845</span>      return TagUtil.EMPTY_TAGS_ITR;<a name="line.845"></a>
 <span class="sourceLineNo">846</span>    }<a name="line.846"></a>
 <span class="sourceLineNo">847</span>    if (cell instanceof ByteBufferedCell) {<a name="line.847"></a>
 <span class="sourceLineNo">848</span>      return tagsIterator(((ByteBufferedCell) cell).getTagsByteBuffer(),<a name="line.848"></a>
@@ -1396,7 +1396,7 @@
 <span class="sourceLineNo">1388</span><a name="line.1388"></a>
 <span class="sourceLineNo">1389</span>  /**<a name="line.1389"></a>
 <span class="sourceLineNo">1390</span>   * Compares the row of two keyvalues for equality<a name="line.1390"></a>
-<span class="sourceLineNo">1391</span>   * <a name="line.1391"></a>
+<span class="sourceLineNo">1391</span>   *<a name="line.1391"></a>
 <span class="sourceLineNo">1392</span>   * @param left<a name="line.1392"></a>
 <span class="sourceLineNo">1393</span>   * @param right<a name="line.1393"></a>
 <span class="sourceLineNo">1394</span>   * @return True if rows match.<a name="line.1394"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.EmptyCell.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.EmptyCell.html b/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.EmptyCell.html
index c554a04..37288b5 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.EmptyCell.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.EmptyCell.html
@@ -850,7 +850,7 @@
 <span class="sourceLineNo">842</span>    final int tagsLength = cell.getTagsLength();<a name="line.842"></a>
 <span class="sourceLineNo">843</span>    // Save an object allocation where we can<a name="line.843"></a>
 <span class="sourceLineNo">844</span>    if (tagsLength == 0) {<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      return EMPTY_TAGS_ITR;<a name="line.845"></a>
+<span class="sourceLineNo">845</span>      return TagUtil.EMPTY_TAGS_ITR;<a name="line.845"></a>
 <span class="sourceLineNo">846</span>    }<a name="line.846"></a>
 <span class="sourceLineNo">847</span>    if (cell instanceof ByteBufferedCell) {<a name="line.847"></a>
 <span class="sourceLineNo">848</span>      return tagsIterator(((ByteBufferedCell) cell).getTagsByteBuffer(),<a name="line.848"></a>
@@ -1396,7 +1396,7 @@
 <span class="sourceLineNo">1388</span><a name="line.1388"></a>
 <span class="sourceLineNo">1389</span>  /**<a name="line.1389"></a>
 <span class="sourceLineNo">1390</span>   * Compares the row of two keyvalues for equality<a name="line.1390"></a>
-<span class="sourceLineNo">1391</span>   * <a name="line.1391"></a>
+<span class="sourceLineNo">1391</span>   *<a name="line.1391"></a>
 <span class="sourceLineNo">1392</span>   * @param left<a name="line.1392"></a>
 <span class="sourceLineNo">1393</span>   * @param right<a name="line.1393"></a>
 <span class="sourceLineNo">1394</span>   * @return True if rows match.<a name="line.1394"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.FirstOnRowByteBufferedCell.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.FirstOnRowByteBufferedCell.html b/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.FirstOnRowByteBufferedCell.html
index c554a04..37288b5 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.FirstOnRowByteBufferedCell.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.FirstOnRowByteBufferedCell.html
@@ -850,7 +850,7 @@
 <span class="sourceLineNo">842</span>    final int tagsLength = cell.getTagsLength();<a name="line.842"></a>
 <span class="sourceLineNo">843</span>    // Save an object allocation where we can<a name="line.843"></a>
 <span class="sourceLineNo">844</span>    if (tagsLength == 0) {<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      return EMPTY_TAGS_ITR;<a name="line.845"></a>
+<span class="sourceLineNo">845</span>      return TagUtil.EMPTY_TAGS_ITR;<a name="line.845"></a>
 <span class="sourceLineNo">846</span>    }<a name="line.846"></a>
 <span class="sourceLineNo">847</span>    if (cell instanceof ByteBufferedCell) {<a name="line.847"></a>
 <span class="sourceLineNo">848</span>      return tagsIterator(((ByteBufferedCell) cell).getTagsByteBuffer(),<a name="line.848"></a>
@@ -1396,7 +1396,7 @@
 <span class="sourceLineNo">1388</span><a name="line.1388"></a>
 <span class="sourceLineNo">1389</span>  /**<a name="line.1389"></a>
 <span class="sourceLineNo">1390</span>   * Compares the row of two keyvalues for equality<a name="line.1390"></a>
-<span class="sourceLineNo">1391</span>   * <a name="line.1391"></a>
+<span class="sourceLineNo">1391</span>   *<a name="line.1391"></a>
 <span class="sourceLineNo">1392</span>   * @param left<a name="line.1392"></a>
 <span class="sourceLineNo">1393</span>   * @param right<a name="line.1393"></a>
 <span class="sourceLineNo">1394</span>   * @return True if rows match.<a name="line.1394"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.FirstOnRowCell.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.FirstOnRowCell.html b/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.FirstOnRowCell.html
index c554a04..37288b5 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.FirstOnRowCell.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.FirstOnRowCell.html
@@ -850,7 +850,7 @@
 <span class="sourceLineNo">842</span>    final int tagsLength = cell.getTagsLength();<a name="line.842"></a>
 <span class="sourceLineNo">843</span>    // Save an object allocation where we can<a name="line.843"></a>
 <span class="sourceLineNo">844</span>    if (tagsLength == 0) {<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      return EMPTY_TAGS_ITR;<a name="line.845"></a>
+<span class="sourceLineNo">845</span>      return TagUtil.EMPTY_TAGS_ITR;<a name="line.845"></a>
 <span class="sourceLineNo">846</span>    }<a name="line.846"></a>
 <span class="sourceLineNo">847</span>    if (cell instanceof ByteBufferedCell) {<a name="line.847"></a>
 <span class="sourceLineNo">848</span>      return tagsIterator(((ByteBufferedCell) cell).getTagsByteBuffer(),<a name="line.848"></a>
@@ -1396,7 +1396,7 @@
 <span class="sourceLineNo">1388</span><a name="line.1388"></a>
 <span class="sourceLineNo">1389</span>  /**<a name="line.1389"></a>
 <span class="sourceLineNo">1390</span>   * Compares the row of two keyvalues for equality<a name="line.1390"></a>
-<span class="sourceLineNo">1391</span>   * <a name="line.1391"></a>
+<span class="sourceLineNo">1391</span>   *<a name="line.1391"></a>
 <span class="sourceLineNo">1392</span>   * @param left<a name="line.1392"></a>
 <span class="sourceLineNo">1393</span>   * @param right<a name="line.1393"></a>
 <span class="sourceLineNo">1394</span>   * @return True if rows match.<a name="line.1394"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.FirstOnRowColByteBufferedCell.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.FirstOnRowColByteBufferedCell.html b/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.FirstOnRowColByteBufferedCell.html
index c554a04..37288b5 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.FirstOnRowColByteBufferedCell.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.FirstOnRowColByteBufferedCell.html
@@ -850,7 +850,7 @@
 <span class="sourceLineNo">842</span>    final int tagsLength = cell.getTagsLength();<a name="line.842"></a>
 <span class="sourceLineNo">843</span>    // Save an object allocation where we can<a name="line.843"></a>
 <span class="sourceLineNo">844</span>    if (tagsLength == 0) {<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      return EMPTY_TAGS_ITR;<a name="line.845"></a>
+<span class="sourceLineNo">845</span>      return TagUtil.EMPTY_TAGS_ITR;<a name="line.845"></a>
 <span class="sourceLineNo">846</span>    }<a name="line.846"></a>
 <span class="sourceLineNo">847</span>    if (cell instanceof ByteBufferedCell) {<a name="line.847"></a>
 <span class="sourceLineNo">848</span>      return tagsIterator(((ByteBufferedCell) cell).getTagsByteBuffer(),<a name="line.848"></a>
@@ -1396,7 +1396,7 @@
 <span class="sourceLineNo">1388</span><a name="line.1388"></a>
 <span class="sourceLineNo">1389</span>  /**<a name="line.1389"></a>
 <span class="sourceLineNo">1390</span>   * Compares the row of two keyvalues for equality<a name="line.1390"></a>
-<span class="sourceLineNo">1391</span>   * <a name="line.1391"></a>
+<span class="sourceLineNo">1391</span>   *<a name="line.1391"></a>
 <span class="sourceLineNo">1392</span>   * @param left<a name="line.1392"></a>
 <span class="sourceLineNo">1393</span>   * @param right<a name="line.1393"></a>
 <span class="sourceLineNo">1394</span>   * @return True if rows match.<a name="line.1394"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.FirstOnRowColCell.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.FirstOnRowColCell.html b/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.FirstOnRowColCell.html
index c554a04..37288b5 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.FirstOnRowColCell.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.FirstOnRowColCell.html
@@ -850,7 +850,7 @@
 <span class="sourceLineNo">842</span>    final int tagsLength = cell.getTagsLength();<a name="line.842"></a>
 <span class="sourceLineNo">843</span>    // Save an object allocation where we can<a name="line.843"></a>
 <span class="sourceLineNo">844</span>    if (tagsLength == 0) {<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      return EMPTY_TAGS_ITR;<a name="line.845"></a>
+<span class="sourceLineNo">845</span>      return TagUtil.EMPTY_TAGS_ITR;<a name="line.845"></a>
 <span class="sourceLineNo">846</span>    }<a name="line.846"></a>
 <span class="sourceLineNo">847</span>    if (cell instanceof ByteBufferedCell) {<a name="line.847"></a>
 <span class="sourceLineNo">848</span>      return tagsIterator(((ByteBufferedCell) cell).getTagsByteBuffer(),<a name="line.848"></a>
@@ -1396,7 +1396,7 @@
 <span class="sourceLineNo">1388</span><a name="line.1388"></a>
 <span class="sourceLineNo">1389</span>  /**<a name="line.1389"></a>
 <span class="sourceLineNo">1390</span>   * Compares the row of two keyvalues for equality<a name="line.1390"></a>
-<span class="sourceLineNo">1391</span>   * <a name="line.1391"></a>
+<span class="sourceLineNo">1391</span>   *<a name="line.1391"></a>
 <span class="sourceLineNo">1392</span>   * @param left<a name="line.1392"></a>
 <span class="sourceLineNo">1393</span>   * @param right<a name="line.1393"></a>
 <span class="sourceLineNo">1394</span>   * @return True if rows match.<a name="line.1394"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.FirstOnRowColTSByteBufferedCell.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.FirstOnRowColTSByteBufferedCell.html b/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.FirstOnRowColTSByteBufferedCell.html
index c554a04..37288b5 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.FirstOnRowColTSByteBufferedCell.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.FirstOnRowColTSByteBufferedCell.html
@@ -850,7 +850,7 @@
 <span class="sourceLineNo">842</span>    final int tagsLength = cell.getTagsLength();<a name="line.842"></a>
 <span class="sourceLineNo">843</span>    // Save an object allocation where we can<a name="line.843"></a>
 <span class="sourceLineNo">844</span>    if (tagsLength == 0) {<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      return EMPTY_TAGS_ITR;<a name="line.845"></a>
+<span class="sourceLineNo">845</span>      return TagUtil.EMPTY_TAGS_ITR;<a name="line.845"></a>
 <span class="sourceLineNo">846</span>    }<a name="line.846"></a>
 <span class="sourceLineNo">847</span>    if (cell instanceof ByteBufferedCell) {<a name="line.847"></a>
 <span class="sourceLineNo">848</span>      return tagsIterator(((ByteBufferedCell) cell).getTagsByteBuffer(),<a name="line.848"></a>
@@ -1396,7 +1396,7 @@
 <span class="sourceLineNo">1388</span><a name="line.1388"></a>
 <span class="sourceLineNo">1389</span>  /**<a name="line.1389"></a>
 <span class="sourceLineNo">1390</span>   * Compares the row of two keyvalues for equality<a name="line.1390"></a>
-<span class="sourceLineNo">1391</span>   * <a name="line.1391"></a>
+<span class="sourceLineNo">1391</span>   *<a name="line.1391"></a>
 <span class="sourceLineNo">1392</span>   * @param left<a name="line.1392"></a>
 <span class="sourceLineNo">1393</span>   * @param right<a name="line.1393"></a>
 <span class="sourceLineNo">1394</span>   * @return True if rows match.<a name="line.1394"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.FirstOnRowColTSCell.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.FirstOnRowColTSCell.html b/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.FirstOnRowColTSCell.html
index c554a04..37288b5 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.FirstOnRowColTSCell.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.FirstOnRowColTSCell.html
@@ -850,7 +850,7 @@
 <span class="sourceLineNo">842</span>    final int tagsLength = cell.getTagsLength();<a name="line.842"></a>
 <span class="sourceLineNo">843</span>    // Save an object allocation where we can<a name="line.843"></a>
 <span class="sourceLineNo">844</span>    if (tagsLength == 0) {<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      return EMPTY_TAGS_ITR;<a name="line.845"></a>
+<span class="sourceLineNo">845</span>      return TagUtil.EMPTY_TAGS_ITR;<a name="line.845"></a>
 <span class="sourceLineNo">846</span>    }<a name="line.846"></a>
 <span class="sourceLineNo">847</span>    if (cell instanceof ByteBufferedCell) {<a name="line.847"></a>
 <span class="sourceLineNo">848</span>      return tagsIterator(((ByteBufferedCell) cell).getTagsByteBuffer(),<a name="line.848"></a>
@@ -1396,7 +1396,7 @@
 <span class="sourceLineNo">1388</span><a name="line.1388"></a>
 <span class="sourceLineNo">1389</span>  /**<a name="line.1389"></a>
 <span class="sourceLineNo">1390</span>   * Compares the row of two keyvalues for equality<a name="line.1390"></a>
-<span class="sourceLineNo">1391</span>   * <a name="line.1391"></a>
+<span class="sourceLineNo">1391</span>   *<a name="line.1391"></a>
 <span class="sourceLineNo">1392</span>   * @param left<a name="line.1392"></a>
 <span class="sourceLineNo">1393</span>   * @param right<a name="line.1393"></a>
 <span class="sourceLineNo">1394</span>   * @return True if rows match.<a name="line.1394"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.FirstOnRowDeleteFamilyCell.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.FirstOnRowDeleteFamilyCell.html b/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.FirstOnRowDeleteFamilyCell.html
index c554a04..37288b5 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.FirstOnRowDeleteFamilyCell.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.FirstOnRowDeleteFamilyCell.html
@@ -850,7 +850,7 @@
 <span class="sourceLineNo">842</span>    final int tagsLength = cell.getTagsLength();<a name="line.842"></a>
 <span class="sourceLineNo">843</span>    // Save an object allocation where we can<a name="line.843"></a>
 <span class="sourceLineNo">844</span>    if (tagsLength == 0) {<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      return EMPTY_TAGS_ITR;<a name="line.845"></a>
+<span class="sourceLineNo">845</span>      return TagUtil.EMPTY_TAGS_ITR;<a name="line.845"></a>
 <span class="sourceLineNo">846</span>    }<a name="line.846"></a>
 <span class="sourceLineNo">847</span>    if (cell instanceof ByteBufferedCell) {<a name="line.847"></a>
 <span class="sourceLineNo">848</span>      return tagsIterator(((ByteBufferedCell) cell).getTagsByteBuffer(),<a name="line.848"></a>
@@ -1396,7 +1396,7 @@
 <span class="sourceLineNo">1388</span><a name="line.1388"></a>
 <span class="sourceLineNo">1389</span>  /**<a name="line.1389"></a>
 <span class="sourceLineNo">1390</span>   * Compares the row of two keyvalues for equality<a name="line.1390"></a>
-<span class="sourceLineNo">1391</span>   * <a name="line.1391"></a>
+<span class="sourceLineNo">1391</span>   *<a name="line.1391"></a>
 <span class="sourceLineNo">1392</span>   * @param left<a name="line.1392"></a>
 <span class="sourceLineNo">1393</span>   * @param right<a name="line.1393"></a>
 <span class="sourceLineNo">1394</span>   * @return True if rows match.<a name="line.1394"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.LastOnRowByteBufferedCell.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.LastOnRowByteBufferedCell.html b/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.LastOnRowByteBufferedCell.html
index c554a04..37288b5 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.LastOnRowByteBufferedCell.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.LastOnRowByteBufferedCell.html
@@ -850,7 +850,7 @@
 <span class="sourceLineNo">842</span>    final int tagsLength = cell.getTagsLength();<a name="line.842"></a>
 <span class="sourceLineNo">843</span>    // Save an object allocation where we can<a name="line.843"></a>
 <span class="sourceLineNo">844</span>    if (tagsLength == 0) {<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      return EMPTY_TAGS_ITR;<a name="line.845"></a>
+<span class="sourceLineNo">845</span>      return TagUtil.EMPTY_TAGS_ITR;<a name="line.845"></a>
 <span class="sourceLineNo">846</span>    }<a name="line.846"></a>
 <span class="sourceLineNo">847</span>    if (cell instanceof ByteBufferedCell) {<a name="line.847"></a>
 <span class="sourceLineNo">848</span>      return tagsIterator(((ByteBufferedCell) cell).getTagsByteBuffer(),<a name="line.848"></a>
@@ -1396,7 +1396,7 @@
 <span class="sourceLineNo">1388</span><a name="line.1388"></a>
 <span class="sourceLineNo">1389</span>  /**<a name="line.1389"></a>
 <span class="sourceLineNo">1390</span>   * Compares the row of two keyvalues for equality<a name="line.1390"></a>
-<span class="sourceLineNo">1391</span>   * <a name="line.1391"></a>
+<span class="sourceLineNo">1391</span>   *<a name="line.1391"></a>
 <span class="sourceLineNo">1392</span>   * @param left<a name="line.1392"></a>
 <span class="sourceLineNo">1393</span>   * @param right<a name="line.1393"></a>
 <span class="sourceLineNo">1394</span>   * @return True if rows match.<a name="line.1394"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.LastOnRowCell.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.LastOnRowCell.html b/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.LastOnRowCell.html
index c554a04..37288b5 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.LastOnRowCell.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.LastOnRowCell.html
@@ -850,7 +850,7 @@
 <span class="sourceLineNo">842</span>    final int tagsLength = cell.getTagsLength();<a name="line.842"></a>
 <span class="sourceLineNo">843</span>    // Save an object allocation where we can<a name="line.843"></a>
 <span class="sourceLineNo">844</span>    if (tagsLength == 0) {<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      return EMPTY_TAGS_ITR;<a name="line.845"></a>
+<span class="sourceLineNo">845</span>      return TagUtil.EMPTY_TAGS_ITR;<a name="line.845"></a>
 <span class="sourceLineNo">846</span>    }<a name="line.846"></a>
 <span class="sourceLineNo">847</span>    if (cell instanceof ByteBufferedCell) {<a name="line.847"></a>
 <span class="sourceLineNo">848</span>      return tagsIterator(((ByteBufferedCell) cell).getTagsByteBuffer(),<a name="line.848"></a>
@@ -1396,7 +1396,7 @@
 <span class="sourceLineNo">1388</span><a name="line.1388"></a>
 <span class="sourceLineNo">1389</span>  /**<a name="line.1389"></a>
 <span class="sourceLineNo">1390</span>   * Compares the row of two keyvalues for equality<a name="line.1390"></a>
-<span class="sourceLineNo">1391</span>   * <a name="line.1391"></a>
+<span class="sourceLineNo">1391</span>   *<a name="line.1391"></a>
 <span class="sourceLineNo">1392</span>   * @param left<a name="line.1392"></a>
 <span class="sourceLineNo">1393</span>   * @param right<a name="line.1393"></a>
 <span class="sourceLineNo">1394</span>   * @return True if rows match.<a name="line.1394"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.LastOnRowColByteBufferedCell.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.LastOnRowColByteBufferedCell.html b/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.LastOnRowColByteBufferedCell.html
index c554a04..37288b5 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.LastOnRowColByteBufferedCell.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.LastOnRowColByteBufferedCell.html
@@ -850,7 +850,7 @@
 <span class="sourceLineNo">842</span>    final int tagsLength = cell.getTagsLength();<a name="line.842"></a>
 <span class="sourceLineNo">843</span>    // Save an object allocation where we can<a name="line.843"></a>
 <span class="sourceLineNo">844</span>    if (tagsLength == 0) {<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      return EMPTY_TAGS_ITR;<a name="line.845"></a>
+<span class="sourceLineNo">845</span>      return TagUtil.EMPTY_TAGS_ITR;<a name="line.845"></a>
 <span class="sourceLineNo">846</span>    }<a name="line.846"></a>
 <span class="sourceLineNo">847</span>    if (cell instanceof ByteBufferedCell) {<a name="line.847"></a>
 <span class="sourceLineNo">848</span>      return tagsIterator(((ByteBufferedCell) cell).getTagsByteBuffer(),<a name="line.848"></a>
@@ -1396,7 +1396,7 @@
 <span class="sourceLineNo">1388</span><a name="line.1388"></a>
 <span class="sourceLineNo">1389</span>  /**<a name="line.1389"></a>
 <span class="sourceLineNo">1390</span>   * Compares the row of two keyvalues for equality<a name="line.1390"></a>
-<span class="sourceLineNo">1391</span>   * <a name="line.1391"></a>
+<span class="sourceLineNo">1391</span>   *<a name="line.1391"></a>
 <span class="sourceLineNo">1392</span>   * @param left<a name="line.1392"></a>
 <span class="sourceLineNo">1393</span>   * @param right<a name="line.1393"></a>
 <span class="sourceLineNo">1394</span>   * @return True if rows match.<a name="line.1394"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.LastOnRowColCell.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.LastOnRowColCell.html b/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.LastOnRowColCell.html
index c554a04..37288b5 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.LastOnRowColCell.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.LastOnRowColCell.html
@@ -850,7 +850,7 @@
 <span class="sourceLineNo">842</span>    final int tagsLength = cell.getTagsLength();<a name="line.842"></a>
 <span class="sourceLineNo">843</span>    // Save an object allocation where we can<a name="line.843"></a>
 <span class="sourceLineNo">844</span>    if (tagsLength == 0) {<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      return EMPTY_TAGS_ITR;<a name="line.845"></a>
+<span class="sourceLineNo">845</span>      return TagUtil.EMPTY_TAGS_ITR;<a name="line.845"></a>
 <span class="sourceLineNo">846</span>    }<a name="line.846"></a>
 <span class="sourceLineNo">847</span>    if (cell instanceof ByteBufferedCell) {<a name="line.847"></a>
 <span class="sourceLineNo">848</span>      return tagsIterator(((ByteBufferedCell) cell).getTagsByteBuffer(),<a name="line.848"></a>
@@ -1396,7 +1396,7 @@
 <span class="sourceLineNo">1388</span><a name="line.1388"></a>
 <span class="sourceLineNo">1389</span>  /**<a name="line.1389"></a>
 <span class="sourceLineNo">1390</span>   * Compares the row of two keyvalues for equality<a name="line.1390"></a>
-<span class="sourceLineNo">1391</span>   * <a name="line.1391"></a>
+<span class="sourceLineNo">1391</span>   *<a name="line.1391"></a>
 <span class="sourceLineNo">1392</span>   * @param left<a name="line.1392"></a>
 <span class="sourceLineNo">1393</span>   * @param right<a name="line.1393"></a>
 <span class="sourceLineNo">1394</span>   * @return True if rows match.<a name="line.1394"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.html b/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.html
index c554a04..37288b5 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/CellUtil.html
@@ -850,7 +850,7 @@
 <span class="sourceLineNo">842</span>    final int tagsLength = cell.getTagsLength();<a name="line.842"></a>
 <span class="sourceLineNo">843</span>    // Save an object allocation where we can<a name="line.843"></a>
 <span class="sourceLineNo">844</span>    if (tagsLength == 0) {<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      return EMPTY_TAGS_ITR;<a name="line.845"></a>
+<span class="sourceLineNo">845</span>      return TagUtil.EMPTY_TAGS_ITR;<a name="line.845"></a>
 <span class="sourceLineNo">846</span>    }<a name="line.846"></a>
 <span class="sourceLineNo">847</span>    if (cell instanceof ByteBufferedCell) {<a name="line.847"></a>
 <span class="sourceLineNo">848</span>      return tagsIterator(((ByteBufferedCell) cell).getTagsByteBuffer(),<a name="line.848"></a>
@@ -1396,7 +1396,7 @@
 <span class="sourceLineNo">1388</span><a name="line.1388"></a>
 <span class="sourceLineNo">1389</span>  /**<a name="line.1389"></a>
 <span class="sourceLineNo">1390</span>   * Compares the row of two keyvalues for equality<a name="line.1390"></a>
-<span class="sourceLineNo">1391</span>   * <a name="line.1391"></a>
+<span class="sourceLineNo">1391</span>   *<a name="line.1391"></a>
 <span class="sourceLineNo">1392</span>   * @param left<a name="line.1392"></a>
 <span class="sourceLineNo">1393</span>   * @param right<a name="line.1393"></a>
 <span class="sourceLineNo">1394</span>   * @return True if rows match.<a name="line.1394"></a>


[46/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/apidocs/src-html/org/apache/hadoop/hbase/HConstants.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/HConstants.html b/apidocs/src-html/org/apache/hadoop/hbase/HConstants.html
index 78acfb7..8c20ead 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/HConstants.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/HConstants.html
@@ -1020,258 +1020,253 @@
 <span class="sourceLineNo">1012</span><a name="line.1012"></a>
 <span class="sourceLineNo">1013</span>  public static final String LOAD_BALANCER_SLOP_KEY = "hbase.regions.slop";<a name="line.1013"></a>
 <span class="sourceLineNo">1014</span><a name="line.1014"></a>
-<span class="sourceLineNo">1015</span>  /**<a name="line.1015"></a>
-<span class="sourceLineNo">1016</span>   * The byte array represents for NO_NEXT_INDEXED_KEY;<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span>   * The actual value is irrelevant because this is always compared by reference.<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span>   */<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span>  public static final Cell NO_NEXT_INDEXED_KEY = new KeyValue();<a name="line.1019"></a>
-<span class="sourceLineNo">1020</span>  /** delimiter used between portions of a region name */<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span>  public static final int DELIMITER = ',';<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span><a name="line.1022"></a>
-<span class="sourceLineNo">1023</span>  /**<a name="line.1023"></a>
-<span class="sourceLineNo">1024</span>   * QOS attributes: these attributes are used to demarcate RPC call processing<a name="line.1024"></a>
-<span class="sourceLineNo">1025</span>   * by different set of handlers. For example, HIGH_QOS tagged methods are<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span>   * handled by high priority handlers.<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span>   */<a name="line.1027"></a>
-<span class="sourceLineNo">1028</span>  // normal_QOS &lt; QOS_threshold &lt; replication_QOS &lt; replay_QOS &lt; admin_QOS &lt; high_QOS<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span>  public static final int NORMAL_QOS = 0;<a name="line.1029"></a>
-<span class="sourceLineNo">1030</span>  public static final int QOS_THRESHOLD = 10;<a name="line.1030"></a>
-<span class="sourceLineNo">1031</span>  public static final int HIGH_QOS = 200;<a name="line.1031"></a>
-<span class="sourceLineNo">1032</span>  public static final int REPLICATION_QOS = 5;<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span>  public static final int REPLAY_QOS = 6;<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span>  public static final int ADMIN_QOS = 100;<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span>  public static final int SYSTEMTABLE_QOS = HIGH_QOS;<a name="line.1035"></a>
-<span class="sourceLineNo">1036</span><a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>  /** Directory under /hbase where archived hfiles are stored */<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span>  public static final String HFILE_ARCHIVE_DIRECTORY = "archive";<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span><a name="line.1039"></a>
-<span class="sourceLineNo">1040</span>  /**<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span>   * Name of the directory to store all snapshots. See SnapshotDescriptionUtils for<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span>   * remaining snapshot constants; this is here to keep HConstants dependencies at a minimum and<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span>   * uni-directional.<a name="line.1043"></a>
-<span class="sourceLineNo">1044</span>   */<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span>  public static final String SNAPSHOT_DIR_NAME = ".hbase-snapshot";<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span><a name="line.1046"></a>
-<span class="sourceLineNo">1047</span>  /* Name of old snapshot directory. See HBASE-8352 for details on why it needs to be renamed */<a name="line.1047"></a>
-<span class="sourceLineNo">1048</span>  public static final String OLD_SNAPSHOT_DIR_NAME = ".snapshot";<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span><a name="line.1049"></a>
-<span class="sourceLineNo">1050</span>  /** Temporary directory used for table creation and deletion */<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span>  public static final String HBASE_TEMP_DIRECTORY = ".tmp";<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span>  /**<a name="line.1052"></a>
-<span class="sourceLineNo">1053</span>   * The period (in milliseconds) between computing region server point in time metrics<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span>   */<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span>  public static final String REGIONSERVER_METRICS_PERIOD = "hbase.regionserver.metrics.period";<a name="line.1055"></a>
-<span class="sourceLineNo">1056</span>  public static final long DEFAULT_REGIONSERVER_METRICS_PERIOD = 5000;<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span>  /** Directories that are not HBase table directories */<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span>  public static final List&lt;String&gt; HBASE_NON_TABLE_DIRS =<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span>    Collections.unmodifiableList(Arrays.asList(new String[] {<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span>      HBCK_SIDELINEDIR_NAME, HBASE_TEMP_DIRECTORY, MIGRATION_NAME<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span>    }));<a name="line.1061"></a>
-<span class="sourceLineNo">1062</span><a name="line.1062"></a>
-<span class="sourceLineNo">1063</span>  /** Directories that are not HBase user table directories */<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span>  public static final List&lt;String&gt; HBASE_NON_USER_TABLE_DIRS =<a name="line.1064"></a>
-<span class="sourceLineNo">1065</span>    Collections.unmodifiableList(Arrays.asList((String[])ArrayUtils.addAll(<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span>      new String[] { TableName.META_TABLE_NAME.getNameAsString() },<a name="line.1066"></a>
-<span class="sourceLineNo">1067</span>      HBASE_NON_TABLE_DIRS.toArray())));<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span><a name="line.1068"></a>
-<span class="sourceLineNo">1069</span>  /** Health script related settings. */<a name="line.1069"></a>
-<span class="sourceLineNo">1070</span>  public static final String HEALTH_SCRIPT_LOC = "hbase.node.health.script.location";<a name="line.1070"></a>
-<span class="sourceLineNo">1071</span>  public static final String HEALTH_SCRIPT_TIMEOUT = "hbase.node.health.script.timeout";<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span>  public static final String HEALTH_CHORE_WAKE_FREQ =<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span>      "hbase.node.health.script.frequency";<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span>  public static final long DEFAULT_HEALTH_SCRIPT_TIMEOUT = 60000;<a name="line.1074"></a>
-<span class="sourceLineNo">1075</span>  /**<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span>   * The maximum number of health check failures a server can encounter consecutively.<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span>   */<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span>  public static final String HEALTH_FAILURE_THRESHOLD =<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span>      "hbase.node.health.failure.threshold";<a name="line.1079"></a>
-<span class="sourceLineNo">1080</span>  public static final int DEFAULT_HEALTH_FAILURE_THRESHOLD = 3;<a name="line.1080"></a>
-<span class="sourceLineNo">1081</span><a name="line.1081"></a>
-<span class="sourceLineNo">1082</span><a name="line.1082"></a>
-<span class="sourceLineNo">1083</span>  /**<a name="line.1083"></a>
-<span class="sourceLineNo">1084</span>   * Setting to activate, or not, the publication of the status by the master. Default<a name="line.1084"></a>
-<span class="sourceLineNo">1085</span>   *  notification is by a multicast message.<a name="line.1085"></a>
-<span class="sourceLineNo">1086</span>   */<a name="line.1086"></a>
-<span class="sourceLineNo">1087</span>  public static final String STATUS_PUBLISHED = "hbase.status.published";<a name="line.1087"></a>
-<span class="sourceLineNo">1088</span>  public static final boolean STATUS_PUBLISHED_DEFAULT = false;<a name="line.1088"></a>
-<span class="sourceLineNo">1089</span><a name="line.1089"></a>
-<span class="sourceLineNo">1090</span>  /**<a name="line.1090"></a>
-<span class="sourceLineNo">1091</span>   * IP to use for the multicast status messages between the master and the clients.<a name="line.1091"></a>
-<span class="sourceLineNo">1092</span>   * The default address is chosen as one among others within the ones suitable for multicast<a name="line.1092"></a>
-<span class="sourceLineNo">1093</span>   * messages.<a name="line.1093"></a>
-<span class="sourceLineNo">1094</span>   */<a name="line.1094"></a>
-<span class="sourceLineNo">1095</span>  public static final String STATUS_MULTICAST_ADDRESS = "hbase.status.multicast.address.ip";<a name="line.1095"></a>
-<span class="sourceLineNo">1096</span>  public static final String DEFAULT_STATUS_MULTICAST_ADDRESS = "226.1.1.3";<a name="line.1096"></a>
-<span class="sourceLineNo">1097</span><a name="line.1097"></a>
-<span class="sourceLineNo">1098</span>  /**<a name="line.1098"></a>
-<span class="sourceLineNo">1099</span>   * The address to use for binding the local socket for receiving multicast. Defaults to<a name="line.1099"></a>
-<span class="sourceLineNo">1100</span>   * 0.0.0.0.<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span>   * @see &lt;a href="https://issues.apache.org/jira/browse/HBASE-9961"&gt;HBASE-9961&lt;/a&gt;<a name="line.1101"></a>
-<span class="sourceLineNo">1102</span>   */<a name="line.1102"></a>
-<span class="sourceLineNo">1103</span>  public static final String STATUS_MULTICAST_BIND_ADDRESS =<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span>      "hbase.status.multicast.bind.address.ip";<a name="line.1104"></a>
-<span class="sourceLineNo">1105</span>  public static final String DEFAULT_STATUS_MULTICAST_BIND_ADDRESS = "0.0.0.0";<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span><a name="line.1106"></a>
-<span class="sourceLineNo">1107</span>  /**<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span>   * The port to use for the multicast messages.<a name="line.1108"></a>
-<span class="sourceLineNo">1109</span>   */<a name="line.1109"></a>
-<span class="sourceLineNo">1110</span>  public static final String STATUS_MULTICAST_PORT = "hbase.status.multicast.address.port";<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span>  public static final int DEFAULT_STATUS_MULTICAST_PORT = 16100;<a name="line.1111"></a>
+<span class="sourceLineNo">1015</span>  /** delimiter used between portions of a region name */<a name="line.1015"></a>
+<span class="sourceLineNo">1016</span>  public static final int DELIMITER = ',';<a name="line.1016"></a>
+<span class="sourceLineNo">1017</span><a name="line.1017"></a>
+<span class="sourceLineNo">1018</span>  /**<a name="line.1018"></a>
+<span class="sourceLineNo">1019</span>   * QOS attributes: these attributes are used to demarcate RPC call processing<a name="line.1019"></a>
+<span class="sourceLineNo">1020</span>   * by different set of handlers. For example, HIGH_QOS tagged methods are<a name="line.1020"></a>
+<span class="sourceLineNo">1021</span>   * handled by high priority handlers.<a name="line.1021"></a>
+<span class="sourceLineNo">1022</span>   */<a name="line.1022"></a>
+<span class="sourceLineNo">1023</span>  // normal_QOS &lt; QOS_threshold &lt; replication_QOS &lt; replay_QOS &lt; admin_QOS &lt; high_QOS<a name="line.1023"></a>
+<span class="sourceLineNo">1024</span>  public static final int NORMAL_QOS = 0;<a name="line.1024"></a>
+<span class="sourceLineNo">1025</span>  public static final int QOS_THRESHOLD = 10;<a name="line.1025"></a>
+<span class="sourceLineNo">1026</span>  public static final int HIGH_QOS = 200;<a name="line.1026"></a>
+<span class="sourceLineNo">1027</span>  public static final int REPLICATION_QOS = 5;<a name="line.1027"></a>
+<span class="sourceLineNo">1028</span>  public static final int REPLAY_QOS = 6;<a name="line.1028"></a>
+<span class="sourceLineNo">1029</span>  public static final int ADMIN_QOS = 100;<a name="line.1029"></a>
+<span class="sourceLineNo">1030</span>  public static final int SYSTEMTABLE_QOS = HIGH_QOS;<a name="line.1030"></a>
+<span class="sourceLineNo">1031</span><a name="line.1031"></a>
+<span class="sourceLineNo">1032</span>  /** Directory under /hbase where archived hfiles are stored */<a name="line.1032"></a>
+<span class="sourceLineNo">1033</span>  public static final String HFILE_ARCHIVE_DIRECTORY = "archive";<a name="line.1033"></a>
+<span class="sourceLineNo">1034</span><a name="line.1034"></a>
+<span class="sourceLineNo">1035</span>  /**<a name="line.1035"></a>
+<span class="sourceLineNo">1036</span>   * Name of the directory to store all snapshots. See SnapshotDescriptionUtils for<a name="line.1036"></a>
+<span class="sourceLineNo">1037</span>   * remaining snapshot constants; this is here to keep HConstants dependencies at a minimum and<a name="line.1037"></a>
+<span class="sourceLineNo">1038</span>   * uni-directional.<a name="line.1038"></a>
+<span class="sourceLineNo">1039</span>   */<a name="line.1039"></a>
+<span class="sourceLineNo">1040</span>  public static final String SNAPSHOT_DIR_NAME = ".hbase-snapshot";<a name="line.1040"></a>
+<span class="sourceLineNo">1041</span><a name="line.1041"></a>
+<span class="sourceLineNo">1042</span>  /* Name of old snapshot directory. See HBASE-8352 for details on why it needs to be renamed */<a name="line.1042"></a>
+<span class="sourceLineNo">1043</span>  public static final String OLD_SNAPSHOT_DIR_NAME = ".snapshot";<a name="line.1043"></a>
+<span class="sourceLineNo">1044</span><a name="line.1044"></a>
+<span class="sourceLineNo">1045</span>  /** Temporary directory used for table creation and deletion */<a name="line.1045"></a>
+<span class="sourceLineNo">1046</span>  public static final String HBASE_TEMP_DIRECTORY = ".tmp";<a name="line.1046"></a>
+<span class="sourceLineNo">1047</span>  /**<a name="line.1047"></a>
+<span class="sourceLineNo">1048</span>   * The period (in milliseconds) between computing region server point in time metrics<a name="line.1048"></a>
+<span class="sourceLineNo">1049</span>   */<a name="line.1049"></a>
+<span class="sourceLineNo">1050</span>  public static final String REGIONSERVER_METRICS_PERIOD = "hbase.regionserver.metrics.period";<a name="line.1050"></a>
+<span class="sourceLineNo">1051</span>  public static final long DEFAULT_REGIONSERVER_METRICS_PERIOD = 5000;<a name="line.1051"></a>
+<span class="sourceLineNo">1052</span>  /** Directories that are not HBase table directories */<a name="line.1052"></a>
+<span class="sourceLineNo">1053</span>  public static final List&lt;String&gt; HBASE_NON_TABLE_DIRS =<a name="line.1053"></a>
+<span class="sourceLineNo">1054</span>    Collections.unmodifiableList(Arrays.asList(new String[] {<a name="line.1054"></a>
+<span class="sourceLineNo">1055</span>      HBCK_SIDELINEDIR_NAME, HBASE_TEMP_DIRECTORY, MIGRATION_NAME<a name="line.1055"></a>
+<span class="sourceLineNo">1056</span>    }));<a name="line.1056"></a>
+<span class="sourceLineNo">1057</span><a name="line.1057"></a>
+<span class="sourceLineNo">1058</span>  /** Directories that are not HBase user table directories */<a name="line.1058"></a>
+<span class="sourceLineNo">1059</span>  public static final List&lt;String&gt; HBASE_NON_USER_TABLE_DIRS =<a name="line.1059"></a>
+<span class="sourceLineNo">1060</span>    Collections.unmodifiableList(Arrays.asList((String[])ArrayUtils.addAll(<a name="line.1060"></a>
+<span class="sourceLineNo">1061</span>      new String[] { TableName.META_TABLE_NAME.getNameAsString() },<a name="line.1061"></a>
+<span class="sourceLineNo">1062</span>      HBASE_NON_TABLE_DIRS.toArray())));<a name="line.1062"></a>
+<span class="sourceLineNo">1063</span><a name="line.1063"></a>
+<span class="sourceLineNo">1064</span>  /** Health script related settings. */<a name="line.1064"></a>
+<span class="sourceLineNo">1065</span>  public static final String HEALTH_SCRIPT_LOC = "hbase.node.health.script.location";<a name="line.1065"></a>
+<span class="sourceLineNo">1066</span>  public static final String HEALTH_SCRIPT_TIMEOUT = "hbase.node.health.script.timeout";<a name="line.1066"></a>
+<span class="sourceLineNo">1067</span>  public static final String HEALTH_CHORE_WAKE_FREQ =<a name="line.1067"></a>
+<span class="sourceLineNo">1068</span>      "hbase.node.health.script.frequency";<a name="line.1068"></a>
+<span class="sourceLineNo">1069</span>  public static final long DEFAULT_HEALTH_SCRIPT_TIMEOUT = 60000;<a name="line.1069"></a>
+<span class="sourceLineNo">1070</span>  /**<a name="line.1070"></a>
+<span class="sourceLineNo">1071</span>   * The maximum number of health check failures a server can encounter consecutively.<a name="line.1071"></a>
+<span class="sourceLineNo">1072</span>   */<a name="line.1072"></a>
+<span class="sourceLineNo">1073</span>  public static final String HEALTH_FAILURE_THRESHOLD =<a name="line.1073"></a>
+<span class="sourceLineNo">1074</span>      "hbase.node.health.failure.threshold";<a name="line.1074"></a>
+<span class="sourceLineNo">1075</span>  public static final int DEFAULT_HEALTH_FAILURE_THRESHOLD = 3;<a name="line.1075"></a>
+<span class="sourceLineNo">1076</span><a name="line.1076"></a>
+<span class="sourceLineNo">1077</span><a name="line.1077"></a>
+<span class="sourceLineNo">1078</span>  /**<a name="line.1078"></a>
+<span class="sourceLineNo">1079</span>   * Setting to activate, or not, the publication of the status by the master. Default<a name="line.1079"></a>
+<span class="sourceLineNo">1080</span>   *  notification is by a multicast message.<a name="line.1080"></a>
+<span class="sourceLineNo">1081</span>   */<a name="line.1081"></a>
+<span class="sourceLineNo">1082</span>  public static final String STATUS_PUBLISHED = "hbase.status.published";<a name="line.1082"></a>
+<span class="sourceLineNo">1083</span>  public static final boolean STATUS_PUBLISHED_DEFAULT = false;<a name="line.1083"></a>
+<span class="sourceLineNo">1084</span><a name="line.1084"></a>
+<span class="sourceLineNo">1085</span>  /**<a name="line.1085"></a>
+<span class="sourceLineNo">1086</span>   * IP to use for the multicast status messages between the master and the clients.<a name="line.1086"></a>
+<span class="sourceLineNo">1087</span>   * The default address is chosen as one among others within the ones suitable for multicast<a name="line.1087"></a>
+<span class="sourceLineNo">1088</span>   * messages.<a name="line.1088"></a>
+<span class="sourceLineNo">1089</span>   */<a name="line.1089"></a>
+<span class="sourceLineNo">1090</span>  public static final String STATUS_MULTICAST_ADDRESS = "hbase.status.multicast.address.ip";<a name="line.1090"></a>
+<span class="sourceLineNo">1091</span>  public static final String DEFAULT_STATUS_MULTICAST_ADDRESS = "226.1.1.3";<a name="line.1091"></a>
+<span class="sourceLineNo">1092</span><a name="line.1092"></a>
+<span class="sourceLineNo">1093</span>  /**<a name="line.1093"></a>
+<span class="sourceLineNo">1094</span>   * The address to use for binding the local socket for receiving multicast. Defaults to<a name="line.1094"></a>
+<span class="sourceLineNo">1095</span>   * 0.0.0.0.<a name="line.1095"></a>
+<span class="sourceLineNo">1096</span>   * @see &lt;a href="https://issues.apache.org/jira/browse/HBASE-9961"&gt;HBASE-9961&lt;/a&gt;<a name="line.1096"></a>
+<span class="sourceLineNo">1097</span>   */<a name="line.1097"></a>
+<span class="sourceLineNo">1098</span>  public static final String STATUS_MULTICAST_BIND_ADDRESS =<a name="line.1098"></a>
+<span class="sourceLineNo">1099</span>      "hbase.status.multicast.bind.address.ip";<a name="line.1099"></a>
+<span class="sourceLineNo">1100</span>  public static final String DEFAULT_STATUS_MULTICAST_BIND_ADDRESS = "0.0.0.0";<a name="line.1100"></a>
+<span class="sourceLineNo">1101</span><a name="line.1101"></a>
+<span class="sourceLineNo">1102</span>  /**<a name="line.1102"></a>
+<span class="sourceLineNo">1103</span>   * The port to use for the multicast messages.<a name="line.1103"></a>
+<span class="sourceLineNo">1104</span>   */<a name="line.1104"></a>
+<span class="sourceLineNo">1105</span>  public static final String STATUS_MULTICAST_PORT = "hbase.status.multicast.address.port";<a name="line.1105"></a>
+<span class="sourceLineNo">1106</span>  public static final int DEFAULT_STATUS_MULTICAST_PORT = 16100;<a name="line.1106"></a>
+<span class="sourceLineNo">1107</span><a name="line.1107"></a>
+<span class="sourceLineNo">1108</span>  public static final long NO_NONCE = 0;<a name="line.1108"></a>
+<span class="sourceLineNo">1109</span><a name="line.1109"></a>
+<span class="sourceLineNo">1110</span>  /** Default cipher for encryption */<a name="line.1110"></a>
+<span class="sourceLineNo">1111</span>  public static final String CIPHER_AES = "AES";<a name="line.1111"></a>
 <span class="sourceLineNo">1112</span><a name="line.1112"></a>
-<span class="sourceLineNo">1113</span>  public static final long NO_NONCE = 0;<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span><a name="line.1114"></a>
-<span class="sourceLineNo">1115</span>  /** Default cipher for encryption */<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span>  public static final String CIPHER_AES = "AES";<a name="line.1116"></a>
-<span class="sourceLineNo">1117</span><a name="line.1117"></a>
-<span class="sourceLineNo">1118</span>  /** Configuration key for the crypto algorithm provider, a class name */<a name="line.1118"></a>
-<span class="sourceLineNo">1119</span>  public static final String CRYPTO_CIPHERPROVIDER_CONF_KEY = "hbase.crypto.cipherprovider";<a name="line.1119"></a>
-<span class="sourceLineNo">1120</span><a name="line.1120"></a>
-<span class="sourceLineNo">1121</span>  /** Configuration key for the crypto key provider, a class name */<a name="line.1121"></a>
-<span class="sourceLineNo">1122</span>  public static final String CRYPTO_KEYPROVIDER_CONF_KEY = "hbase.crypto.keyprovider";<a name="line.1122"></a>
-<span class="sourceLineNo">1123</span><a name="line.1123"></a>
-<span class="sourceLineNo">1124</span>  /** Configuration key for the crypto key provider parameters */<a name="line.1124"></a>
-<span class="sourceLineNo">1125</span>  public static final String CRYPTO_KEYPROVIDER_PARAMETERS_KEY =<a name="line.1125"></a>
-<span class="sourceLineNo">1126</span>      "hbase.crypto.keyprovider.parameters";<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span><a name="line.1127"></a>
-<span class="sourceLineNo">1128</span>  /** Configuration key for the name of the master key for the cluster, a string */<a name="line.1128"></a>
-<span class="sourceLineNo">1129</span>  public static final String CRYPTO_MASTERKEY_NAME_CONF_KEY = "hbase.crypto.master.key.name";<a name="line.1129"></a>
-<span class="sourceLineNo">1130</span><a name="line.1130"></a>
-<span class="sourceLineNo">1131</span>  /** Configuration key for the name of the alternate master key for the cluster, a string */<a name="line.1131"></a>
-<span class="sourceLineNo">1132</span>  public static final String CRYPTO_MASTERKEY_ALTERNATE_NAME_CONF_KEY =<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span>    "hbase.crypto.master.alternate.key.name";<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span><a name="line.1134"></a>
-<span class="sourceLineNo">1135</span>  /** Configuration key for the algorithm to use when encrypting the WAL, a string */<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span>  public static final String CRYPTO_WAL_ALGORITHM_CONF_KEY = "hbase.crypto.wal.algorithm";<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span><a name="line.1137"></a>
-<span class="sourceLineNo">1138</span>  /** Configuration key for the name of the master WAL encryption key for the cluster, a string */<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span>  public static final String CRYPTO_WAL_KEY_NAME_CONF_KEY = "hbase.crypto.wal.key.name";<a name="line.1139"></a>
-<span class="sourceLineNo">1140</span><a name="line.1140"></a>
-<span class="sourceLineNo">1141</span>  /** Configuration key for the algorithm used for creating jks key, a string */<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span>  public static final String CRYPTO_KEY_ALGORITHM_CONF_KEY = "hbase.crypto.key.algorithm";<a name="line.1142"></a>
-<span class="sourceLineNo">1143</span><a name="line.1143"></a>
-<span class="sourceLineNo">1144</span>  /** Configuration key for the name of the alternate cipher algorithm for the cluster, a string */<a name="line.1144"></a>
-<span class="sourceLineNo">1145</span>  public static final String CRYPTO_ALTERNATE_KEY_ALGORITHM_CONF_KEY =<a name="line.1145"></a>
-<span class="sourceLineNo">1146</span>      "hbase.crypto.alternate.key.algorithm";<a name="line.1146"></a>
-<span class="sourceLineNo">1147</span><a name="line.1147"></a>
-<span class="sourceLineNo">1148</span>  /** Configuration key for enabling WAL encryption, a boolean */<a name="line.1148"></a>
-<span class="sourceLineNo">1149</span>  public static final String ENABLE_WAL_ENCRYPTION = "hbase.regionserver.wal.encryption";<a name="line.1149"></a>
-<span class="sourceLineNo">1150</span><a name="line.1150"></a>
-<span class="sourceLineNo">1151</span>  /** Configuration key for setting RPC codec class name */<a name="line.1151"></a>
-<span class="sourceLineNo">1152</span>  public static final String RPC_CODEC_CONF_KEY = "hbase.client.rpc.codec";<a name="line.1152"></a>
-<span class="sourceLineNo">1153</span><a name="line.1153"></a>
-<span class="sourceLineNo">1154</span>  /** Configuration key for setting replication codec class name */<a name="line.1154"></a>
-<span class="sourceLineNo">1155</span>  public static final String REPLICATION_CODEC_CONF_KEY = "hbase.replication.rpc.codec";<a name="line.1155"></a>
-<span class="sourceLineNo">1156</span><a name="line.1156"></a>
-<span class="sourceLineNo">1157</span>  /** Maximum number of threads used by the replication source for shipping edits to the sinks */<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span>  public static final String REPLICATION_SOURCE_MAXTHREADS_KEY =<a name="line.1158"></a>
-<span class="sourceLineNo">1159</span>      "hbase.replication.source.maxthreads";<a name="line.1159"></a>
-<span class="sourceLineNo">1160</span><a name="line.1160"></a>
-<span class="sourceLineNo">1161</span>  public static final int REPLICATION_SOURCE_MAXTHREADS_DEFAULT = 10;<a name="line.1161"></a>
-<span class="sourceLineNo">1162</span><a name="line.1162"></a>
-<span class="sourceLineNo">1163</span>  /** Config for pluggable consensus provider */<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span>  public static final String HBASE_COORDINATED_STATE_MANAGER_CLASS =<a name="line.1164"></a>
-<span class="sourceLineNo">1165</span>    "hbase.coordinated.state.manager.class";<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span><a name="line.1166"></a>
-<span class="sourceLineNo">1167</span>  /** Configuration key for SplitLog manager timeout */<a name="line.1167"></a>
-<span class="sourceLineNo">1168</span>  public static final String HBASE_SPLITLOG_MANAGER_TIMEOUT = "hbase.splitlog.manager.timeout";<a name="line.1168"></a>
-<span class="sourceLineNo">1169</span><a name="line.1169"></a>
-<span class="sourceLineNo">1170</span>  /**<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span>   * Configuration keys for Bucket cache<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span>   */<a name="line.1172"></a>
-<span class="sourceLineNo">1173</span>  // TODO moving these bucket cache implementation specific configs to this level is violation of<a name="line.1173"></a>
-<span class="sourceLineNo">1174</span>  // encapsulation. But as these has to be referred from hbase-common and bucket cache<a name="line.1174"></a>
-<span class="sourceLineNo">1175</span>  // sits in hbase-server, there were no other go! Can we move the cache implementation to<a name="line.1175"></a>
-<span class="sourceLineNo">1176</span>  // hbase-common?<a name="line.1176"></a>
-<span class="sourceLineNo">1177</span><a name="line.1177"></a>
-<span class="sourceLineNo">1178</span>  /**<a name="line.1178"></a>
-<span class="sourceLineNo">1179</span>   * Current ioengine options in include: heap, offheap and file:PATH (where PATH is the path<a name="line.1179"></a>
-<span class="sourceLineNo">1180</span>   * to the file that will host the file-based cache.  See BucketCache#getIOEngineFromName() for<a name="line.1180"></a>
-<span class="sourceLineNo">1181</span>   * list of supported ioengine options.<a name="line.1181"></a>
-<span class="sourceLineNo">1182</span>   * &lt;p&gt;Set this option and a non-zero {@link #BUCKET_CACHE_SIZE_KEY} to enable bucket cache.<a name="line.1182"></a>
-<span class="sourceLineNo">1183</span>   */<a name="line.1183"></a>
-<span class="sourceLineNo">1184</span>  public static final String BUCKET_CACHE_IOENGINE_KEY = "hbase.bucketcache.ioengine";<a name="line.1184"></a>
-<span class="sourceLineNo">1185</span><a name="line.1185"></a>
-<span class="sourceLineNo">1186</span>  /**<a name="line.1186"></a>
-<span class="sourceLineNo">1187</span>   * When using bucket cache, this is a float that EITHER represents a percentage of total heap<a name="line.1187"></a>
-<span class="sourceLineNo">1188</span>   * memory size to give to the cache (if &amp;lt; 1.0) OR, it is the capacity in<a name="line.1188"></a>
-<span class="sourceLineNo">1189</span>   * megabytes of the cache.<a name="line.1189"></a>
+<span class="sourceLineNo">1113</span>  /** Configuration key for the crypto algorithm provider, a class name */<a name="line.1113"></a>
+<span class="sourceLineNo">1114</span>  public static final String CRYPTO_CIPHERPROVIDER_CONF_KEY = "hbase.crypto.cipherprovider";<a name="line.1114"></a>
+<span class="sourceLineNo">1115</span><a name="line.1115"></a>
+<span class="sourceLineNo">1116</span>  /** Configuration key for the crypto key provider, a class name */<a name="line.1116"></a>
+<span class="sourceLineNo">1117</span>  public static final String CRYPTO_KEYPROVIDER_CONF_KEY = "hbase.crypto.keyprovider";<a name="line.1117"></a>
+<span class="sourceLineNo">1118</span><a name="line.1118"></a>
+<span class="sourceLineNo">1119</span>  /** Configuration key for the crypto key provider parameters */<a name="line.1119"></a>
+<span class="sourceLineNo">1120</span>  public static final String CRYPTO_KEYPROVIDER_PARAMETERS_KEY =<a name="line.1120"></a>
+<span class="sourceLineNo">1121</span>      "hbase.crypto.keyprovider.parameters";<a name="line.1121"></a>
+<span class="sourceLineNo">1122</span><a name="line.1122"></a>
+<span class="sourceLineNo">1123</span>  /** Configuration key for the name of the master key for the cluster, a string */<a name="line.1123"></a>
+<span class="sourceLineNo">1124</span>  public static final String CRYPTO_MASTERKEY_NAME_CONF_KEY = "hbase.crypto.master.key.name";<a name="line.1124"></a>
+<span class="sourceLineNo">1125</span><a name="line.1125"></a>
+<span class="sourceLineNo">1126</span>  /** Configuration key for the name of the alternate master key for the cluster, a string */<a name="line.1126"></a>
+<span class="sourceLineNo">1127</span>  public static final String CRYPTO_MASTERKEY_ALTERNATE_NAME_CONF_KEY =<a name="line.1127"></a>
+<span class="sourceLineNo">1128</span>    "hbase.crypto.master.alternate.key.name";<a name="line.1128"></a>
+<span class="sourceLineNo">1129</span><a name="line.1129"></a>
+<span class="sourceLineNo">1130</span>  /** Configuration key for the algorithm to use when encrypting the WAL, a string */<a name="line.1130"></a>
+<span class="sourceLineNo">1131</span>  public static final String CRYPTO_WAL_ALGORITHM_CONF_KEY = "hbase.crypto.wal.algorithm";<a name="line.1131"></a>
+<span class="sourceLineNo">1132</span><a name="line.1132"></a>
+<span class="sourceLineNo">1133</span>  /** Configuration key for the name of the master WAL encryption key for the cluster, a string */<a name="line.1133"></a>
+<span class="sourceLineNo">1134</span>  public static final String CRYPTO_WAL_KEY_NAME_CONF_KEY = "hbase.crypto.wal.key.name";<a name="line.1134"></a>
+<span class="sourceLineNo">1135</span><a name="line.1135"></a>
+<span class="sourceLineNo">1136</span>  /** Configuration key for the algorithm used for creating jks key, a string */<a name="line.1136"></a>
+<span class="sourceLineNo">1137</span>  public static final String CRYPTO_KEY_ALGORITHM_CONF_KEY = "hbase.crypto.key.algorithm";<a name="line.1137"></a>
+<span class="sourceLineNo">1138</span><a name="line.1138"></a>
+<span class="sourceLineNo">1139</span>  /** Configuration key for the name of the alternate cipher algorithm for the cluster, a string */<a name="line.1139"></a>
+<span class="sourceLineNo">1140</span>  public static final String CRYPTO_ALTERNATE_KEY_ALGORITHM_CONF_KEY =<a name="line.1140"></a>
+<span class="sourceLineNo">1141</span>      "hbase.crypto.alternate.key.algorithm";<a name="line.1141"></a>
+<span class="sourceLineNo">1142</span><a name="line.1142"></a>
+<span class="sourceLineNo">1143</span>  /** Configuration key for enabling WAL encryption, a boolean */<a name="line.1143"></a>
+<span class="sourceLineNo">1144</span>  public static final String ENABLE_WAL_ENCRYPTION = "hbase.regionserver.wal.encryption";<a name="line.1144"></a>
+<span class="sourceLineNo">1145</span><a name="line.1145"></a>
+<span class="sourceLineNo">1146</span>  /** Configuration key for setting RPC codec class name */<a name="line.1146"></a>
+<span class="sourceLineNo">1147</span>  public static final String RPC_CODEC_CONF_KEY = "hbase.client.rpc.codec";<a name="line.1147"></a>
+<span class="sourceLineNo">1148</span><a name="line.1148"></a>
+<span class="sourceLineNo">1149</span>  /** Configuration key for setting replication codec class name */<a name="line.1149"></a>
+<span class="sourceLineNo">1150</span>  public static final String REPLICATION_CODEC_CONF_KEY = "hbase.replication.rpc.codec";<a name="line.1150"></a>
+<span class="sourceLineNo">1151</span><a name="line.1151"></a>
+<span class="sourceLineNo">1152</span>  /** Maximum number of threads used by the replication source for shipping edits to the sinks */<a name="line.1152"></a>
+<span class="sourceLineNo">1153</span>  public static final String REPLICATION_SOURCE_MAXTHREADS_KEY =<a name="line.1153"></a>
+<span class="sourceLineNo">1154</span>      "hbase.replication.source.maxthreads";<a name="line.1154"></a>
+<span class="sourceLineNo">1155</span><a name="line.1155"></a>
+<span class="sourceLineNo">1156</span>  public static final int REPLICATION_SOURCE_MAXTHREADS_DEFAULT = 10;<a name="line.1156"></a>
+<span class="sourceLineNo">1157</span><a name="line.1157"></a>
+<span class="sourceLineNo">1158</span>  /** Config for pluggable consensus provider */<a name="line.1158"></a>
+<span class="sourceLineNo">1159</span>  public static final String HBASE_COORDINATED_STATE_MANAGER_CLASS =<a name="line.1159"></a>
+<span class="sourceLineNo">1160</span>    "hbase.coordinated.state.manager.class";<a name="line.1160"></a>
+<span class="sourceLineNo">1161</span><a name="line.1161"></a>
+<span class="sourceLineNo">1162</span>  /** Configuration key for SplitLog manager timeout */<a name="line.1162"></a>
+<span class="sourceLineNo">1163</span>  public static final String HBASE_SPLITLOG_MANAGER_TIMEOUT = "hbase.splitlog.manager.timeout";<a name="line.1163"></a>
+<span class="sourceLineNo">1164</span><a name="line.1164"></a>
+<span class="sourceLineNo">1165</span>  /**<a name="line.1165"></a>
+<span class="sourceLineNo">1166</span>   * Configuration keys for Bucket cache<a name="line.1166"></a>
+<span class="sourceLineNo">1167</span>   */<a name="line.1167"></a>
+<span class="sourceLineNo">1168</span>  // TODO moving these bucket cache implementation specific configs to this level is violation of<a name="line.1168"></a>
+<span class="sourceLineNo">1169</span>  // encapsulation. But as these has to be referred from hbase-common and bucket cache<a name="line.1169"></a>
+<span class="sourceLineNo">1170</span>  // sits in hbase-server, there were no other go! Can we move the cache implementation to<a name="line.1170"></a>
+<span class="sourceLineNo">1171</span>  // hbase-common?<a name="line.1171"></a>
+<span class="sourceLineNo">1172</span><a name="line.1172"></a>
+<span class="sourceLineNo">1173</span>  /**<a name="line.1173"></a>
+<span class="sourceLineNo">1174</span>   * Current ioengine options in include: heap, offheap and file:PATH (where PATH is the path<a name="line.1174"></a>
+<span class="sourceLineNo">1175</span>   * to the file that will host the file-based cache.  See BucketCache#getIOEngineFromName() for<a name="line.1175"></a>
+<span class="sourceLineNo">1176</span>   * list of supported ioengine options.<a name="line.1176"></a>
+<span class="sourceLineNo">1177</span>   * &lt;p&gt;Set this option and a non-zero {@link #BUCKET_CACHE_SIZE_KEY} to enable bucket cache.<a name="line.1177"></a>
+<span class="sourceLineNo">1178</span>   */<a name="line.1178"></a>
+<span class="sourceLineNo">1179</span>  public static final String BUCKET_CACHE_IOENGINE_KEY = "hbase.bucketcache.ioengine";<a name="line.1179"></a>
+<span class="sourceLineNo">1180</span><a name="line.1180"></a>
+<span class="sourceLineNo">1181</span>  /**<a name="line.1181"></a>
+<span class="sourceLineNo">1182</span>   * When using bucket cache, this is a float that EITHER represents a percentage of total heap<a name="line.1182"></a>
+<span class="sourceLineNo">1183</span>   * memory size to give to the cache (if &amp;lt; 1.0) OR, it is the capacity in<a name="line.1183"></a>
+<span class="sourceLineNo">1184</span>   * megabytes of the cache.<a name="line.1184"></a>
+<span class="sourceLineNo">1185</span>   */<a name="line.1185"></a>
+<span class="sourceLineNo">1186</span>  public static final String BUCKET_CACHE_SIZE_KEY = "hbase.bucketcache.size";<a name="line.1186"></a>
+<span class="sourceLineNo">1187</span><a name="line.1187"></a>
+<span class="sourceLineNo">1188</span>  /**<a name="line.1188"></a>
+<span class="sourceLineNo">1189</span>   * HConstants for fast fail on the client side follow<a name="line.1189"></a>
 <span class="sourceLineNo">1190</span>   */<a name="line.1190"></a>
-<span class="sourceLineNo">1191</span>  public static final String BUCKET_CACHE_SIZE_KEY = "hbase.bucketcache.size";<a name="line.1191"></a>
-<span class="sourceLineNo">1192</span><a name="line.1192"></a>
-<span class="sourceLineNo">1193</span>  /**<a name="line.1193"></a>
-<span class="sourceLineNo">1194</span>   * HConstants for fast fail on the client side follow<a name="line.1194"></a>
-<span class="sourceLineNo">1195</span>   */<a name="line.1195"></a>
-<span class="sourceLineNo">1196</span>  /**<a name="line.1196"></a>
-<span class="sourceLineNo">1197</span>   * Config for enabling/disabling the fast fail mode.<a name="line.1197"></a>
-<span class="sourceLineNo">1198</span>   */<a name="line.1198"></a>
-<span class="sourceLineNo">1199</span>  public static final String HBASE_CLIENT_FAST_FAIL_MODE_ENABLED =<a name="line.1199"></a>
-<span class="sourceLineNo">1200</span>      "hbase.client.fast.fail.mode.enabled";<a name="line.1200"></a>
-<span class="sourceLineNo">1201</span><a name="line.1201"></a>
-<span class="sourceLineNo">1202</span>  public static final boolean HBASE_CLIENT_ENABLE_FAST_FAIL_MODE_DEFAULT =<a name="line.1202"></a>
-<span class="sourceLineNo">1203</span>      false;<a name="line.1203"></a>
-<span class="sourceLineNo">1204</span><a name="line.1204"></a>
-<span class="sourceLineNo">1205</span>  public static final String HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS =<a name="line.1205"></a>
-<span class="sourceLineNo">1206</span>      "hbase.client.fastfail.threshold";<a name="line.1206"></a>
-<span class="sourceLineNo">1207</span><a name="line.1207"></a>
-<span class="sourceLineNo">1208</span>  public static final long HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS_DEFAULT =<a name="line.1208"></a>
-<span class="sourceLineNo">1209</span>      60000;<a name="line.1209"></a>
-<span class="sourceLineNo">1210</span><a name="line.1210"></a>
-<span class="sourceLineNo">1211</span>  public static final String HBASE_CLIENT_FAST_FAIL_CLEANUP_MS_DURATION_MS =<a name="line.1211"></a>
-<span class="sourceLineNo">1212</span>      "hbase.client.fast.fail.cleanup.duration";<a name="line.1212"></a>
-<span class="sourceLineNo">1213</span><a name="line.1213"></a>
-<span class="sourceLineNo">1214</span>  public static final long HBASE_CLIENT_FAST_FAIL_CLEANUP_DURATION_MS_DEFAULT =<a name="line.1214"></a>
-<span class="sourceLineNo">1215</span>      600000;<a name="line.1215"></a>
-<span class="sourceLineNo">1216</span><a name="line.1216"></a>
-<span class="sourceLineNo">1217</span>  public static final String HBASE_CLIENT_FAST_FAIL_INTERCEPTOR_IMPL =<a name="line.1217"></a>
-<span class="sourceLineNo">1218</span>      "hbase.client.fast.fail.interceptor.impl";<a name="line.1218"></a>
+<span class="sourceLineNo">1191</span>  /**<a name="line.1191"></a>
+<span class="sourceLineNo">1192</span>   * Config for enabling/disabling the fast fail mode.<a name="line.1192"></a>
+<span class="sourceLineNo">1193</span>   */<a name="line.1193"></a>
+<span class="sourceLineNo">1194</span>  public static final String HBASE_CLIENT_FAST_FAIL_MODE_ENABLED =<a name="line.1194"></a>
+<span class="sourceLineNo">1195</span>      "hbase.client.fast.fail.mode.enabled";<a name="line.1195"></a>
+<span class="sourceLineNo">1196</span><a name="line.1196"></a>
+<span class="sourceLineNo">1197</span>  public static final boolean HBASE_CLIENT_ENABLE_FAST_FAIL_MODE_DEFAULT =<a name="line.1197"></a>
+<span class="sourceLineNo">1198</span>      false;<a name="line.1198"></a>
+<span class="sourceLineNo">1199</span><a name="line.1199"></a>
+<span class="sourceLineNo">1200</span>  public static final String HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS =<a name="line.1200"></a>
+<span class="sourceLineNo">1201</span>      "hbase.client.fastfail.threshold";<a name="line.1201"></a>
+<span class="sourceLineNo">1202</span><a name="line.1202"></a>
+<span class="sourceLineNo">1203</span>  public static final long HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS_DEFAULT =<a name="line.1203"></a>
+<span class="sourceLineNo">1204</span>      60000;<a name="line.1204"></a>
+<span class="sourceLineNo">1205</span><a name="line.1205"></a>
+<span class="sourceLineNo">1206</span>  public static final String HBASE_CLIENT_FAST_FAIL_CLEANUP_MS_DURATION_MS =<a name="line.1206"></a>
+<span class="sourceLineNo">1207</span>      "hbase.client.fast.fail.cleanup.duration";<a name="line.1207"></a>
+<span class="sourceLineNo">1208</span><a name="line.1208"></a>
+<span class="sourceLineNo">1209</span>  public static final long HBASE_CLIENT_FAST_FAIL_CLEANUP_DURATION_MS_DEFAULT =<a name="line.1209"></a>
+<span class="sourceLineNo">1210</span>      600000;<a name="line.1210"></a>
+<span class="sourceLineNo">1211</span><a name="line.1211"></a>
+<span class="sourceLineNo">1212</span>  public static final String HBASE_CLIENT_FAST_FAIL_INTERCEPTOR_IMPL =<a name="line.1212"></a>
+<span class="sourceLineNo">1213</span>      "hbase.client.fast.fail.interceptor.impl";<a name="line.1213"></a>
+<span class="sourceLineNo">1214</span><a name="line.1214"></a>
+<span class="sourceLineNo">1215</span>  /** Config key for if the server should send backpressure and if the client should listen to<a name="line.1215"></a>
+<span class="sourceLineNo">1216</span>   * that backpressure from the server */<a name="line.1216"></a>
+<span class="sourceLineNo">1217</span>  public static final String ENABLE_CLIENT_BACKPRESSURE = "hbase.client.backpressure.enabled";<a name="line.1217"></a>
+<span class="sourceLineNo">1218</span>  public static final boolean DEFAULT_ENABLE_CLIENT_BACKPRESSURE = false;<a name="line.1218"></a>
 <span class="sourceLineNo">1219</span><a name="line.1219"></a>
-<span class="sourceLineNo">1220</span>  /** Config key for if the server should send backpressure and if the client should listen to<a name="line.1220"></a>
-<span class="sourceLineNo">1221</span>   * that backpressure from the server */<a name="line.1221"></a>
-<span class="sourceLineNo">1222</span>  public static final String ENABLE_CLIENT_BACKPRESSURE = "hbase.client.backpressure.enabled";<a name="line.1222"></a>
-<span class="sourceLineNo">1223</span>  public static final boolean DEFAULT_ENABLE_CLIENT_BACKPRESSURE = false;<a name="line.1223"></a>
-<span class="sourceLineNo">1224</span><a name="line.1224"></a>
-<span class="sourceLineNo">1225</span>  public static final String HEAP_OCCUPANCY_LOW_WATERMARK_KEY =<a name="line.1225"></a>
-<span class="sourceLineNo">1226</span>      "hbase.heap.occupancy.low_water_mark";<a name="line.1226"></a>
-<span class="sourceLineNo">1227</span>  public static final float DEFAULT_HEAP_OCCUPANCY_LOW_WATERMARK = 0.95f;<a name="line.1227"></a>
-<span class="sourceLineNo">1228</span>  public static final String HEAP_OCCUPANCY_HIGH_WATERMARK_KEY =<a name="line.1228"></a>
-<span class="sourceLineNo">1229</span>      "hbase.heap.occupancy.high_water_mark";<a name="line.1229"></a>
-<span class="sourceLineNo">1230</span>  public static final float DEFAULT_HEAP_OCCUPANCY_HIGH_WATERMARK = 0.98f;<a name="line.1230"></a>
-<span class="sourceLineNo">1231</span><a name="line.1231"></a>
-<span class="sourceLineNo">1232</span>  /**<a name="line.1232"></a>
-<span class="sourceLineNo">1233</span>   * The max number of threads used for splitting storefiles in parallel during<a name="line.1233"></a>
-<span class="sourceLineNo">1234</span>   * the region split process.<a name="line.1234"></a>
-<span class="sourceLineNo">1235</span>   */<a name="line.1235"></a>
-<span class="sourceLineNo">1236</span>  public static final String REGION_SPLIT_THREADS_MAX =<a name="line.1236"></a>
-<span class="sourceLineNo">1237</span>    "hbase.regionserver.region.split.threads.max";<a name="line.1237"></a>
-<span class="sourceLineNo">1238</span><a name="line.1238"></a>
-<span class="sourceLineNo">1239</span>  /** Canary config keys */<a name="line.1239"></a>
-<span class="sourceLineNo">1240</span>  public static final String HBASE_CANARY_WRITE_DATA_TTL_KEY = "hbase.canary.write.data.ttl";<a name="line.1240"></a>
-<span class="sourceLineNo">1241</span><a name="line.1241"></a>
-<span class="sourceLineNo">1242</span>  public static final String HBASE_CANARY_WRITE_PERSERVER_REGIONS_LOWERLIMIT_KEY =<a name="line.1242"></a>
-<span class="sourceLineNo">1243</span>      "hbase.canary.write.perserver.regions.lowerLimit";<a name="line.1243"></a>
+<span class="sourceLineNo">1220</span>  public static final String HEAP_OCCUPANCY_LOW_WATERMARK_KEY =<a name="line.1220"></a>
+<span class="sourceLineNo">1221</span>      "hbase.heap.occupancy.low_water_mark";<a name="line.1221"></a>
+<span class="sourceLineNo">1222</span>  public static final float DEFAULT_HEAP_OCCUPANCY_LOW_WATERMARK = 0.95f;<a name="line.1222"></a>
+<span class="sourceLineNo">1223</span>  public static final String HEAP_OCCUPANCY_HIGH_WATERMARK_KEY =<a name="line.1223"></a>
+<span class="sourceLineNo">1224</span>      "hbase.heap.occupancy.high_water_mark";<a name="line.1224"></a>
+<span class="sourceLineNo">1225</span>  public static final float DEFAULT_HEAP_OCCUPANCY_HIGH_WATERMARK = 0.98f;<a name="line.1225"></a>
+<span class="sourceLineNo">1226</span><a name="line.1226"></a>
+<span class="sourceLineNo">1227</span>  /**<a name="line.1227"></a>
+<span class="sourceLineNo">1228</span>   * The max number of threads used for splitting storefiles in parallel during<a name="line.1228"></a>
+<span class="sourceLineNo">1229</span>   * the region split process.<a name="line.1229"></a>
+<span class="sourceLineNo">1230</span>   */<a name="line.1230"></a>
+<span class="sourceLineNo">1231</span>  public static final String REGION_SPLIT_THREADS_MAX =<a name="line.1231"></a>
+<span class="sourceLineNo">1232</span>    "hbase.regionserver.region.split.threads.max";<a name="line.1232"></a>
+<span class="sourceLineNo">1233</span><a name="line.1233"></a>
+<span class="sourceLineNo">1234</span>  /** Canary config keys */<a name="line.1234"></a>
+<span class="sourceLineNo">1235</span>  public static final String HBASE_CANARY_WRITE_DATA_TTL_KEY = "hbase.canary.write.data.ttl";<a name="line.1235"></a>
+<span class="sourceLineNo">1236</span><a name="line.1236"></a>
+<span class="sourceLineNo">1237</span>  public static final String HBASE_CANARY_WRITE_PERSERVER_REGIONS_LOWERLIMIT_KEY =<a name="line.1237"></a>
+<span class="sourceLineNo">1238</span>      "hbase.canary.write.perserver.regions.lowerLimit";<a name="line.1238"></a>
+<span class="sourceLineNo">1239</span><a name="line.1239"></a>
+<span class="sourceLineNo">1240</span>  public static final String HBASE_CANARY_WRITE_PERSERVER_REGIONS_UPPERLIMIT_KEY =<a name="line.1240"></a>
+<span class="sourceLineNo">1241</span>      "hbase.canary.write.perserver.regions.upperLimit";<a name="line.1241"></a>
+<span class="sourceLineNo">1242</span><a name="line.1242"></a>
+<span class="sourceLineNo">1243</span>  public static final String HBASE_CANARY_WRITE_VALUE_SIZE_KEY = "hbase.canary.write.value.size";<a name="line.1243"></a>
 <span class="sourceLineNo">1244</span><a name="line.1244"></a>
-<span class="sourceLineNo">1245</span>  public static final String HBASE_CANARY_WRITE_PERSERVER_REGIONS_UPPERLIMIT_KEY =<a name="line.1245"></a>
-<span class="sourceLineNo">1246</span>      "hbase.canary.write.perserver.regions.upperLimit";<a name="line.1246"></a>
+<span class="sourceLineNo">1245</span>  public static final String HBASE_CANARY_WRITE_TABLE_CHECK_PERIOD_KEY =<a name="line.1245"></a>
+<span class="sourceLineNo">1246</span>      "hbase.canary.write.table.check.period";<a name="line.1246"></a>
 <span class="sourceLineNo">1247</span><a name="line.1247"></a>
-<span class="sourceLineNo">1248</span>  public static final String HBASE_CANARY_WRITE_VALUE_SIZE_KEY = "hbase.canary.write.value.size";<a name="line.1248"></a>
-<span class="sourceLineNo">1249</span><a name="line.1249"></a>
-<span class="sourceLineNo">1250</span>  public static final String HBASE_CANARY_WRITE_TABLE_CHECK_PERIOD_KEY =<a name="line.1250"></a>
-<span class="sourceLineNo">1251</span>      "hbase.canary.write.table.check.period";<a name="line.1251"></a>
-<span class="sourceLineNo">1252</span><a name="line.1252"></a>
-<span class="sourceLineNo">1253</span>  /**<a name="line.1253"></a>
-<span class="sourceLineNo">1254</span>   * Configuration keys for programmatic JAAS configuration for secured ZK interaction<a name="line.1254"></a>
-<span class="sourceLineNo">1255</span>   */<a name="line.1255"></a>
-<span class="sourceLineNo">1256</span>  public static final String ZK_CLIENT_KEYTAB_FILE = "hbase.zookeeper.client.keytab.file";<a name="line.1256"></a>
-<span class="sourceLineNo">1257</span>  public static final String ZK_CLIENT_KERBEROS_PRINCIPAL =<a name="line.1257"></a>
-<span class="sourceLineNo">1258</span>      "hbase.zookeeper.client.kerberos.principal";<a name="line.1258"></a>
-<span class="sourceLineNo">1259</span>  public static final String ZK_SERVER_KEYTAB_FILE = "hbase.zookeeper.server.keytab.file";<a name="line.1259"></a>
-<span class="sourceLineNo">1260</span>  public static final String ZK_SERVER_KERBEROS_PRINCIPAL =<a name="line.1260"></a>
-<span class="sourceLineNo">1261</span>      "hbase.zookeeper.server.kerberos.principal";<a name="line.1261"></a>
-<span class="sourceLineNo">1262</span><a name="line.1262"></a>
-<span class="sourceLineNo">1263</span>  private HConstants() {<a name="line.1263"></a>
-<span class="sourceLineNo">1264</span>    // Can't be instantiated with this ctor.<a name="line.1264"></a>
-<span class="sourceLineNo">1265</span>  }<a name="line.1265"></a>
-<span class="sourceLineNo">1266</span>}<a name="line.1266"></a>
+<span class="sourceLineNo">1248</span>  /**<a name="line.1248"></a>
+<span class="sourceLineNo">1249</span>   * Configuration keys for programmatic JAAS configuration for secured ZK interaction<a name="line.1249"></a>
+<span class="sourceLineNo">1250</span>   */<a name="line.1250"></a>
+<span class="sourceLineNo">1251</span>  public static final String ZK_CLIENT_KEYTAB_FILE = "hbase.zookeeper.client.keytab.file";<a name="line.1251"></a>
+<span class="sourceLineNo">1252</span>  public static final String ZK_CLIENT_KERBEROS_PRINCIPAL =<a name="line.1252"></a>
+<span class="sourceLineNo">1253</span>      "hbase.zookeeper.client.kerberos.principal";<a name="line.1253"></a>
+<span class="sourceLineNo">1254</span>  public static final String ZK_SERVER_KEYTAB_FILE = "hbase.zookeeper.server.keytab.file";<a name="line.1254"></a>
+<span class="sourceLineNo">1255</span>  public static final String ZK_SERVER_KERBEROS_PRINCIPAL =<a name="line.1255"></a>
+<span class="sourceLineNo">1256</span>      "hbase.zookeeper.server.kerberos.principal";<a name="line.1256"></a>
+<span class="sourceLineNo">1257</span><a name="line.1257"></a>
+<span class="sourceLineNo">1258</span>  private HConstants() {<a name="line.1258"></a>
+<span class="sourceLineNo">1259</span>    // Can't be instantiated with this ctor.<a name="line.1259"></a>
+<span class="sourceLineNo">1260</span>  }<a name="line.1260"></a>
+<span class="sourceLineNo">1261</span>}<a name="line.1261"></a>
 
 
 


[31/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/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 4cacc12..f3f982d 100644
--- a/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.html
+++ b/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.html
@@ -101,7 +101,7 @@
 <br>
 <pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.LimitedPrivate.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.LimitedPrivate</a>(<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.LimitedPrivate.html#value()">value</a>={"Coprocesssor","Phoenix"})
 <a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceStability.Evolving.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceStability.Evolving</a>
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.162">RpcServer</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.161">RpcServer</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/RpcServerInterface.html" title="interface in org.apache.hadoop.hbase.ipc">RpcServerInterface</a>, <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserver.html" title="interface in org.apache.hadoop.hbase.conf">ConfigurationObserver</a></pre>
 <div class="block">An RPC server that hosts protobuf described Services.
@@ -720,7 +720,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>LOG</h4>
-<pre>public static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.164">LOG</a></pre>
+<pre>public static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.163">LOG</a></pre>
 </li>
 </ul>
 <a name="CALL_QUEUE_TOO_BIG_EXCEPTION">
@@ -729,7 +729,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>CALL_QUEUE_TOO_BIG_EXCEPTION</h4>
-<pre>private static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/CallQueueTooBigException.html" title="class in org.apache.hadoop.hbase">CallQueueTooBigException</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.165">CALL_QUEUE_TOO_BIG_EXCEPTION</a></pre>
+<pre>private static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/CallQueueTooBigException.html" title="class in org.apache.hadoop.hbase">CallQueueTooBigException</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.164">CALL_QUEUE_TOO_BIG_EXCEPTION</a></pre>
 </li>
 </ul>
 <a name="authorize">
@@ -738,7 +738,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>authorize</h4>
-<pre>private final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.168">authorize</a></pre>
+<pre>private final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.167">authorize</a></pre>
 </li>
 </ul>
 <a name="isSecurityEnabled">
@@ -747,7 +747,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>isSecurityEnabled</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.169">isSecurityEnabled</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.168">isSecurityEnabled</a></pre>
 </li>
 </ul>
 <a name="CURRENT_VERSION">
@@ -756,7 +756,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>CURRENT_VERSION</h4>
-<pre>public static final&nbsp;byte <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.171">CURRENT_VERSION</a></pre>
+<pre>public static final&nbsp;byte <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.170">CURRENT_VERSION</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.ipc.RpcServer.CURRENT_VERSION">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -766,7 +766,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>FALLBACK_TO_INSECURE_CLIENT_AUTH</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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.176">FALLBACK_TO_INSECURE_CLIENT_AUTH</a></pre>
+<pre>public 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.175">FALLBACK_TO_INSECURE_CLIENT_AUTH</a></pre>
 <div class="block">Whether we allow a fallback to SIMPLE auth for insecure clients when security is enabled.</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.ipc.RpcServer.FALLBACK_TO_INSECURE_CLIENT_AUTH">Constant Field Values</a></dd></dl>
 </li>
@@ -777,7 +777,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_MAX_CALLQUEUE_LENGTH_PER_HANDLER</h4>
-<pre>static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.182">DEFAULT_MAX_CALLQUEUE_LENGTH_PER_HANDLER</a></pre>
+<pre>static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.181">DEFAULT_MAX_CALLQUEUE_LENGTH_PER_HANDLER</a></pre>
 <div class="block">How many calls/handler are allowed in the queue.</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.ipc.RpcServer.DEFAULT_MAX_CALLQUEUE_LENGTH_PER_HANDLER">Constant Field Values</a></dd></dl>
 </li>
@@ -788,7 +788,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_MAX_CALLQUEUE_SIZE</h4>
-<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.187">DEFAULT_MAX_CALLQUEUE_SIZE</a></pre>
+<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.186">DEFAULT_MAX_CALLQUEUE_SIZE</a></pre>
 <div class="block">The maximum size that we can hold in the RPC queue</div>
 <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>
@@ -799,7 +799,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <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.189">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">
@@ -808,7 +808,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.191">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>
@@ -818,7 +818,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.192">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>
@@ -828,7 +828,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.193">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">
@@ -837,7 +837,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.195">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">
@@ -846,7 +846,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.196">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">
@@ -855,7 +855,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.201">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>
@@ -866,7 +866,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.204">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>
@@ -876,7 +876,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.207">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">
@@ -885,7 +885,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.208">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">
@@ -894,7 +894,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.209">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">
@@ -903,7 +903,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.210">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">
@@ -912,7 +912,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.211">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">
@@ -921,7 +921,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.214">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">
@@ -930,7 +930,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.218">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">
@@ -939,7 +939,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.222">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">
@@ -948,7 +948,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.224">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">
@@ -957,7 +957,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.226">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">
@@ -966,7 +966,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.227">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">
@@ -975,7 +975,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.228">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">
@@ -984,7 +984,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.229">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">
@@ -993,7 +993,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.230">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">
@@ -1002,7 +1002,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.237">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>
@@ -1014,7 +1014,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.243">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>
@@ -1025,7 +1025,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.248">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>
@@ -1035,7 +1035,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.250">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">
@@ -1044,7 +1044,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.254">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">
@@ -1053,7 +1053,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.255">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">
@@ -1062,7 +1062,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.256">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">
@@ -1071,7 +1071,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.257">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">
@@ -1080,7 +1080,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.259">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">
@@ -1089,7 +1089,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.261">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>
@@ -1099,7 +1099,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.262">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>
@@ -1109,7 +1109,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.265">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>
@@ -1120,7 +1120,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.266">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>
@@ -1130,7 +1130,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.268">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">
@@ -1139,7 +1139,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.270">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">
@@ -1148,7 +1148,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.271">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">
@@ -1157,7 +1157,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.272">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">
@@ -1166,7 +1166,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.273">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">
@@ -1175,7 +1175,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.275">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">
@@ -1184,7 +1184,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.277">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">
@@ -1193,7 +1193,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.279">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">
@@ -1202,7 +1202,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.281">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">
@@ -1211,7 +1211,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.2368">NIO_BUFFER_LIMIT</a></pre>
+<pre>private static&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.2377">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>
@@ -1231,7 +1231,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.1988">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.1997">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,
@@ -1259,7 +1259,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.2046">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.2055">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>
@@ -1275,7 +1275,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.2050">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.2059">initReconfigurable</a>(org.apache.hadoop.conf.Configuration&nbsp;confToLoad)</pre>
 </li>
 </ul>
 <a name="getConnection(java.nio.channels.SocketChannel, long)">
@@ -1284,7 +1284,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.2068">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.2077">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>
@@ -1296,7 +1296,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.2080">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.2089">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)
@@ -1313,7 +1313,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.2086">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.2095">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()">
@@ -1322,7 +1322,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.2095">getConf</a>()</pre>
+<pre>org.apache.hadoop.conf.Configuration&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.2104">getConf</a>()</pre>
 </li>
 </ul>
 <a name="setSocketSendBufSize(int)">
@@ -1331,7 +1331,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.2103">setSocketSendBufSize</a>(int&nbsp;size)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.2112">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>
@@ -1345,7 +1345,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.2106">isStarted</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.2115">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>
@@ -1358,7 +1358,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.2112">start</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.2121">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>
@@ -1372,7 +1372,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.2128">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.2137">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>
@@ -1387,7 +1387,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.2134">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.2143">createSecretManager</a>()</pre>
 </li>
 </ul>
 <a name="getSecretManager()">
@@ -1396,7 +1396,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.2146">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.2155">getSecretManager</a>()</pre>
 </li>
 </ul>
 <a name="setSecretManager(org.apache.hadoop.security.token.SecretManager)">
@@ -1405,7 +1405,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.2151">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.2160">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)">
@@ -1414,7 +1414,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.2161">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.2170">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,
@@ -1437,7 +1437,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.2235">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.2244">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,
@@ -1461,7 +1461,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.2278">stop</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.2287">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>
@@ -1475,7 +1475,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.2298">join</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.2307">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.
@@ -1493,7 +1493,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.2311">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.2320">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>
@@ -1509,7 +1509,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.2323">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.2332">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>
@@ -1523,7 +1523,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.2328">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.2337">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>
@@ -1536,7 +1536,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.2336">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.2345">getMetrics</a>()</pre>
 <div class="block">Returns the metrics instance for reporting RPC call statistics</div>
 <dl>
 <dt><strong>Specified by:</strong></dt>
@@ -1550,7 +1550,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.2341">addCallSize</a>(long&nbsp;diff)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.2350">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>
@@ -1566,7 +1566,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.2354">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.2363">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>
@@ -1582,7 +1582,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.2384">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.2393">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>.
@@ -1603,7 +1603,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.2403">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.2412">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>.
@@ -1622,7 +1622,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.2427">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.2436">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>
@@ -1642,7 +1642,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.2461">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.2470">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>
@@ -1655,7 +1655,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.2465">isInRpcCallContext</a>()</pre>
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.2474">isInRpcCallContext</a>()</pre>
 </li>
 </ul>
 <a name="getRequestUser()">
@@ -1664,7 +1664,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.2474">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.2483">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>
@@ -1676,7 +1676,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.2483">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.2492">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>
@@ -1687,7 +1687,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.2491">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.2500">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>
@@ -1697,7 +1697,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.2501">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.2510">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>
@@ -1709,7 +1709,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.2516">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.2525">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>
@@ -1721,7 +1721,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.2529">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.2538">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>
@@ -1733,7 +1733,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.2537">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.2546">getStatus</a>()</pre>
 </li>
 </ul>
 <a name="getRemoteIp()">
@@ -1742,7 +1742,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.2553">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.2562">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>
@@ -1754,7 +1754,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.2572">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.2581">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>
@@ -1773,7 +1773,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.2594">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.2603">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/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/mapreduce/CellCounter.IntSumReducer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/mapreduce/CellCounter.IntSumReducer.html b/devapidocs/org/apache/hadoop/hbase/mapreduce/CellCounter.IntSumReducer.html
index c0da1eb..54c2733 100644
--- a/devapidocs/org/apache/hadoop/hbase/mapreduce/CellCounter.IntSumReducer.html
+++ b/devapidocs/org/apache/hadoop/hbase/mapreduce/CellCounter.IntSumReducer.html
@@ -104,7 +104,7 @@
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/CellCounter.html#line.164">CellCounter.IntSumReducer</a>&lt;Key&gt;
+<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/CellCounter.html#line.165">CellCounter.IntSumReducer</a>&lt;Key&gt;
 extends org.apache.hadoop.mapreduce.Reducer&lt;Key,org.apache.hadoop.io.IntWritable,Key,org.apache.hadoop.io.IntWritable&gt;</pre>
 </li>
 </ul>
@@ -216,7 +216,7 @@ extends org.apache.hadoop.mapreduce.Reducer&lt;Key,org.apache.hadoop.io.IntWrita
 <ul class="blockListLast">
 <li class="blockList">
 <h4>result</h4>
-<pre>private&nbsp;org.apache.hadoop.io.IntWritable <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/CellCounter.IntSumReducer.html#line.167">result</a></pre>
+<pre>private&nbsp;org.apache.hadoop.io.IntWritable <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/CellCounter.IntSumReducer.html#line.168">result</a></pre>
 </li>
 </ul>
 </li>
@@ -233,7 +233,7 @@ extends org.apache.hadoop.mapreduce.Reducer&lt;Key,org.apache.hadoop.io.IntWrita
 <ul class="blockListLast">
 <li class="blockList">
 <h4>CellCounter.IntSumReducer</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/CellCounter.IntSumReducer.html#line.164">CellCounter.IntSumReducer</a>()</pre>
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/CellCounter.IntSumReducer.html#line.165">CellCounter.IntSumReducer</a>()</pre>
 </li>
 </ul>
 </li>
@@ -252,7 +252,7 @@ extends org.apache.hadoop.mapreduce.Reducer&lt;Key,org.apache.hadoop.io.IntWrita
 <ul class="blockListLast">
 <li class="blockList">
 <h4>reduce</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/CellCounter.IntSumReducer.html#line.168">reduce</a>(<a href="../../../../../org/apache/hadoop/hbase/mapreduce/CellCounter.IntSumReducer.html" title="type parameter in CellCounter.IntSumReducer">Key</a>&nbsp;key,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/CellCounter.IntSumReducer.html#line.169">reduce</a>(<a href="../../../../../org/apache/hadoop/hbase/mapreduce/CellCounter.IntSumReducer.html" title="type parameter in CellCounter.IntSumReducer">Key</a>&nbsp;key,
           <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;org.apache.hadoop.io.IntWritable&gt;&nbsp;values,
           org.apache.hadoop.mapreduce.Reducer.Context&nbsp;context)
             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>,


[18/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/src-html/org/apache/hadoop/hbase/HConstants.OperationStatusCode.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/HConstants.OperationStatusCode.html b/devapidocs/src-html/org/apache/hadoop/hbase/HConstants.OperationStatusCode.html
index 78acfb7..8c20ead 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/HConstants.OperationStatusCode.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/HConstants.OperationStatusCode.html
@@ -1020,258 +1020,253 @@
 <span class="sourceLineNo">1012</span><a name="line.1012"></a>
 <span class="sourceLineNo">1013</span>  public static final String LOAD_BALANCER_SLOP_KEY = "hbase.regions.slop";<a name="line.1013"></a>
 <span class="sourceLineNo">1014</span><a name="line.1014"></a>
-<span class="sourceLineNo">1015</span>  /**<a name="line.1015"></a>
-<span class="sourceLineNo">1016</span>   * The byte array represents for NO_NEXT_INDEXED_KEY;<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span>   * The actual value is irrelevant because this is always compared by reference.<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span>   */<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span>  public static final Cell NO_NEXT_INDEXED_KEY = new KeyValue();<a name="line.1019"></a>
-<span class="sourceLineNo">1020</span>  /** delimiter used between portions of a region name */<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span>  public static final int DELIMITER = ',';<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span><a name="line.1022"></a>
-<span class="sourceLineNo">1023</span>  /**<a name="line.1023"></a>
-<span class="sourceLineNo">1024</span>   * QOS attributes: these attributes are used to demarcate RPC call processing<a name="line.1024"></a>
-<span class="sourceLineNo">1025</span>   * by different set of handlers. For example, HIGH_QOS tagged methods are<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span>   * handled by high priority handlers.<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span>   */<a name="line.1027"></a>
-<span class="sourceLineNo">1028</span>  // normal_QOS &lt; QOS_threshold &lt; replication_QOS &lt; replay_QOS &lt; admin_QOS &lt; high_QOS<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span>  public static final int NORMAL_QOS = 0;<a name="line.1029"></a>
-<span class="sourceLineNo">1030</span>  public static final int QOS_THRESHOLD = 10;<a name="line.1030"></a>
-<span class="sourceLineNo">1031</span>  public static final int HIGH_QOS = 200;<a name="line.1031"></a>
-<span class="sourceLineNo">1032</span>  public static final int REPLICATION_QOS = 5;<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span>  public static final int REPLAY_QOS = 6;<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span>  public static final int ADMIN_QOS = 100;<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span>  public static final int SYSTEMTABLE_QOS = HIGH_QOS;<a name="line.1035"></a>
-<span class="sourceLineNo">1036</span><a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>  /** Directory under /hbase where archived hfiles are stored */<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span>  public static final String HFILE_ARCHIVE_DIRECTORY = "archive";<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span><a name="line.1039"></a>
-<span class="sourceLineNo">1040</span>  /**<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span>   * Name of the directory to store all snapshots. See SnapshotDescriptionUtils for<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span>   * remaining snapshot constants; this is here to keep HConstants dependencies at a minimum and<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span>   * uni-directional.<a name="line.1043"></a>
-<span class="sourceLineNo">1044</span>   */<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span>  public static final String SNAPSHOT_DIR_NAME = ".hbase-snapshot";<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span><a name="line.1046"></a>
-<span class="sourceLineNo">1047</span>  /* Name of old snapshot directory. See HBASE-8352 for details on why it needs to be renamed */<a name="line.1047"></a>
-<span class="sourceLineNo">1048</span>  public static final String OLD_SNAPSHOT_DIR_NAME = ".snapshot";<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span><a name="line.1049"></a>
-<span class="sourceLineNo">1050</span>  /** Temporary directory used for table creation and deletion */<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span>  public static final String HBASE_TEMP_DIRECTORY = ".tmp";<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span>  /**<a name="line.1052"></a>
-<span class="sourceLineNo">1053</span>   * The period (in milliseconds) between computing region server point in time metrics<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span>   */<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span>  public static final String REGIONSERVER_METRICS_PERIOD = "hbase.regionserver.metrics.period";<a name="line.1055"></a>
-<span class="sourceLineNo">1056</span>  public static final long DEFAULT_REGIONSERVER_METRICS_PERIOD = 5000;<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span>  /** Directories that are not HBase table directories */<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span>  public static final List&lt;String&gt; HBASE_NON_TABLE_DIRS =<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span>    Collections.unmodifiableList(Arrays.asList(new String[] {<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span>      HBCK_SIDELINEDIR_NAME, HBASE_TEMP_DIRECTORY, MIGRATION_NAME<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span>    }));<a name="line.1061"></a>
-<span class="sourceLineNo">1062</span><a name="line.1062"></a>
-<span class="sourceLineNo">1063</span>  /** Directories that are not HBase user table directories */<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span>  public static final List&lt;String&gt; HBASE_NON_USER_TABLE_DIRS =<a name="line.1064"></a>
-<span class="sourceLineNo">1065</span>    Collections.unmodifiableList(Arrays.asList((String[])ArrayUtils.addAll(<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span>      new String[] { TableName.META_TABLE_NAME.getNameAsString() },<a name="line.1066"></a>
-<span class="sourceLineNo">1067</span>      HBASE_NON_TABLE_DIRS.toArray())));<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span><a name="line.1068"></a>
-<span class="sourceLineNo">1069</span>  /** Health script related settings. */<a name="line.1069"></a>
-<span class="sourceLineNo">1070</span>  public static final String HEALTH_SCRIPT_LOC = "hbase.node.health.script.location";<a name="line.1070"></a>
-<span class="sourceLineNo">1071</span>  public static final String HEALTH_SCRIPT_TIMEOUT = "hbase.node.health.script.timeout";<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span>  public static final String HEALTH_CHORE_WAKE_FREQ =<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span>      "hbase.node.health.script.frequency";<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span>  public static final long DEFAULT_HEALTH_SCRIPT_TIMEOUT = 60000;<a name="line.1074"></a>
-<span class="sourceLineNo">1075</span>  /**<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span>   * The maximum number of health check failures a server can encounter consecutively.<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span>   */<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span>  public static final String HEALTH_FAILURE_THRESHOLD =<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span>      "hbase.node.health.failure.threshold";<a name="line.1079"></a>
-<span class="sourceLineNo">1080</span>  public static final int DEFAULT_HEALTH_FAILURE_THRESHOLD = 3;<a name="line.1080"></a>
-<span class="sourceLineNo">1081</span><a name="line.1081"></a>
-<span class="sourceLineNo">1082</span><a name="line.1082"></a>
-<span class="sourceLineNo">1083</span>  /**<a name="line.1083"></a>
-<span class="sourceLineNo">1084</span>   * Setting to activate, or not, the publication of the status by the master. Default<a name="line.1084"></a>
-<span class="sourceLineNo">1085</span>   *  notification is by a multicast message.<a name="line.1085"></a>
-<span class="sourceLineNo">1086</span>   */<a name="line.1086"></a>
-<span class="sourceLineNo">1087</span>  public static final String STATUS_PUBLISHED = "hbase.status.published";<a name="line.1087"></a>
-<span class="sourceLineNo">1088</span>  public static final boolean STATUS_PUBLISHED_DEFAULT = false;<a name="line.1088"></a>
-<span class="sourceLineNo">1089</span><a name="line.1089"></a>
-<span class="sourceLineNo">1090</span>  /**<a name="line.1090"></a>
-<span class="sourceLineNo">1091</span>   * IP to use for the multicast status messages between the master and the clients.<a name="line.1091"></a>
-<span class="sourceLineNo">1092</span>   * The default address is chosen as one among others within the ones suitable for multicast<a name="line.1092"></a>
-<span class="sourceLineNo">1093</span>   * messages.<a name="line.1093"></a>
-<span class="sourceLineNo">1094</span>   */<a name="line.1094"></a>
-<span class="sourceLineNo">1095</span>  public static final String STATUS_MULTICAST_ADDRESS = "hbase.status.multicast.address.ip";<a name="line.1095"></a>
-<span class="sourceLineNo">1096</span>  public static final String DEFAULT_STATUS_MULTICAST_ADDRESS = "226.1.1.3";<a name="line.1096"></a>
-<span class="sourceLineNo">1097</span><a name="line.1097"></a>
-<span class="sourceLineNo">1098</span>  /**<a name="line.1098"></a>
-<span class="sourceLineNo">1099</span>   * The address to use for binding the local socket for receiving multicast. Defaults to<a name="line.1099"></a>
-<span class="sourceLineNo">1100</span>   * 0.0.0.0.<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span>   * @see &lt;a href="https://issues.apache.org/jira/browse/HBASE-9961"&gt;HBASE-9961&lt;/a&gt;<a name="line.1101"></a>
-<span class="sourceLineNo">1102</span>   */<a name="line.1102"></a>
-<span class="sourceLineNo">1103</span>  public static final String STATUS_MULTICAST_BIND_ADDRESS =<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span>      "hbase.status.multicast.bind.address.ip";<a name="line.1104"></a>
-<span class="sourceLineNo">1105</span>  public static final String DEFAULT_STATUS_MULTICAST_BIND_ADDRESS = "0.0.0.0";<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span><a name="line.1106"></a>
-<span class="sourceLineNo">1107</span>  /**<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span>   * The port to use for the multicast messages.<a name="line.1108"></a>
-<span class="sourceLineNo">1109</span>   */<a name="line.1109"></a>
-<span class="sourceLineNo">1110</span>  public static final String STATUS_MULTICAST_PORT = "hbase.status.multicast.address.port";<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span>  public static final int DEFAULT_STATUS_MULTICAST_PORT = 16100;<a name="line.1111"></a>
+<span class="sourceLineNo">1015</span>  /** delimiter used between portions of a region name */<a name="line.1015"></a>
+<span class="sourceLineNo">1016</span>  public static final int DELIMITER = ',';<a name="line.1016"></a>
+<span class="sourceLineNo">1017</span><a name="line.1017"></a>
+<span class="sourceLineNo">1018</span>  /**<a name="line.1018"></a>
+<span class="sourceLineNo">1019</span>   * QOS attributes: these attributes are used to demarcate RPC call processing<a name="line.1019"></a>
+<span class="sourceLineNo">1020</span>   * by different set of handlers. For example, HIGH_QOS tagged methods are<a name="line.1020"></a>
+<span class="sourceLineNo">1021</span>   * handled by high priority handlers.<a name="line.1021"></a>
+<span class="sourceLineNo">1022</span>   */<a name="line.1022"></a>
+<span class="sourceLineNo">1023</span>  // normal_QOS &lt; QOS_threshold &lt; replication_QOS &lt; replay_QOS &lt; admin_QOS &lt; high_QOS<a name="line.1023"></a>
+<span class="sourceLineNo">1024</span>  public static final int NORMAL_QOS = 0;<a name="line.1024"></a>
+<span class="sourceLineNo">1025</span>  public static final int QOS_THRESHOLD = 10;<a name="line.1025"></a>
+<span class="sourceLineNo">1026</span>  public static final int HIGH_QOS = 200;<a name="line.1026"></a>
+<span class="sourceLineNo">1027</span>  public static final int REPLICATION_QOS = 5;<a name="line.1027"></a>
+<span class="sourceLineNo">1028</span>  public static final int REPLAY_QOS = 6;<a name="line.1028"></a>
+<span class="sourceLineNo">1029</span>  public static final int ADMIN_QOS = 100;<a name="line.1029"></a>
+<span class="sourceLineNo">1030</span>  public static final int SYSTEMTABLE_QOS = HIGH_QOS;<a name="line.1030"></a>
+<span class="sourceLineNo">1031</span><a name="line.1031"></a>
+<span class="sourceLineNo">1032</span>  /** Directory under /hbase where archived hfiles are stored */<a name="line.1032"></a>
+<span class="sourceLineNo">1033</span>  public static final String HFILE_ARCHIVE_DIRECTORY = "archive";<a name="line.1033"></a>
+<span class="sourceLineNo">1034</span><a name="line.1034"></a>
+<span class="sourceLineNo">1035</span>  /**<a name="line.1035"></a>
+<span class="sourceLineNo">1036</span>   * Name of the directory to store all snapshots. See SnapshotDescriptionUtils for<a name="line.1036"></a>
+<span class="sourceLineNo">1037</span>   * remaining snapshot constants; this is here to keep HConstants dependencies at a minimum and<a name="line.1037"></a>
+<span class="sourceLineNo">1038</span>   * uni-directional.<a name="line.1038"></a>
+<span class="sourceLineNo">1039</span>   */<a name="line.1039"></a>
+<span class="sourceLineNo">1040</span>  public static final String SNAPSHOT_DIR_NAME = ".hbase-snapshot";<a name="line.1040"></a>
+<span class="sourceLineNo">1041</span><a name="line.1041"></a>
+<span class="sourceLineNo">1042</span>  /* Name of old snapshot directory. See HBASE-8352 for details on why it needs to be renamed */<a name="line.1042"></a>
+<span class="sourceLineNo">1043</span>  public static final String OLD_SNAPSHOT_DIR_NAME = ".snapshot";<a name="line.1043"></a>
+<span class="sourceLineNo">1044</span><a name="line.1044"></a>
+<span class="sourceLineNo">1045</span>  /** Temporary directory used for table creation and deletion */<a name="line.1045"></a>
+<span class="sourceLineNo">1046</span>  public static final String HBASE_TEMP_DIRECTORY = ".tmp";<a name="line.1046"></a>
+<span class="sourceLineNo">1047</span>  /**<a name="line.1047"></a>
+<span class="sourceLineNo">1048</span>   * The period (in milliseconds) between computing region server point in time metrics<a name="line.1048"></a>
+<span class="sourceLineNo">1049</span>   */<a name="line.1049"></a>
+<span class="sourceLineNo">1050</span>  public static final String REGIONSERVER_METRICS_PERIOD = "hbase.regionserver.metrics.period";<a name="line.1050"></a>
+<span class="sourceLineNo">1051</span>  public static final long DEFAULT_REGIONSERVER_METRICS_PERIOD = 5000;<a name="line.1051"></a>
+<span class="sourceLineNo">1052</span>  /** Directories that are not HBase table directories */<a name="line.1052"></a>
+<span class="sourceLineNo">1053</span>  public static final List&lt;String&gt; HBASE_NON_TABLE_DIRS =<a name="line.1053"></a>
+<span class="sourceLineNo">1054</span>    Collections.unmodifiableList(Arrays.asList(new String[] {<a name="line.1054"></a>
+<span class="sourceLineNo">1055</span>      HBCK_SIDELINEDIR_NAME, HBASE_TEMP_DIRECTORY, MIGRATION_NAME<a name="line.1055"></a>
+<span class="sourceLineNo">1056</span>    }));<a name="line.1056"></a>
+<span class="sourceLineNo">1057</span><a name="line.1057"></a>
+<span class="sourceLineNo">1058</span>  /** Directories that are not HBase user table directories */<a name="line.1058"></a>
+<span class="sourceLineNo">1059</span>  public static final List&lt;String&gt; HBASE_NON_USER_TABLE_DIRS =<a name="line.1059"></a>
+<span class="sourceLineNo">1060</span>    Collections.unmodifiableList(Arrays.asList((String[])ArrayUtils.addAll(<a name="line.1060"></a>
+<span class="sourceLineNo">1061</span>      new String[] { TableName.META_TABLE_NAME.getNameAsString() },<a name="line.1061"></a>
+<span class="sourceLineNo">1062</span>      HBASE_NON_TABLE_DIRS.toArray())));<a name="line.1062"></a>
+<span class="sourceLineNo">1063</span><a name="line.1063"></a>
+<span class="sourceLineNo">1064</span>  /** Health script related settings. */<a name="line.1064"></a>
+<span class="sourceLineNo">1065</span>  public static final String HEALTH_SCRIPT_LOC = "hbase.node.health.script.location";<a name="line.1065"></a>
+<span class="sourceLineNo">1066</span>  public static final String HEALTH_SCRIPT_TIMEOUT = "hbase.node.health.script.timeout";<a name="line.1066"></a>
+<span class="sourceLineNo">1067</span>  public static final String HEALTH_CHORE_WAKE_FREQ =<a name="line.1067"></a>
+<span class="sourceLineNo">1068</span>      "hbase.node.health.script.frequency";<a name="line.1068"></a>
+<span class="sourceLineNo">1069</span>  public static final long DEFAULT_HEALTH_SCRIPT_TIMEOUT = 60000;<a name="line.1069"></a>
+<span class="sourceLineNo">1070</span>  /**<a name="line.1070"></a>
+<span class="sourceLineNo">1071</span>   * The maximum number of health check failures a server can encounter consecutively.<a name="line.1071"></a>
+<span class="sourceLineNo">1072</span>   */<a name="line.1072"></a>
+<span class="sourceLineNo">1073</span>  public static final String HEALTH_FAILURE_THRESHOLD =<a name="line.1073"></a>
+<span class="sourceLineNo">1074</span>      "hbase.node.health.failure.threshold";<a name="line.1074"></a>
+<span class="sourceLineNo">1075</span>  public static final int DEFAULT_HEALTH_FAILURE_THRESHOLD = 3;<a name="line.1075"></a>
+<span class="sourceLineNo">1076</span><a name="line.1076"></a>
+<span class="sourceLineNo">1077</span><a name="line.1077"></a>
+<span class="sourceLineNo">1078</span>  /**<a name="line.1078"></a>
+<span class="sourceLineNo">1079</span>   * Setting to activate, or not, the publication of the status by the master. Default<a name="line.1079"></a>
+<span class="sourceLineNo">1080</span>   *  notification is by a multicast message.<a name="line.1080"></a>
+<span class="sourceLineNo">1081</span>   */<a name="line.1081"></a>
+<span class="sourceLineNo">1082</span>  public static final String STATUS_PUBLISHED = "hbase.status.published";<a name="line.1082"></a>
+<span class="sourceLineNo">1083</span>  public static final boolean STATUS_PUBLISHED_DEFAULT = false;<a name="line.1083"></a>
+<span class="sourceLineNo">1084</span><a name="line.1084"></a>
+<span class="sourceLineNo">1085</span>  /**<a name="line.1085"></a>
+<span class="sourceLineNo">1086</span>   * IP to use for the multicast status messages between the master and the clients.<a name="line.1086"></a>
+<span class="sourceLineNo">1087</span>   * The default address is chosen as one among others within the ones suitable for multicast<a name="line.1087"></a>
+<span class="sourceLineNo">1088</span>   * messages.<a name="line.1088"></a>
+<span class="sourceLineNo">1089</span>   */<a name="line.1089"></a>
+<span class="sourceLineNo">1090</span>  public static final String STATUS_MULTICAST_ADDRESS = "hbase.status.multicast.address.ip";<a name="line.1090"></a>
+<span class="sourceLineNo">1091</span>  public static final String DEFAULT_STATUS_MULTICAST_ADDRESS = "226.1.1.3";<a name="line.1091"></a>
+<span class="sourceLineNo">1092</span><a name="line.1092"></a>
+<span class="sourceLineNo">1093</span>  /**<a name="line.1093"></a>
+<span class="sourceLineNo">1094</span>   * The address to use for binding the local socket for receiving multicast. Defaults to<a name="line.1094"></a>
+<span class="sourceLineNo">1095</span>   * 0.0.0.0.<a name="line.1095"></a>
+<span class="sourceLineNo">1096</span>   * @see &lt;a href="https://issues.apache.org/jira/browse/HBASE-9961"&gt;HBASE-9961&lt;/a&gt;<a name="line.1096"></a>
+<span class="sourceLineNo">1097</span>   */<a name="line.1097"></a>
+<span class="sourceLineNo">1098</span>  public static final String STATUS_MULTICAST_BIND_ADDRESS =<a name="line.1098"></a>
+<span class="sourceLineNo">1099</span>      "hbase.status.multicast.bind.address.ip";<a name="line.1099"></a>
+<span class="sourceLineNo">1100</span>  public static final String DEFAULT_STATUS_MULTICAST_BIND_ADDRESS = "0.0.0.0";<a name="line.1100"></a>
+<span class="sourceLineNo">1101</span><a name="line.1101"></a>
+<span class="sourceLineNo">1102</span>  /**<a name="line.1102"></a>
+<span class="sourceLineNo">1103</span>   * The port to use for the multicast messages.<a name="line.1103"></a>
+<span class="sourceLineNo">1104</span>   */<a name="line.1104"></a>
+<span class="sourceLineNo">1105</span>  public static final String STATUS_MULTICAST_PORT = "hbase.status.multicast.address.port";<a name="line.1105"></a>
+<span class="sourceLineNo">1106</span>  public static final int DEFAULT_STATUS_MULTICAST_PORT = 16100;<a name="line.1106"></a>
+<span class="sourceLineNo">1107</span><a name="line.1107"></a>
+<span class="sourceLineNo">1108</span>  public static final long NO_NONCE = 0;<a name="line.1108"></a>
+<span class="sourceLineNo">1109</span><a name="line.1109"></a>
+<span class="sourceLineNo">1110</span>  /** Default cipher for encryption */<a name="line.1110"></a>
+<span class="sourceLineNo">1111</span>  public static final String CIPHER_AES = "AES";<a name="line.1111"></a>
 <span class="sourceLineNo">1112</span><a name="line.1112"></a>
-<span class="sourceLineNo">1113</span>  public static final long NO_NONCE = 0;<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span><a name="line.1114"></a>
-<span class="sourceLineNo">1115</span>  /** Default cipher for encryption */<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span>  public static final String CIPHER_AES = "AES";<a name="line.1116"></a>
-<span class="sourceLineNo">1117</span><a name="line.1117"></a>
-<span class="sourceLineNo">1118</span>  /** Configuration key for the crypto algorithm provider, a class name */<a name="line.1118"></a>
-<span class="sourceLineNo">1119</span>  public static final String CRYPTO_CIPHERPROVIDER_CONF_KEY = "hbase.crypto.cipherprovider";<a name="line.1119"></a>
-<span class="sourceLineNo">1120</span><a name="line.1120"></a>
-<span class="sourceLineNo">1121</span>  /** Configuration key for the crypto key provider, a class name */<a name="line.1121"></a>
-<span class="sourceLineNo">1122</span>  public static final String CRYPTO_KEYPROVIDER_CONF_KEY = "hbase.crypto.keyprovider";<a name="line.1122"></a>
-<span class="sourceLineNo">1123</span><a name="line.1123"></a>
-<span class="sourceLineNo">1124</span>  /** Configuration key for the crypto key provider parameters */<a name="line.1124"></a>
-<span class="sourceLineNo">1125</span>  public static final String CRYPTO_KEYPROVIDER_PARAMETERS_KEY =<a name="line.1125"></a>
-<span class="sourceLineNo">1126</span>      "hbase.crypto.keyprovider.parameters";<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span><a name="line.1127"></a>
-<span class="sourceLineNo">1128</span>  /** Configuration key for the name of the master key for the cluster, a string */<a name="line.1128"></a>
-<span class="sourceLineNo">1129</span>  public static final String CRYPTO_MASTERKEY_NAME_CONF_KEY = "hbase.crypto.master.key.name";<a name="line.1129"></a>
-<span class="sourceLineNo">1130</span><a name="line.1130"></a>
-<span class="sourceLineNo">1131</span>  /** Configuration key for the name of the alternate master key for the cluster, a string */<a name="line.1131"></a>
-<span class="sourceLineNo">1132</span>  public static final String CRYPTO_MASTERKEY_ALTERNATE_NAME_CONF_KEY =<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span>    "hbase.crypto.master.alternate.key.name";<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span><a name="line.1134"></a>
-<span class="sourceLineNo">1135</span>  /** Configuration key for the algorithm to use when encrypting the WAL, a string */<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span>  public static final String CRYPTO_WAL_ALGORITHM_CONF_KEY = "hbase.crypto.wal.algorithm";<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span><a name="line.1137"></a>
-<span class="sourceLineNo">1138</span>  /** Configuration key for the name of the master WAL encryption key for the cluster, a string */<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span>  public static final String CRYPTO_WAL_KEY_NAME_CONF_KEY = "hbase.crypto.wal.key.name";<a name="line.1139"></a>
-<span class="sourceLineNo">1140</span><a name="line.1140"></a>
-<span class="sourceLineNo">1141</span>  /** Configuration key for the algorithm used for creating jks key, a string */<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span>  public static final String CRYPTO_KEY_ALGORITHM_CONF_KEY = "hbase.crypto.key.algorithm";<a name="line.1142"></a>
-<span class="sourceLineNo">1143</span><a name="line.1143"></a>
-<span class="sourceLineNo">1144</span>  /** Configuration key for the name of the alternate cipher algorithm for the cluster, a string */<a name="line.1144"></a>
-<span class="sourceLineNo">1145</span>  public static final String CRYPTO_ALTERNATE_KEY_ALGORITHM_CONF_KEY =<a name="line.1145"></a>
-<span class="sourceLineNo">1146</span>      "hbase.crypto.alternate.key.algorithm";<a name="line.1146"></a>
-<span class="sourceLineNo">1147</span><a name="line.1147"></a>
-<span class="sourceLineNo">1148</span>  /** Configuration key for enabling WAL encryption, a boolean */<a name="line.1148"></a>
-<span class="sourceLineNo">1149</span>  public static final String ENABLE_WAL_ENCRYPTION = "hbase.regionserver.wal.encryption";<a name="line.1149"></a>
-<span class="sourceLineNo">1150</span><a name="line.1150"></a>
-<span class="sourceLineNo">1151</span>  /** Configuration key for setting RPC codec class name */<a name="line.1151"></a>
-<span class="sourceLineNo">1152</span>  public static final String RPC_CODEC_CONF_KEY = "hbase.client.rpc.codec";<a name="line.1152"></a>
-<span class="sourceLineNo">1153</span><a name="line.1153"></a>
-<span class="sourceLineNo">1154</span>  /** Configuration key for setting replication codec class name */<a name="line.1154"></a>
-<span class="sourceLineNo">1155</span>  public static final String REPLICATION_CODEC_CONF_KEY = "hbase.replication.rpc.codec";<a name="line.1155"></a>
-<span class="sourceLineNo">1156</span><a name="line.1156"></a>
-<span class="sourceLineNo">1157</span>  /** Maximum number of threads used by the replication source for shipping edits to the sinks */<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span>  public static final String REPLICATION_SOURCE_MAXTHREADS_KEY =<a name="line.1158"></a>
-<span class="sourceLineNo">1159</span>      "hbase.replication.source.maxthreads";<a name="line.1159"></a>
-<span class="sourceLineNo">1160</span><a name="line.1160"></a>
-<span class="sourceLineNo">1161</span>  public static final int REPLICATION_SOURCE_MAXTHREADS_DEFAULT = 10;<a name="line.1161"></a>
-<span class="sourceLineNo">1162</span><a name="line.1162"></a>
-<span class="sourceLineNo">1163</span>  /** Config for pluggable consensus provider */<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span>  public static final String HBASE_COORDINATED_STATE_MANAGER_CLASS =<a name="line.1164"></a>
-<span class="sourceLineNo">1165</span>    "hbase.coordinated.state.manager.class";<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span><a name="line.1166"></a>
-<span class="sourceLineNo">1167</span>  /** Configuration key for SplitLog manager timeout */<a name="line.1167"></a>
-<span class="sourceLineNo">1168</span>  public static final String HBASE_SPLITLOG_MANAGER_TIMEOUT = "hbase.splitlog.manager.timeout";<a name="line.1168"></a>
-<span class="sourceLineNo">1169</span><a name="line.1169"></a>
-<span class="sourceLineNo">1170</span>  /**<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span>   * Configuration keys for Bucket cache<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span>   */<a name="line.1172"></a>
-<span class="sourceLineNo">1173</span>  // TODO moving these bucket cache implementation specific configs to this level is violation of<a name="line.1173"></a>
-<span class="sourceLineNo">1174</span>  // encapsulation. But as these has to be referred from hbase-common and bucket cache<a name="line.1174"></a>
-<span class="sourceLineNo">1175</span>  // sits in hbase-server, there were no other go! Can we move the cache implementation to<a name="line.1175"></a>
-<span class="sourceLineNo">1176</span>  // hbase-common?<a name="line.1176"></a>
-<span class="sourceLineNo">1177</span><a name="line.1177"></a>
-<span class="sourceLineNo">1178</span>  /**<a name="line.1178"></a>
-<span class="sourceLineNo">1179</span>   * Current ioengine options in include: heap, offheap and file:PATH (where PATH is the path<a name="line.1179"></a>
-<span class="sourceLineNo">1180</span>   * to the file that will host the file-based cache.  See BucketCache#getIOEngineFromName() for<a name="line.1180"></a>
-<span class="sourceLineNo">1181</span>   * list of supported ioengine options.<a name="line.1181"></a>
-<span class="sourceLineNo">1182</span>   * &lt;p&gt;Set this option and a non-zero {@link #BUCKET_CACHE_SIZE_KEY} to enable bucket cache.<a name="line.1182"></a>
-<span class="sourceLineNo">1183</span>   */<a name="line.1183"></a>
-<span class="sourceLineNo">1184</span>  public static final String BUCKET_CACHE_IOENGINE_KEY = "hbase.bucketcache.ioengine";<a name="line.1184"></a>
-<span class="sourceLineNo">1185</span><a name="line.1185"></a>
-<span class="sourceLineNo">1186</span>  /**<a name="line.1186"></a>
-<span class="sourceLineNo">1187</span>   * When using bucket cache, this is a float that EITHER represents a percentage of total heap<a name="line.1187"></a>
-<span class="sourceLineNo">1188</span>   * memory size to give to the cache (if &amp;lt; 1.0) OR, it is the capacity in<a name="line.1188"></a>
-<span class="sourceLineNo">1189</span>   * megabytes of the cache.<a name="line.1189"></a>
+<span class="sourceLineNo">1113</span>  /** Configuration key for the crypto algorithm provider, a class name */<a name="line.1113"></a>
+<span class="sourceLineNo">1114</span>  public static final String CRYPTO_CIPHERPROVIDER_CONF_KEY = "hbase.crypto.cipherprovider";<a name="line.1114"></a>
+<span class="sourceLineNo">1115</span><a name="line.1115"></a>
+<span class="sourceLineNo">1116</span>  /** Configuration key for the crypto key provider, a class name */<a name="line.1116"></a>
+<span class="sourceLineNo">1117</span>  public static final String CRYPTO_KEYPROVIDER_CONF_KEY = "hbase.crypto.keyprovider";<a name="line.1117"></a>
+<span class="sourceLineNo">1118</span><a name="line.1118"></a>
+<span class="sourceLineNo">1119</span>  /** Configuration key for the crypto key provider parameters */<a name="line.1119"></a>
+<span class="sourceLineNo">1120</span>  public static final String CRYPTO_KEYPROVIDER_PARAMETERS_KEY =<a name="line.1120"></a>
+<span class="sourceLineNo">1121</span>      "hbase.crypto.keyprovider.parameters";<a name="line.1121"></a>
+<span class="sourceLineNo">1122</span><a name="line.1122"></a>
+<span class="sourceLineNo">1123</span>  /** Configuration key for the name of the master key for the cluster, a string */<a name="line.1123"></a>
+<span class="sourceLineNo">1124</span>  public static final String CRYPTO_MASTERKEY_NAME_CONF_KEY = "hbase.crypto.master.key.name";<a name="line.1124"></a>
+<span class="sourceLineNo">1125</span><a name="line.1125"></a>
+<span class="sourceLineNo">1126</span>  /** Configuration key for the name of the alternate master key for the cluster, a string */<a name="line.1126"></a>
+<span class="sourceLineNo">1127</span>  public static final String CRYPTO_MASTERKEY_ALTERNATE_NAME_CONF_KEY =<a name="line.1127"></a>
+<span class="sourceLineNo">1128</span>    "hbase.crypto.master.alternate.key.name";<a name="line.1128"></a>
+<span class="sourceLineNo">1129</span><a name="line.1129"></a>
+<span class="sourceLineNo">1130</span>  /** Configuration key for the algorithm to use when encrypting the WAL, a string */<a name="line.1130"></a>
+<span class="sourceLineNo">1131</span>  public static final String CRYPTO_WAL_ALGORITHM_CONF_KEY = "hbase.crypto.wal.algorithm";<a name="line.1131"></a>
+<span class="sourceLineNo">1132</span><a name="line.1132"></a>
+<span class="sourceLineNo">1133</span>  /** Configuration key for the name of the master WAL encryption key for the cluster, a string */<a name="line.1133"></a>
+<span class="sourceLineNo">1134</span>  public static final String CRYPTO_WAL_KEY_NAME_CONF_KEY = "hbase.crypto.wal.key.name";<a name="line.1134"></a>
+<span class="sourceLineNo">1135</span><a name="line.1135"></a>
+<span class="sourceLineNo">1136</span>  /** Configuration key for the algorithm used for creating jks key, a string */<a name="line.1136"></a>
+<span class="sourceLineNo">1137</span>  public static final String CRYPTO_KEY_ALGORITHM_CONF_KEY = "hbase.crypto.key.algorithm";<a name="line.1137"></a>
+<span class="sourceLineNo">1138</span><a name="line.1138"></a>
+<span class="sourceLineNo">1139</span>  /** Configuration key for the name of the alternate cipher algorithm for the cluster, a string */<a name="line.1139"></a>
+<span class="sourceLineNo">1140</span>  public static final String CRYPTO_ALTERNATE_KEY_ALGORITHM_CONF_KEY =<a name="line.1140"></a>
+<span class="sourceLineNo">1141</span>      "hbase.crypto.alternate.key.algorithm";<a name="line.1141"></a>
+<span class="sourceLineNo">1142</span><a name="line.1142"></a>
+<span class="sourceLineNo">1143</span>  /** Configuration key for enabling WAL encryption, a boolean */<a name="line.1143"></a>
+<span class="sourceLineNo">1144</span>  public static final String ENABLE_WAL_ENCRYPTION = "hbase.regionserver.wal.encryption";<a name="line.1144"></a>
+<span class="sourceLineNo">1145</span><a name="line.1145"></a>
+<span class="sourceLineNo">1146</span>  /** Configuration key for setting RPC codec class name */<a name="line.1146"></a>
+<span class="sourceLineNo">1147</span>  public static final String RPC_CODEC_CONF_KEY = "hbase.client.rpc.codec";<a name="line.1147"></a>
+<span class="sourceLineNo">1148</span><a name="line.1148"></a>
+<span class="sourceLineNo">1149</span>  /** Configuration key for setting replication codec class name */<a name="line.1149"></a>
+<span class="sourceLineNo">1150</span>  public static final String REPLICATION_CODEC_CONF_KEY = "hbase.replication.rpc.codec";<a name="line.1150"></a>
+<span class="sourceLineNo">1151</span><a name="line.1151"></a>
+<span class="sourceLineNo">1152</span>  /** Maximum number of threads used by the replication source for shipping edits to the sinks */<a name="line.1152"></a>
+<span class="sourceLineNo">1153</span>  public static final String REPLICATION_SOURCE_MAXTHREADS_KEY =<a name="line.1153"></a>
+<span class="sourceLineNo">1154</span>      "hbase.replication.source.maxthreads";<a name="line.1154"></a>
+<span class="sourceLineNo">1155</span><a name="line.1155"></a>
+<span class="sourceLineNo">1156</span>  public static final int REPLICATION_SOURCE_MAXTHREADS_DEFAULT = 10;<a name="line.1156"></a>
+<span class="sourceLineNo">1157</span><a name="line.1157"></a>
+<span class="sourceLineNo">1158</span>  /** Config for pluggable consensus provider */<a name="line.1158"></a>
+<span class="sourceLineNo">1159</span>  public static final String HBASE_COORDINATED_STATE_MANAGER_CLASS =<a name="line.1159"></a>
+<span class="sourceLineNo">1160</span>    "hbase.coordinated.state.manager.class";<a name="line.1160"></a>
+<span class="sourceLineNo">1161</span><a name="line.1161"></a>
+<span class="sourceLineNo">1162</span>  /** Configuration key for SplitLog manager timeout */<a name="line.1162"></a>
+<span class="sourceLineNo">1163</span>  public static final String HBASE_SPLITLOG_MANAGER_TIMEOUT = "hbase.splitlog.manager.timeout";<a name="line.1163"></a>
+<span class="sourceLineNo">1164</span><a name="line.1164"></a>
+<span class="sourceLineNo">1165</span>  /**<a name="line.1165"></a>
+<span class="sourceLineNo">1166</span>   * Configuration keys for Bucket cache<a name="line.1166"></a>
+<span class="sourceLineNo">1167</span>   */<a name="line.1167"></a>
+<span class="sourceLineNo">1168</span>  // TODO moving these bucket cache implementation specific configs to this level is violation of<a name="line.1168"></a>
+<span class="sourceLineNo">1169</span>  // encapsulation. But as these has to be referred from hbase-common and bucket cache<a name="line.1169"></a>
+<span class="sourceLineNo">1170</span>  // sits in hbase-server, there were no other go! Can we move the cache implementation to<a name="line.1170"></a>
+<span class="sourceLineNo">1171</span>  // hbase-common?<a name="line.1171"></a>
+<span class="sourceLineNo">1172</span><a name="line.1172"></a>
+<span class="sourceLineNo">1173</span>  /**<a name="line.1173"></a>
+<span class="sourceLineNo">1174</span>   * Current ioengine options in include: heap, offheap and file:PATH (where PATH is the path<a name="line.1174"></a>
+<span class="sourceLineNo">1175</span>   * to the file that will host the file-based cache.  See BucketCache#getIOEngineFromName() for<a name="line.1175"></a>
+<span class="sourceLineNo">1176</span>   * list of supported ioengine options.<a name="line.1176"></a>
+<span class="sourceLineNo">1177</span>   * &lt;p&gt;Set this option and a non-zero {@link #BUCKET_CACHE_SIZE_KEY} to enable bucket cache.<a name="line.1177"></a>
+<span class="sourceLineNo">1178</span>   */<a name="line.1178"></a>
+<span class="sourceLineNo">1179</span>  public static final String BUCKET_CACHE_IOENGINE_KEY = "hbase.bucketcache.ioengine";<a name="line.1179"></a>
+<span class="sourceLineNo">1180</span><a name="line.1180"></a>
+<span class="sourceLineNo">1181</span>  /**<a name="line.1181"></a>
+<span class="sourceLineNo">1182</span>   * When using bucket cache, this is a float that EITHER represents a percentage of total heap<a name="line.1182"></a>
+<span class="sourceLineNo">1183</span>   * memory size to give to the cache (if &amp;lt; 1.0) OR, it is the capacity in<a name="line.1183"></a>
+<span class="sourceLineNo">1184</span>   * megabytes of the cache.<a name="line.1184"></a>
+<span class="sourceLineNo">1185</span>   */<a name="line.1185"></a>
+<span class="sourceLineNo">1186</span>  public static final String BUCKET_CACHE_SIZE_KEY = "hbase.bucketcache.size";<a name="line.1186"></a>
+<span class="sourceLineNo">1187</span><a name="line.1187"></a>
+<span class="sourceLineNo">1188</span>  /**<a name="line.1188"></a>
+<span class="sourceLineNo">1189</span>   * HConstants for fast fail on the client side follow<a name="line.1189"></a>
 <span class="sourceLineNo">1190</span>   */<a name="line.1190"></a>
-<span class="sourceLineNo">1191</span>  public static final String BUCKET_CACHE_SIZE_KEY = "hbase.bucketcache.size";<a name="line.1191"></a>
-<span class="sourceLineNo">1192</span><a name="line.1192"></a>
-<span class="sourceLineNo">1193</span>  /**<a name="line.1193"></a>
-<span class="sourceLineNo">1194</span>   * HConstants for fast fail on the client side follow<a name="line.1194"></a>
-<span class="sourceLineNo">1195</span>   */<a name="line.1195"></a>
-<span class="sourceLineNo">1196</span>  /**<a name="line.1196"></a>
-<span class="sourceLineNo">1197</span>   * Config for enabling/disabling the fast fail mode.<a name="line.1197"></a>
-<span class="sourceLineNo">1198</span>   */<a name="line.1198"></a>
-<span class="sourceLineNo">1199</span>  public static final String HBASE_CLIENT_FAST_FAIL_MODE_ENABLED =<a name="line.1199"></a>
-<span class="sourceLineNo">1200</span>      "hbase.client.fast.fail.mode.enabled";<a name="line.1200"></a>
-<span class="sourceLineNo">1201</span><a name="line.1201"></a>
-<span class="sourceLineNo">1202</span>  public static final boolean HBASE_CLIENT_ENABLE_FAST_FAIL_MODE_DEFAULT =<a name="line.1202"></a>
-<span class="sourceLineNo">1203</span>      false;<a name="line.1203"></a>
-<span class="sourceLineNo">1204</span><a name="line.1204"></a>
-<span class="sourceLineNo">1205</span>  public static final String HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS =<a name="line.1205"></a>
-<span class="sourceLineNo">1206</span>      "hbase.client.fastfail.threshold";<a name="line.1206"></a>
-<span class="sourceLineNo">1207</span><a name="line.1207"></a>
-<span class="sourceLineNo">1208</span>  public static final long HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS_DEFAULT =<a name="line.1208"></a>
-<span class="sourceLineNo">1209</span>      60000;<a name="line.1209"></a>
-<span class="sourceLineNo">1210</span><a name="line.1210"></a>
-<span class="sourceLineNo">1211</span>  public static final String HBASE_CLIENT_FAST_FAIL_CLEANUP_MS_DURATION_MS =<a name="line.1211"></a>
-<span class="sourceLineNo">1212</span>      "hbase.client.fast.fail.cleanup.duration";<a name="line.1212"></a>
-<span class="sourceLineNo">1213</span><a name="line.1213"></a>
-<span class="sourceLineNo">1214</span>  public static final long HBASE_CLIENT_FAST_FAIL_CLEANUP_DURATION_MS_DEFAULT =<a name="line.1214"></a>
-<span class="sourceLineNo">1215</span>      600000;<a name="line.1215"></a>
-<span class="sourceLineNo">1216</span><a name="line.1216"></a>
-<span class="sourceLineNo">1217</span>  public static final String HBASE_CLIENT_FAST_FAIL_INTERCEPTOR_IMPL =<a name="line.1217"></a>
-<span class="sourceLineNo">1218</span>      "hbase.client.fast.fail.interceptor.impl";<a name="line.1218"></a>
+<span class="sourceLineNo">1191</span>  /**<a name="line.1191"></a>
+<span class="sourceLineNo">1192</span>   * Config for enabling/disabling the fast fail mode.<a name="line.1192"></a>
+<span class="sourceLineNo">1193</span>   */<a name="line.1193"></a>
+<span class="sourceLineNo">1194</span>  public static final String HBASE_CLIENT_FAST_FAIL_MODE_ENABLED =<a name="line.1194"></a>
+<span class="sourceLineNo">1195</span>      "hbase.client.fast.fail.mode.enabled";<a name="line.1195"></a>
+<span class="sourceLineNo">1196</span><a name="line.1196"></a>
+<span class="sourceLineNo">1197</span>  public static final boolean HBASE_CLIENT_ENABLE_FAST_FAIL_MODE_DEFAULT =<a name="line.1197"></a>
+<span class="sourceLineNo">1198</span>      false;<a name="line.1198"></a>
+<span class="sourceLineNo">1199</span><a name="line.1199"></a>
+<span class="sourceLineNo">1200</span>  public static final String HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS =<a name="line.1200"></a>
+<span class="sourceLineNo">1201</span>      "hbase.client.fastfail.threshold";<a name="line.1201"></a>
+<span class="sourceLineNo">1202</span><a name="line.1202"></a>
+<span class="sourceLineNo">1203</span>  public static final long HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS_DEFAULT =<a name="line.1203"></a>
+<span class="sourceLineNo">1204</span>      60000;<a name="line.1204"></a>
+<span class="sourceLineNo">1205</span><a name="line.1205"></a>
+<span class="sourceLineNo">1206</span>  public static final String HBASE_CLIENT_FAST_FAIL_CLEANUP_MS_DURATION_MS =<a name="line.1206"></a>
+<span class="sourceLineNo">1207</span>      "hbase.client.fast.fail.cleanup.duration";<a name="line.1207"></a>
+<span class="sourceLineNo">1208</span><a name="line.1208"></a>
+<span class="sourceLineNo">1209</span>  public static final long HBASE_CLIENT_FAST_FAIL_CLEANUP_DURATION_MS_DEFAULT =<a name="line.1209"></a>
+<span class="sourceLineNo">1210</span>      600000;<a name="line.1210"></a>
+<span class="sourceLineNo">1211</span><a name="line.1211"></a>
+<span class="sourceLineNo">1212</span>  public static final String HBASE_CLIENT_FAST_FAIL_INTERCEPTOR_IMPL =<a name="line.1212"></a>
+<span class="sourceLineNo">1213</span>      "hbase.client.fast.fail.interceptor.impl";<a name="line.1213"></a>
+<span class="sourceLineNo">1214</span><a name="line.1214"></a>
+<span class="sourceLineNo">1215</span>  /** Config key for if the server should send backpressure and if the client should listen to<a name="line.1215"></a>
+<span class="sourceLineNo">1216</span>   * that backpressure from the server */<a name="line.1216"></a>
+<span class="sourceLineNo">1217</span>  public static final String ENABLE_CLIENT_BACKPRESSURE = "hbase.client.backpressure.enabled";<a name="line.1217"></a>
+<span class="sourceLineNo">1218</span>  public static final boolean DEFAULT_ENABLE_CLIENT_BACKPRESSURE = false;<a name="line.1218"></a>
 <span class="sourceLineNo">1219</span><a name="line.1219"></a>
-<span class="sourceLineNo">1220</span>  /** Config key for if the server should send backpressure and if the client should listen to<a name="line.1220"></a>
-<span class="sourceLineNo">1221</span>   * that backpressure from the server */<a name="line.1221"></a>
-<span class="sourceLineNo">1222</span>  public static final String ENABLE_CLIENT_BACKPRESSURE = "hbase.client.backpressure.enabled";<a name="line.1222"></a>
-<span class="sourceLineNo">1223</span>  public static final boolean DEFAULT_ENABLE_CLIENT_BACKPRESSURE = false;<a name="line.1223"></a>
-<span class="sourceLineNo">1224</span><a name="line.1224"></a>
-<span class="sourceLineNo">1225</span>  public static final String HEAP_OCCUPANCY_LOW_WATERMARK_KEY =<a name="line.1225"></a>
-<span class="sourceLineNo">1226</span>      "hbase.heap.occupancy.low_water_mark";<a name="line.1226"></a>
-<span class="sourceLineNo">1227</span>  public static final float DEFAULT_HEAP_OCCUPANCY_LOW_WATERMARK = 0.95f;<a name="line.1227"></a>
-<span class="sourceLineNo">1228</span>  public static final String HEAP_OCCUPANCY_HIGH_WATERMARK_KEY =<a name="line.1228"></a>
-<span class="sourceLineNo">1229</span>      "hbase.heap.occupancy.high_water_mark";<a name="line.1229"></a>
-<span class="sourceLineNo">1230</span>  public static final float DEFAULT_HEAP_OCCUPANCY_HIGH_WATERMARK = 0.98f;<a name="line.1230"></a>
-<span class="sourceLineNo">1231</span><a name="line.1231"></a>
-<span class="sourceLineNo">1232</span>  /**<a name="line.1232"></a>
-<span class="sourceLineNo">1233</span>   * The max number of threads used for splitting storefiles in parallel during<a name="line.1233"></a>
-<span class="sourceLineNo">1234</span>   * the region split process.<a name="line.1234"></a>
-<span class="sourceLineNo">1235</span>   */<a name="line.1235"></a>
-<span class="sourceLineNo">1236</span>  public static final String REGION_SPLIT_THREADS_MAX =<a name="line.1236"></a>
-<span class="sourceLineNo">1237</span>    "hbase.regionserver.region.split.threads.max";<a name="line.1237"></a>
-<span class="sourceLineNo">1238</span><a name="line.1238"></a>
-<span class="sourceLineNo">1239</span>  /** Canary config keys */<a name="line.1239"></a>
-<span class="sourceLineNo">1240</span>  public static final String HBASE_CANARY_WRITE_DATA_TTL_KEY = "hbase.canary.write.data.ttl";<a name="line.1240"></a>
-<span class="sourceLineNo">1241</span><a name="line.1241"></a>
-<span class="sourceLineNo">1242</span>  public static final String HBASE_CANARY_WRITE_PERSERVER_REGIONS_LOWERLIMIT_KEY =<a name="line.1242"></a>
-<span class="sourceLineNo">1243</span>      "hbase.canary.write.perserver.regions.lowerLimit";<a name="line.1243"></a>
+<span class="sourceLineNo">1220</span>  public static final String HEAP_OCCUPANCY_LOW_WATERMARK_KEY =<a name="line.1220"></a>
+<span class="sourceLineNo">1221</span>      "hbase.heap.occupancy.low_water_mark";<a name="line.1221"></a>
+<span class="sourceLineNo">1222</span>  public static final float DEFAULT_HEAP_OCCUPANCY_LOW_WATERMARK = 0.95f;<a name="line.1222"></a>
+<span class="sourceLineNo">1223</span>  public static final String HEAP_OCCUPANCY_HIGH_WATERMARK_KEY =<a name="line.1223"></a>
+<span class="sourceLineNo">1224</span>      "hbase.heap.occupancy.high_water_mark";<a name="line.1224"></a>
+<span class="sourceLineNo">1225</span>  public static final float DEFAULT_HEAP_OCCUPANCY_HIGH_WATERMARK = 0.98f;<a name="line.1225"></a>
+<span class="sourceLineNo">1226</span><a name="line.1226"></a>
+<span class="sourceLineNo">1227</span>  /**<a name="line.1227"></a>
+<span class="sourceLineNo">1228</span>   * The max number of threads used for splitting storefiles in parallel during<a name="line.1228"></a>
+<span class="sourceLineNo">1229</span>   * the region split process.<a name="line.1229"></a>
+<span class="sourceLineNo">1230</span>   */<a name="line.1230"></a>
+<span class="sourceLineNo">1231</span>  public static final String REGION_SPLIT_THREADS_MAX =<a name="line.1231"></a>
+<span class="sourceLineNo">1232</span>    "hbase.regionserver.region.split.threads.max";<a name="line.1232"></a>
+<span class="sourceLineNo">1233</span><a name="line.1233"></a>
+<span class="sourceLineNo">1234</span>  /** Canary config keys */<a name="line.1234"></a>
+<span class="sourceLineNo">1235</span>  public static final String HBASE_CANARY_WRITE_DATA_TTL_KEY = "hbase.canary.write.data.ttl";<a name="line.1235"></a>
+<span class="sourceLineNo">1236</span><a name="line.1236"></a>
+<span class="sourceLineNo">1237</span>  public static final String HBASE_CANARY_WRITE_PERSERVER_REGIONS_LOWERLIMIT_KEY =<a name="line.1237"></a>
+<span class="sourceLineNo">1238</span>      "hbase.canary.write.perserver.regions.lowerLimit";<a name="line.1238"></a>
+<span class="sourceLineNo">1239</span><a name="line.1239"></a>
+<span class="sourceLineNo">1240</span>  public static final String HBASE_CANARY_WRITE_PERSERVER_REGIONS_UPPERLIMIT_KEY =<a name="line.1240"></a>
+<span class="sourceLineNo">1241</span>      "hbase.canary.write.perserver.regions.upperLimit";<a name="line.1241"></a>
+<span class="sourceLineNo">1242</span><a name="line.1242"></a>
+<span class="sourceLineNo">1243</span>  public static final String HBASE_CANARY_WRITE_VALUE_SIZE_KEY = "hbase.canary.write.value.size";<a name="line.1243"></a>
 <span class="sourceLineNo">1244</span><a name="line.1244"></a>
-<span class="sourceLineNo">1245</span>  public static final String HBASE_CANARY_WRITE_PERSERVER_REGIONS_UPPERLIMIT_KEY =<a name="line.1245"></a>
-<span class="sourceLineNo">1246</span>      "hbase.canary.write.perserver.regions.upperLimit";<a name="line.1246"></a>
+<span class="sourceLineNo">1245</span>  public static final String HBASE_CANARY_WRITE_TABLE_CHECK_PERIOD_KEY =<a name="line.1245"></a>
+<span class="sourceLineNo">1246</span>      "hbase.canary.write.table.check.period";<a name="line.1246"></a>
 <span class="sourceLineNo">1247</span><a name="line.1247"></a>
-<span class="sourceLineNo">1248</span>  public static final String HBASE_CANARY_WRITE_VALUE_SIZE_KEY = "hbase.canary.write.value.size";<a name="line.1248"></a>
-<span class="sourceLineNo">1249</span><a name="line.1249"></a>
-<span class="sourceLineNo">1250</span>  public static final String HBASE_CANARY_WRITE_TABLE_CHECK_PERIOD_KEY =<a name="line.1250"></a>
-<span class="sourceLineNo">1251</span>      "hbase.canary.write.table.check.period";<a name="line.1251"></a>
-<span class="sourceLineNo">1252</span><a name="line.1252"></a>
-<span class="sourceLineNo">1253</span>  /**<a name="line.1253"></a>
-<span class="sourceLineNo">1254</span>   * Configuration keys for programmatic JAAS configuration for secured ZK interaction<a name="line.1254"></a>
-<span class="sourceLineNo">1255</span>   */<a name="line.1255"></a>
-<span class="sourceLineNo">1256</span>  public static final String ZK_CLIENT_KEYTAB_FILE = "hbase.zookeeper.client.keytab.file";<a name="line.1256"></a>
-<span class="sourceLineNo">1257</span>  public static final String ZK_CLIENT_KERBEROS_PRINCIPAL =<a name="line.1257"></a>
-<span class="sourceLineNo">1258</span>      "hbase.zookeeper.client.kerberos.principal";<a name="line.1258"></a>
-<span class="sourceLineNo">1259</span>  public static final String ZK_SERVER_KEYTAB_FILE = "hbase.zookeeper.server.keytab.file";<a name="line.1259"></a>
-<span class="sourceLineNo">1260</span>  public static final String ZK_SERVER_KERBEROS_PRINCIPAL =<a name="line.1260"></a>
-<span class="sourceLineNo">1261</span>      "hbase.zookeeper.server.kerberos.principal";<a name="line.1261"></a>
-<span class="sourceLineNo">1262</span><a name="line.1262"></a>
-<span class="sourceLineNo">1263</span>  private HConstants() {<a name="line.1263"></a>
-<span class="sourceLineNo">1264</span>    // Can't be instantiated with this ctor.<a name="line.1264"></a>
-<span class="sourceLineNo">1265</span>  }<a name="line.1265"></a>
-<span class="sourceLineNo">1266</span>}<a name="line.1266"></a>
+<span class="sourceLineNo">1248</span>  /**<a name="line.1248"></a>
+<span class="sourceLineNo">1249</span>   * Configuration keys for programmatic JAAS configuration for secured ZK interaction<a name="line.1249"></a>
+<span class="sourceLineNo">1250</span>   */<a name="line.1250"></a>
+<span class="sourceLineNo">1251</span>  public static final String ZK_CLIENT_KEYTAB_FILE = "hbase.zookeeper.client.keytab.file";<a name="line.1251"></a>
+<span class="sourceLineNo">1252</span>  public static final String ZK_CLIENT_KERBEROS_PRINCIPAL =<a name="line.1252"></a>
+<span class="sourceLineNo">1253</span>      "hbase.zookeeper.client.kerberos.principal";<a name="line.1253"></a>
+<span class="sourceLineNo">1254</span>  public static final String ZK_SERVER_KEYTAB_FILE = "hbase.zookeeper.server.keytab.file";<a name="line.1254"></a>
+<span class="sourceLineNo">1255</span>  public static final String ZK_SERVER_KERBEROS_PRINCIPAL =<a name="line.1255"></a>
+<span class="sourceLineNo">1256</span>      "hbase.zookeeper.server.kerberos.principal";<a name="line.1256"></a>
+<span class="sourceLineNo">1257</span><a name="line.1257"></a>
+<span class="sourceLineNo">1258</span>  private HConstants() {<a name="line.1258"></a>
+<span class="sourceLineNo">1259</span>    // Can't be instantiated with this ctor.<a name="line.1259"></a>
+<span class="sourceLineNo">1260</span>  }<a name="line.1260"></a>
+<span class="sourceLineNo">1261</span>}<a name="line.1261"></a>
 
 
 


[10/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.ShareableMemoryKeyValue.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.ShareableMemoryKeyValue.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.ShareableMemoryKeyValue.html
index e8248d4..c36648a 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.ShareableMemoryKeyValue.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.ShareableMemoryKeyValue.html
@@ -59,1847 +59,1848 @@
 <span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.io.encoding.HFileBlockDecodingContext;<a name="line.51"></a>
 <span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.io.hfile.HFile.FileInfo;<a name="line.52"></a>
 <span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.nio.ByteBuff;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.security.EncryptionUtil;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.util.ByteBufferUtils;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.util.IdLock;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.util.ObjectIntPair;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.io.WritableUtils;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.htrace.Trace;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.htrace.TraceScope;<a name="line.61"></a>
-<span class="sourceLineNo">062</span><a name="line.62"></a>
-<span class="sourceLineNo">063</span>import com.google.common.annotations.VisibleForTesting;<a name="line.63"></a>
-<span class="sourceLineNo">064</span><a name="line.64"></a>
-<span class="sourceLineNo">065</span>/**<a name="line.65"></a>
-<span class="sourceLineNo">066</span> * Implementation that can handle all hfile versions of {@link HFile.Reader}.<a name="line.66"></a>
-<span class="sourceLineNo">067</span> */<a name="line.67"></a>
-<span class="sourceLineNo">068</span>@InterfaceAudience.Private<a name="line.68"></a>
-<span class="sourceLineNo">069</span>@edu.umd.cs.findbugs.annotations.SuppressWarnings(value="URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")<a name="line.69"></a>
-<span class="sourceLineNo">070</span>public class HFileReaderImpl implements HFile.Reader, Configurable {<a name="line.70"></a>
-<span class="sourceLineNo">071</span>  // This class is HFileReaderV3 + HFileReaderV2 + AbstractHFileReader all squashed together into<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  // one file.  Ditto for all the HFileReader.ScannerV? implementations. I was running up against<a name="line.72"></a>
-<span class="sourceLineNo">073</span>  // the MaxInlineLevel limit because too many tiers involved reading from an hfile. Was also hard<a name="line.73"></a>
-<span class="sourceLineNo">074</span>  // to navigate the source code when so many classes participating in read.<a name="line.74"></a>
-<span class="sourceLineNo">075</span>  private static final Log LOG = LogFactory.getLog(HFileReaderImpl.class);<a name="line.75"></a>
-<span class="sourceLineNo">076</span><a name="line.76"></a>
-<span class="sourceLineNo">077</span>  /** Data block index reader keeping the root data index in memory */<a name="line.77"></a>
-<span class="sourceLineNo">078</span>  private HFileBlockIndex.CellBasedKeyBlockIndexReader dataBlockIndexReader;<a name="line.78"></a>
-<span class="sourceLineNo">079</span><a name="line.79"></a>
-<span class="sourceLineNo">080</span>  /** Meta block index reader -- always single level */<a name="line.80"></a>
-<span class="sourceLineNo">081</span>  private HFileBlockIndex.ByteArrayKeyBlockIndexReader metaBlockIndexReader;<a name="line.81"></a>
-<span class="sourceLineNo">082</span><a name="line.82"></a>
-<span class="sourceLineNo">083</span>  private final FixedFileTrailer trailer;<a name="line.83"></a>
-<span class="sourceLineNo">084</span><a name="line.84"></a>
-<span class="sourceLineNo">085</span>  /** Filled when we read in the trailer. */<a name="line.85"></a>
-<span class="sourceLineNo">086</span>  private final Compression.Algorithm compressAlgo;<a name="line.86"></a>
-<span class="sourceLineNo">087</span><a name="line.87"></a>
-<span class="sourceLineNo">088</span>  private boolean isPrimaryReplicaReader;<a name="line.88"></a>
-<span class="sourceLineNo">089</span><a name="line.89"></a>
-<span class="sourceLineNo">090</span>  /**<a name="line.90"></a>
-<span class="sourceLineNo">091</span>   * What kind of data block encoding should be used while reading, writing,<a name="line.91"></a>
-<span class="sourceLineNo">092</span>   * and handling cache.<a name="line.92"></a>
-<span class="sourceLineNo">093</span>   */<a name="line.93"></a>
-<span class="sourceLineNo">094</span>  private HFileDataBlockEncoder dataBlockEncoder = NoOpDataBlockEncoder.INSTANCE;<a name="line.94"></a>
-<span class="sourceLineNo">095</span><a name="line.95"></a>
-<span class="sourceLineNo">096</span>  /** Last key in the file. Filled in when we read in the file info */<a name="line.96"></a>
-<span class="sourceLineNo">097</span>  private Cell lastKeyCell = null;<a name="line.97"></a>
-<span class="sourceLineNo">098</span><a name="line.98"></a>
-<span class="sourceLineNo">099</span>  /** Average key length read from file info */<a name="line.99"></a>
-<span class="sourceLineNo">100</span>  private int avgKeyLen = -1;<a name="line.100"></a>
-<span class="sourceLineNo">101</span><a name="line.101"></a>
-<span class="sourceLineNo">102</span>  /** Average value length read from file info */<a name="line.102"></a>
-<span class="sourceLineNo">103</span>  private int avgValueLen = -1;<a name="line.103"></a>
-<span class="sourceLineNo">104</span><a name="line.104"></a>
-<span class="sourceLineNo">105</span>  /** Key comparator */<a name="line.105"></a>
-<span class="sourceLineNo">106</span>  private CellComparator comparator = CellComparator.COMPARATOR;<a name="line.106"></a>
-<span class="sourceLineNo">107</span><a name="line.107"></a>
-<span class="sourceLineNo">108</span>  /** Size of this file. */<a name="line.108"></a>
-<span class="sourceLineNo">109</span>  private final long fileSize;<a name="line.109"></a>
-<span class="sourceLineNo">110</span><a name="line.110"></a>
-<span class="sourceLineNo">111</span>  /** Block cache configuration. */<a name="line.111"></a>
-<span class="sourceLineNo">112</span>  private final CacheConfig cacheConf;<a name="line.112"></a>
-<span class="sourceLineNo">113</span><a name="line.113"></a>
-<span class="sourceLineNo">114</span>  /** Path of file */<a name="line.114"></a>
-<span class="sourceLineNo">115</span>  private final Path path;<a name="line.115"></a>
-<span class="sourceLineNo">116</span><a name="line.116"></a>
-<span class="sourceLineNo">117</span>  /** File name to be used for block names */<a name="line.117"></a>
-<span class="sourceLineNo">118</span>  private final String name;<a name="line.118"></a>
-<span class="sourceLineNo">119</span><a name="line.119"></a>
-<span class="sourceLineNo">120</span>  private FileInfo fileInfo;<a name="line.120"></a>
-<span class="sourceLineNo">121</span><a name="line.121"></a>
-<span class="sourceLineNo">122</span>  private Configuration conf;<a name="line.122"></a>
-<span class="sourceLineNo">123</span><a name="line.123"></a>
-<span class="sourceLineNo">124</span>  private HFileContext hfileContext;<a name="line.124"></a>
-<span class="sourceLineNo">125</span><a name="line.125"></a>
-<span class="sourceLineNo">126</span>  /** Filesystem-level block reader. */<a name="line.126"></a>
-<span class="sourceLineNo">127</span>  private HFileBlock.FSReader fsBlockReader;<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>   * A "sparse lock" implementation allowing to lock on a particular block<a name="line.130"></a>
-<span class="sourceLineNo">131</span>   * identified by offset. The purpose of this is to avoid two clients loading<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   * the same block, and have all but one client wait to get the block from the<a name="line.132"></a>
-<span class="sourceLineNo">133</span>   * cache.<a name="line.133"></a>
-<span class="sourceLineNo">134</span>   */<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  private IdLock offsetLock = new IdLock();<a name="line.135"></a>
-<span class="sourceLineNo">136</span><a name="line.136"></a>
-<span class="sourceLineNo">137</span>  /**<a name="line.137"></a>
-<span class="sourceLineNo">138</span>   * Blocks read from the load-on-open section, excluding data root index, meta<a name="line.138"></a>
-<span class="sourceLineNo">139</span>   * index, and file info.<a name="line.139"></a>
-<span class="sourceLineNo">140</span>   */<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  private List&lt;HFileBlock&gt; loadOnOpenBlocks = new ArrayList&lt;HFileBlock&gt;();<a name="line.141"></a>
-<span class="sourceLineNo">142</span><a name="line.142"></a>
-<span class="sourceLineNo">143</span>  /** Minimum minor version supported by this HFile format */<a name="line.143"></a>
-<span class="sourceLineNo">144</span>  static final int MIN_MINOR_VERSION = 0;<a name="line.144"></a>
-<span class="sourceLineNo">145</span><a name="line.145"></a>
-<span class="sourceLineNo">146</span>  /** Maximum minor version supported by this HFile format */<a name="line.146"></a>
-<span class="sourceLineNo">147</span>  // We went to version 2 when we moved to pb'ing fileinfo and the trailer on<a name="line.147"></a>
-<span class="sourceLineNo">148</span>  // the file. This version can read Writables version 1.<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  static final int MAX_MINOR_VERSION = 3;<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>   * We can read files whose major version is v2 IFF their minor version is at least 3.<a name="line.152"></a>
-<span class="sourceLineNo">153</span>   */<a name="line.153"></a>
-<span class="sourceLineNo">154</span>  private static final int MIN_V2_MINOR_VERSION_WITH_PB = 3;<a name="line.154"></a>
-<span class="sourceLineNo">155</span><a name="line.155"></a>
-<span class="sourceLineNo">156</span>  /** Minor versions starting with this number have faked index key */<a name="line.156"></a>
-<span class="sourceLineNo">157</span>  static final int MINOR_VERSION_WITH_FAKED_KEY = 3;<a name="line.157"></a>
-<span class="sourceLineNo">158</span><a name="line.158"></a>
-<span class="sourceLineNo">159</span>  /**<a name="line.159"></a>
-<span class="sourceLineNo">160</span>   * Opens a HFile. You must load the index before you can use it by calling<a name="line.160"></a>
-<span class="sourceLineNo">161</span>   * {@link #loadFileInfo()}.<a name="line.161"></a>
-<span class="sourceLineNo">162</span>   * @param path<a name="line.162"></a>
-<span class="sourceLineNo">163</span>   *          Path to HFile.<a name="line.163"></a>
-<span class="sourceLineNo">164</span>   * @param trailer<a name="line.164"></a>
-<span class="sourceLineNo">165</span>   *          File trailer.<a name="line.165"></a>
-<span class="sourceLineNo">166</span>   * @param fsdis<a name="line.166"></a>
-<span class="sourceLineNo">167</span>   *          input stream.<a name="line.167"></a>
-<span class="sourceLineNo">168</span>   * @param fileSize<a name="line.168"></a>
-<span class="sourceLineNo">169</span>   *          Length of the stream.<a name="line.169"></a>
-<span class="sourceLineNo">170</span>   * @param cacheConf<a name="line.170"></a>
-<span class="sourceLineNo">171</span>   *          Cache configuration.<a name="line.171"></a>
-<span class="sourceLineNo">172</span>   * @param hfs<a name="line.172"></a>
-<span class="sourceLineNo">173</span>   *          The file system.<a name="line.173"></a>
-<span class="sourceLineNo">174</span>   * @param conf<a name="line.174"></a>
-<span class="sourceLineNo">175</span>   *          Configuration<a name="line.175"></a>
-<span class="sourceLineNo">176</span>   */<a name="line.176"></a>
-<span class="sourceLineNo">177</span>  @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")<a name="line.177"></a>
-<span class="sourceLineNo">178</span>  public HFileReaderImpl(final Path path, FixedFileTrailer trailer,<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      final FSDataInputStreamWrapper fsdis,<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      final long fileSize, final CacheConfig cacheConf, final HFileSystem hfs,<a name="line.180"></a>
-<span class="sourceLineNo">181</span>      final Configuration conf)<a name="line.181"></a>
-<span class="sourceLineNo">182</span>  throws IOException {<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    this.trailer = trailer;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    this.compressAlgo = trailer.getCompressionCodec();<a name="line.184"></a>
-<span class="sourceLineNo">185</span>    this.cacheConf = cacheConf;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    this.fileSize = fileSize;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    this.path = path;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    this.name = path.getName();<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    this.conf = conf;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    checkFileVersion();<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    this.hfileContext = createHFileContext(fsdis, fileSize, hfs, path, trailer);<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    this.fsBlockReader = new HFileBlock.FSReaderImpl(fsdis, fileSize, hfs, path, hfileContext);<a name="line.192"></a>
-<span class="sourceLineNo">193</span><a name="line.193"></a>
-<span class="sourceLineNo">194</span>    // Comparator class name is stored in the trailer in version 2.<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    comparator = trailer.createComparator();<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    dataBlockIndexReader = new HFileBlockIndex.CellBasedKeyBlockIndexReader(comparator,<a name="line.196"></a>
-<span class="sourceLineNo">197</span>        trailer.getNumDataIndexLevels(), this);<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    metaBlockIndexReader = new HFileBlockIndex.ByteArrayKeyBlockIndexReader(1);<a name="line.198"></a>
-<span class="sourceLineNo">199</span><a name="line.199"></a>
-<span class="sourceLineNo">200</span>    // Parse load-on-open data.<a name="line.200"></a>
-<span class="sourceLineNo">201</span><a name="line.201"></a>
-<span class="sourceLineNo">202</span>    HFileBlock.BlockIterator blockIter = fsBlockReader.blockRange(<a name="line.202"></a>
-<span class="sourceLineNo">203</span>        trailer.getLoadOnOpenDataOffset(),<a name="line.203"></a>
-<span class="sourceLineNo">204</span>        fileSize - trailer.getTrailerSize());<a name="line.204"></a>
-<span class="sourceLineNo">205</span><a name="line.205"></a>
-<span class="sourceLineNo">206</span>    // Data index. We also read statistics about the block index written after<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    // the root level.<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    dataBlockIndexReader.readMultiLevelIndexRoot(<a name="line.208"></a>
-<span class="sourceLineNo">209</span>        blockIter.nextBlockWithBlockType(BlockType.ROOT_INDEX),<a name="line.209"></a>
-<span class="sourceLineNo">210</span>        trailer.getDataIndexCount());<a name="line.210"></a>
-<span class="sourceLineNo">211</span><a name="line.211"></a>
-<span class="sourceLineNo">212</span>    // Meta index.<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    metaBlockIndexReader.readRootIndex(<a name="line.213"></a>
-<span class="sourceLineNo">214</span>        blockIter.nextBlockWithBlockType(BlockType.ROOT_INDEX),<a name="line.214"></a>
-<span class="sourceLineNo">215</span>        trailer.getMetaIndexCount());<a name="line.215"></a>
-<span class="sourceLineNo">216</span><a name="line.216"></a>
-<span class="sourceLineNo">217</span>    // File info<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    fileInfo = new FileInfo();<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    fileInfo.read(blockIter.nextBlockWithBlockType(BlockType.FILE_INFO).getByteStream());<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    byte[] creationTimeBytes = fileInfo.get(FileInfo.CREATE_TIME_TS);<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    this.hfileContext.setFileCreateTime(creationTimeBytes == null?  0:<a name="line.221"></a>
-<span class="sourceLineNo">222</span>        Bytes.toLong(creationTimeBytes));<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    if (fileInfo.get(FileInfo.LASTKEY) != null) {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>      lastKeyCell = new KeyValue.KeyOnlyKeyValue(fileInfo.get(FileInfo.LASTKEY));<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    }<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    avgKeyLen = Bytes.toInt(fileInfo.get(FileInfo.AVG_KEY_LEN));<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    avgValueLen = Bytes.toInt(fileInfo.get(FileInfo.AVG_VALUE_LEN));<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    byte [] keyValueFormatVersion = fileInfo.get(HFileWriterImpl.KEY_VALUE_VERSION);<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    includesMemstoreTS = keyValueFormatVersion != null &amp;&amp;<a name="line.229"></a>
-<span class="sourceLineNo">230</span>        Bytes.toInt(keyValueFormatVersion) == HFileWriterImpl.KEY_VALUE_VER_WITH_MEMSTORE;<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    fsBlockReader.setIncludesMemstoreTS(includesMemstoreTS);<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    if (includesMemstoreTS) {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      decodeMemstoreTS = Bytes.toLong(fileInfo.get(HFileWriterImpl.MAX_MEMSTORE_TS_KEY)) &gt; 0;<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    }<a name="line.234"></a>
-<span class="sourceLineNo">235</span><a name="line.235"></a>
-<span class="sourceLineNo">236</span>    // Read data block encoding algorithm name from file info.<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    dataBlockEncoder = HFileDataBlockEncoderImpl.createFromFileInfo(fileInfo);<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    fsBlockReader.setDataBlockEncoder(dataBlockEncoder);<a name="line.238"></a>
-<span class="sourceLineNo">239</span><a name="line.239"></a>
-<span class="sourceLineNo">240</span>    // Store all other load-on-open blocks for further consumption.<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    HFileBlock b;<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    while ((b = blockIter.nextBlock()) != null) {<a name="line.242"></a>
-<span class="sourceLineNo">243</span>      loadOnOpenBlocks.add(b);<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>    // Prefetch file blocks upon open if requested<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    if (cacheConf.shouldPrefetchOnOpen()) {<a name="line.247"></a>
-<span class="sourceLineNo">248</span>      PrefetchExecutor.request(path, new Runnable() {<a name="line.248"></a>
-<span class="sourceLineNo">249</span>        public void run() {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>          try {<a name="line.250"></a>
-<span class="sourceLineNo">251</span>            long offset = 0;<a name="line.251"></a>
-<span class="sourceLineNo">252</span>            long end = fileSize - getTrailer().getTrailerSize();<a name="line.252"></a>
-<span class="sourceLineNo">253</span>            HFileBlock prevBlock = null;<a name="line.253"></a>
-<span class="sourceLineNo">254</span>            while (offset &lt; end) {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>              if (Thread.interrupted()) {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>                break;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>              }<a name="line.257"></a>
-<span class="sourceLineNo">258</span>              long onDiskSize = -1;<a name="line.258"></a>
-<span class="sourceLineNo">259</span>              if (prevBlock != null) {<a name="line.259"></a>
-<span class="sourceLineNo">260</span>                onDiskSize = prevBlock.getNextBlockOnDiskSizeWithHeader();<a name="line.260"></a>
-<span class="sourceLineNo">261</span>              }<a name="line.261"></a>
-<span class="sourceLineNo">262</span>              HFileBlock block = readBlock(offset, onDiskSize, true, false, false, false,<a name="line.262"></a>
-<span class="sourceLineNo">263</span>                null, null);<a name="line.263"></a>
-<span class="sourceLineNo">264</span>              // Need not update the current block. Ideally here the readBlock won't find the<a name="line.264"></a>
-<span class="sourceLineNo">265</span>              // block in cache. We call this readBlock so that block data is read from FS and<a name="line.265"></a>
-<span class="sourceLineNo">266</span>              // cached in BC. So there is no reference count increment that happens here.<a name="line.266"></a>
-<span class="sourceLineNo">267</span>              // The return will ideally be a noop because the block is not of MemoryType SHARED.<a name="line.267"></a>
-<span class="sourceLineNo">268</span>              returnBlock(block);<a name="line.268"></a>
-<span class="sourceLineNo">269</span>              prevBlock = block;<a name="line.269"></a>
-<span class="sourceLineNo">270</span>              offset += block.getOnDiskSizeWithHeader();<a name="line.270"></a>
-<span class="sourceLineNo">271</span>            }<a name="line.271"></a>
-<span class="sourceLineNo">272</span>          } catch (IOException e) {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>            // IOExceptions are probably due to region closes (relocation, etc.)<a name="line.273"></a>
-<span class="sourceLineNo">274</span>            if (LOG.isTraceEnabled()) {<a name="line.274"></a>
-<span class="sourceLineNo">275</span>              LOG.trace("Exception encountered while prefetching " + path + ":", e);<a name="line.275"></a>
-<span class="sourceLineNo">276</span>            }<a name="line.276"></a>
-<span class="sourceLineNo">277</span>          } catch (Exception e) {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>            // Other exceptions are interesting<a name="line.278"></a>
-<span class="sourceLineNo">279</span>            LOG.warn("Exception encountered while prefetching " + path + ":", e);<a name="line.279"></a>
-<span class="sourceLineNo">280</span>          } finally {<a name="line.280"></a>
-<span class="sourceLineNo">281</span>            PrefetchExecutor.complete(path);<a name="line.281"></a>
-<span class="sourceLineNo">282</span>          }<a name="line.282"></a>
-<span class="sourceLineNo">283</span>        }<a name="line.283"></a>
-<span class="sourceLineNo">284</span>      });<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    }<a name="line.285"></a>
-<span class="sourceLineNo">286</span><a name="line.286"></a>
-<span class="sourceLineNo">287</span>    byte[] tmp = fileInfo.get(FileInfo.MAX_TAGS_LEN);<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    // max tag length is not present in the HFile means tags were not at all written to file.<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    if (tmp != null) {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>      hfileContext.setIncludesTags(true);<a name="line.290"></a>
-<span class="sourceLineNo">291</span>      tmp = fileInfo.get(FileInfo.TAGS_COMPRESSED);<a name="line.291"></a>
-<span class="sourceLineNo">292</span>      if (tmp != null &amp;&amp; Bytes.toBoolean(tmp)) {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>        hfileContext.setCompressTags(true);<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      }<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    }<a name="line.295"></a>
-<span class="sourceLineNo">296</span>  }<a name="line.296"></a>
-<span class="sourceLineNo">297</span><a name="line.297"></a>
-<span class="sourceLineNo">298</span>  /**<a name="line.298"></a>
-<span class="sourceLineNo">299</span>   * File version check is a little sloppy. We read v3 files but can also read v2 files if their<a name="line.299"></a>
-<span class="sourceLineNo">300</span>   * content has been pb'd; files written with 0.98.<a name="line.300"></a>
-<span class="sourceLineNo">301</span>   */<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  private void checkFileVersion() {<a name="line.302"></a>
-<span class="sourceLineNo">303</span>    int majorVersion = trailer.getMajorVersion();<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    if (majorVersion == getMajorVersion()) return;<a name="line.304"></a>
-<span class="sourceLineNo">305</span>    int minorVersion = trailer.getMinorVersion();<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    if (majorVersion == 2 &amp;&amp; minorVersion &gt;= MIN_V2_MINOR_VERSION_WITH_PB) return;<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    // We can read v3 or v2 versions of hfile.<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    throw new IllegalArgumentException("Invalid HFile version: major=" +<a name="line.308"></a>
-<span class="sourceLineNo">309</span>      trailer.getMajorVersion() + ", minor=" + trailer.getMinorVersion() + ": expected at least " +<a name="line.309"></a>
-<span class="sourceLineNo">310</span>      "major=2 and minor=" + MAX_MINOR_VERSION);<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  }<a name="line.311"></a>
-<span class="sourceLineNo">312</span><a name="line.312"></a>
-<span class="sourceLineNo">313</span>  @SuppressWarnings("serial")<a name="line.313"></a>
-<span class="sourceLineNo">314</span>  public static class BlockIndexNotLoadedException extends IllegalStateException {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    public BlockIndexNotLoadedException() {<a name="line.315"></a>
-<span class="sourceLineNo">316</span>      // Add a message in case anyone relies on it as opposed to class name.<a name="line.316"></a>
-<span class="sourceLineNo">317</span>      super("Block index not loaded");<a name="line.317"></a>
-<span class="sourceLineNo">318</span>    }<a name="line.318"></a>
-<span class="sourceLineNo">319</span>  }<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>  private String toStringFirstKey() {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    if(getFirstKey() == null)<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      return null;<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    return CellUtil.getCellKeyAsString(getFirstKey());<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  }<a name="line.325"></a>
-<span class="sourceLineNo">326</span><a name="line.326"></a>
-<span class="sourceLineNo">327</span>  private String toStringLastKey() {<a name="line.327"></a>
-<span class="sourceLineNo">328</span>    return CellUtil.toString(getLastKey(), false);<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>  @Override<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  public String toString() {<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    return "reader=" + path.toString() +<a name="line.333"></a>
-<span class="sourceLineNo">334</span>        (!isFileInfoLoaded()? "":<a name="line.334"></a>
-<span class="sourceLineNo">335</span>          ", compression=" + compressAlgo.getName() +<a name="line.335"></a>
-<span class="sourceLineNo">336</span>          ", cacheConf=" + cacheConf +<a name="line.336"></a>
-<span class="sourceLineNo">337</span>          ", firstKey=" + toStringFirstKey() +<a name="line.337"></a>
-<span class="sourceLineNo">338</span>          ", lastKey=" + toStringLastKey()) +<a name="line.338"></a>
-<span class="sourceLineNo">339</span>          ", avgKeyLen=" + avgKeyLen +<a name="line.339"></a>
-<span class="sourceLineNo">340</span>          ", avgValueLen=" + avgValueLen +<a name="line.340"></a>
-<span class="sourceLineNo">341</span>          ", entries=" + trailer.getEntryCount() +<a name="line.341"></a>
-<span class="sourceLineNo">342</span>          ", length=" + fileSize;<a name="line.342"></a>
-<span class="sourceLineNo">343</span>  }<a name="line.343"></a>
-<span class="sourceLineNo">344</span><a name="line.344"></a>
-<span class="sourceLineNo">345</span>  @Override<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  public long length() {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    return fileSize;<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 void returnBlock(HFileBlock block) {<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    BlockCache blockCache = this.cacheConf.getBlockCache();<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    if (blockCache != null &amp;&amp; block != null) {<a name="line.353"></a>
-<span class="sourceLineNo">354</span>      BlockCacheKey cacheKey = new BlockCacheKey(this.getFileContext().getHFileName(),<a name="line.354"></a>
-<span class="sourceLineNo">355</span>          block.getOffset(), this.isPrimaryReplicaReader());<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      blockCache.returnBlock(cacheKey, block);<a name="line.356"></a>
-<span class="sourceLineNo">357</span>    }<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  }<a name="line.358"></a>
-<span class="sourceLineNo">359</span>  /**<a name="line.359"></a>
-<span class="sourceLineNo">360</span>   * @return the first key in the file. May be null if file has no entries. Note<a name="line.360"></a>
-<span class="sourceLineNo">361</span>   *         that this is not the first row key, but rather the byte form of the<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   *         first KeyValue.<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   */<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  @Override<a name="line.364"></a>
-<span class="sourceLineNo">365</span>  public Cell getFirstKey() {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    if (dataBlockIndexReader == null) {<a name="line.366"></a>
-<span class="sourceLineNo">367</span>      throw new BlockIndexNotLoadedException();<a name="line.367"></a>
-<span class="sourceLineNo">368</span>    }<a name="line.368"></a>
-<span class="sourceLineNo">369</span>    return dataBlockIndexReader.isEmpty() ? null<a name="line.369"></a>
-<span class="sourceLineNo">370</span>        : dataBlockIndexReader.getRootBlockKey(0);<a name="line.370"></a>
-<span class="sourceLineNo">371</span>  }<a name="line.371"></a>
-<span class="sourceLineNo">372</span><a name="line.372"></a>
-<span class="sourceLineNo">373</span>  /**<a name="line.373"></a>
-<span class="sourceLineNo">374</span>   * TODO left from {@link HFile} version 1: move this to StoreFile after Ryan's<a name="line.374"></a>
-<span class="sourceLineNo">375</span>   * patch goes in to eliminate {@link KeyValue} here.<a name="line.375"></a>
-<span class="sourceLineNo">376</span>   *<a name="line.376"></a>
-<span class="sourceLineNo">377</span>   * @return the first row key, or null if the file is empty.<a name="line.377"></a>
-<span class="sourceLineNo">378</span>   */<a name="line.378"></a>
-<span class="sourceLineNo">379</span>  @Override<a name="line.379"></a>
-<span class="sourceLineNo">380</span>  public byte[] getFirstRowKey() {<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    Cell firstKey = getFirstKey();<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    // We have to copy the row part to form the row key alone<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    return firstKey == null? null: CellUtil.cloneRow(firstKey);<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>  /**<a name="line.386"></a>
-<span class="sourceLineNo">387</span>   * TODO left from {@link HFile} version 1: move this to StoreFile after<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * Ryan's patch goes in to eliminate {@link KeyValue} here.<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   *<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   * @return the last row key, or null if the file is empty.<a name="line.390"></a>
-<span class="sourceLineNo">391</span>   */<a name="line.391"></a>
-<span class="sourceLineNo">392</span>  @Override<a name="line.392"></a>
-<span class="sourceLineNo">393</span>  public byte[] getLastRowKey() {<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    Cell lastKey = getLastKey();<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    return lastKey == null? null: CellUtil.cloneRow(lastKey);<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  }<a name="line.396"></a>
-<span class="sourceLineNo">397</span><a name="line.397"></a>
-<span class="sourceLineNo">398</span>  /** @return number of KV entries in this HFile */<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  @Override<a name="line.399"></a>
-<span class="sourceLineNo">400</span>  public long getEntries() {<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    return trailer.getEntryCount();<a name="line.401"></a>
-<span class="sourceLineNo">402</span>  }<a name="line.402"></a>
-<span class="sourceLineNo">403</span><a name="line.403"></a>
-<span class="sourceLineNo">404</span>  /** @return comparator */<a name="line.404"></a>
-<span class="sourceLineNo">405</span>  @Override<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  public CellComparator getComparator() {<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    return comparator;<a name="line.407"></a>
-<span class="sourceLineNo">408</span>  }<a name="line.408"></a>
-<span class="sourceLineNo">409</span><a name="line.409"></a>
-<span class="sourceLineNo">410</span>  /** @return compression algorithm */<a name="line.410"></a>
-<span class="sourceLineNo">411</span>  @Override<a name="line.411"></a>
-<span class="sourceLineNo">412</span>  public Compression.Algorithm getCompressionAlgorithm() {<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    return compressAlgo;<a name="line.413"></a>
-<span class="sourceLineNo">414</span>  }<a name="line.414"></a>
-<span class="sourceLineNo">415</span><a name="line.415"></a>
-<span class="sourceLineNo">416</span>  /**<a name="line.416"></a>
-<span class="sourceLineNo">417</span>   * @return the total heap size of data and meta block indexes in bytes. Does<a name="line.417"></a>
-<span class="sourceLineNo">418</span>   *         not take into account non-root blocks of a multilevel data index.<a name="line.418"></a>
-<span class="sourceLineNo">419</span>   */<a name="line.419"></a>
-<span class="sourceLineNo">420</span>  public long indexSize() {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    return (dataBlockIndexReader != null ? dataBlockIndexReader.heapSize() : 0)<a name="line.421"></a>
-<span class="sourceLineNo">422</span>        + ((metaBlockIndexReader != null) ? metaBlockIndexReader.heapSize()<a name="line.422"></a>
-<span class="sourceLineNo">423</span>            : 0);<a name="line.423"></a>
-<span class="sourceLineNo">424</span>  }<a name="line.424"></a>
-<span class="sourceLineNo">425</span><a name="line.425"></a>
-<span class="sourceLineNo">426</span>  @Override<a name="line.426"></a>
-<span class="sourceLineNo">427</span>  public String getName() {<a name="line.427"></a>
-<span class="sourceLineNo">428</span>    return name;<a name="line.428"></a>
-<span class="sourceLineNo">429</span>  }<a name="line.429"></a>
-<span class="sourceLineNo">430</span><a name="line.430"></a>
-<span class="sourceLineNo">431</span>  @Override<a name="line.431"></a>
-<span class="sourceLineNo">432</span>  public HFileBlockIndex.BlockIndexReader getDataBlockIndexReader() {<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    return dataBlockIndexReader;<a name="line.433"></a>
-<span class="sourceLineNo">434</span>  }<a name="line.434"></a>
-<span class="sourceLineNo">435</span><a name="line.435"></a>
-<span class="sourceLineNo">436</span>  @Override<a name="line.436"></a>
-<span class="sourceLineNo">437</span>  public FixedFileTrailer getTrailer() {<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    return trailer;<a name="line.438"></a>
-<span class="sourceLineNo">439</span>  }<a name="line.439"></a>
-<span class="sourceLineNo">440</span><a name="line.440"></a>
-<span class="sourceLineNo">441</span>  @Override<a name="line.441"></a>
-<span class="sourceLineNo">442</span>  public boolean isPrimaryReplicaReader() {<a name="line.442"></a>
-<span class="sourceLineNo">443</span>    return isPrimaryReplicaReader;<a name="line.443"></a>
-<span class="sourceLineNo">444</span>  }<a name="line.444"></a>
-<span class="sourceLineNo">445</span><a name="line.445"></a>
-<span class="sourceLineNo">446</span>  @Override<a name="line.446"></a>
-<span class="sourceLineNo">447</span>  public void setPrimaryReplicaReader(boolean isPrimaryReplicaReader) {<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    this.isPrimaryReplicaReader = isPrimaryReplicaReader;<a name="line.448"></a>
-<span class="sourceLineNo">449</span>  }<a name="line.449"></a>
-<span class="sourceLineNo">450</span><a name="line.450"></a>
-<span class="sourceLineNo">451</span>  @Override<a name="line.451"></a>
-<span class="sourceLineNo">452</span>  public FileInfo loadFileInfo() throws IOException {<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    return fileInfo;<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>   * An exception thrown when an operation requiring a scanner to be seeked<a name="line.457"></a>
-<span class="sourceLineNo">458</span>   * is invoked on a scanner that is not seeked.<a name="line.458"></a>
-<span class="sourceLineNo">459</span>   */<a name="line.459"></a>
-<span class="sourceLineNo">460</span>  @SuppressWarnings("serial")<a name="line.460"></a>
-<span class="sourceLineNo">461</span>  public static class NotSeekedException extends IllegalStateException {<a name="line.461"></a>
-<span class="sourceLineNo">462</span>    public NotSeekedException() {<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      super("Not seeked to a key/value");<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>  protected static class HFileScannerImpl implements HFileScanner {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    private ByteBuff blockBuffer;<a name="line.468"></a>
-<span class="sourceLineNo">469</span>    protected final boolean cacheBlocks;<a name="line.469"></a>
-<span class="sourceLineNo">470</span>    protected final boolean pread;<a name="line.470"></a>
-<span class="sourceLineNo">471</span>    protected final boolean isCompaction;<a name="line.471"></a>
-<span class="sourceLineNo">472</span>    private int currKeyLen;<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    private int currValueLen;<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    private int currMemstoreTSLen;<a name="line.474"></a>
-<span class="sourceLineNo">475</span>    private long currMemstoreTS;<a name="line.475"></a>
-<span class="sourceLineNo">476</span>    // Updated but never read?<a name="line.476"></a>
-<span class="sourceLineNo">477</span>    protected AtomicInteger blockFetches = new AtomicInteger(0);<a name="line.477"></a>
-<span class="sourceLineNo">478</span>    protected final HFile.Reader reader;<a name="line.478"></a>
-<span class="sourceLineNo">479</span>    private int currTagsLen;<a name="line.479"></a>
-<span class="sourceLineNo">480</span>    // buffer backed keyonlyKV<a name="line.480"></a>
-<span class="sourceLineNo">481</span>    private ByteBufferedKeyOnlyKeyValue bufBackedKeyOnlyKv = new ByteBufferedKeyOnlyKeyValue();<a name="line.481"></a>
-<span class="sourceLineNo">482</span>    // A pair for reusing in blockSeek() so that we don't garbage lot of objects<a name="line.482"></a>
-<span class="sourceLineNo">483</span>    final ObjectIntPair&lt;ByteBuffer&gt; pair = new ObjectIntPair&lt;ByteBuffer&gt;();<a name="line.483"></a>
-<span class="sourceLineNo">484</span><a name="line.484"></a>
-<span class="sourceLineNo">485</span>    /**<a name="line.485"></a>
-<span class="sourceLineNo">486</span>     * The next indexed key is to keep track of the indexed key of the next data block.<a name="line.486"></a>
-<span class="sourceLineNo">487</span>     * If the nextIndexedKey is HConstants.NO_NEXT_INDEXED_KEY, it means that the<a name="line.487"></a>
-<span class="sourceLineNo">488</span>     * current data block is the last data block.<a name="line.488"></a>
-<span class="sourceLineNo">489</span>     *<a name="line.489"></a>
-<span class="sourceLineNo">490</span>     * If the nextIndexedKey is null, it means the nextIndexedKey has not been loaded yet.<a name="line.490"></a>
-<span class="sourceLineNo">491</span>     */<a name="line.491"></a>
-<span class="sourceLineNo">492</span>    protected Cell nextIndexedKey;<a name="line.492"></a>
-<span class="sourceLineNo">493</span>    // Current block being used<a name="line.493"></a>
-<span class="sourceLineNo">494</span>    protected HFileBlock curBlock;<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    // Previous blocks that were used in the course of the read<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    protected final ArrayList&lt;HFileBlock&gt; prevBlocks = new ArrayList&lt;HFileBlock&gt;();<a name="line.496"></a>
-<span class="sourceLineNo">497</span><a name="line.497"></a>
-<span class="sourceLineNo">498</span>    public HFileScannerImpl(final HFile.Reader reader, final boolean cacheBlocks,<a name="line.498"></a>
-<span class="sourceLineNo">499</span>        final boolean pread, final boolean isCompaction) {<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      this.reader = reader;<a name="line.500"></a>
-<span class="sourceLineNo">501</span>      this.cacheBlocks = cacheBlocks;<a name="line.501"></a>
-<span class="sourceLineNo">502</span>      this.pread = pread;<a name="line.502"></a>
-<span class="sourceLineNo">503</span>      this.isCompaction = isCompaction;<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>    void updateCurrBlockRef(HFileBlock block) {<a name="line.506"></a>
-<span class="sourceLineNo">507</span>      if (block != null &amp;&amp; this.curBlock != null &amp;&amp;<a name="line.507"></a>
-<span class="sourceLineNo">508</span>          block.getOffset() == this.curBlock.getOffset()) {<a name="line.508"></a>
-<span class="sourceLineNo">509</span>        return;<a name="line.509"></a>
-<span class="sourceLineNo">510</span>      }<a name="line.510"></a>
-<span class="sourceLineNo">511</span>      // We don't have to keep ref to EXCLUSIVE type of block<a name="line.511"></a>
-<span class="sourceLineNo">512</span>      if (this.curBlock != null &amp;&amp; this.curBlock.usesSharedMemory()) {<a name="line.512"></a>
-<span class="sourceLineNo">513</span>        prevBlocks.add(this.curBlock);<a name="line.513"></a>
-<span class="sourceLineNo">514</span>      }<a name="line.514"></a>
-<span class="sourceLineNo">515</span>      this.curBlock = block;<a name="line.515"></a>
-<span class="sourceLineNo">516</span>    }<a name="line.516"></a>
-<span class="sourceLineNo">517</span><a name="line.517"></a>
-<span class="sourceLineNo">518</span>    void reset() {<a name="line.518"></a>
-<span class="sourceLineNo">519</span>      // We don't have to keep ref to EXCLUSIVE type of block<a name="line.519"></a>
-<span class="sourceLineNo">520</span>      if (this.curBlock != null &amp;&amp; this.curBlock.usesSharedMemory()) {<a name="line.520"></a>
-<span class="sourceLineNo">521</span>        this.prevBlocks.add(this.curBlock);<a name="line.521"></a>
-<span class="sourceLineNo">522</span>      }<a name="line.522"></a>
-<span class="sourceLineNo">523</span>      this.curBlock = null;<a name="line.523"></a>
-<span class="sourceLineNo">524</span>    }<a name="line.524"></a>
-<span class="sourceLineNo">525</span><a name="line.525"></a>
-<span class="sourceLineNo">526</span>    private void returnBlockToCache(HFileBlock block) {<a name="line.526"></a>
-<span class="sourceLineNo">527</span>      if (LOG.isTraceEnabled()) {<a name="line.527"></a>
-<span class="sourceLineNo">528</span>        LOG.trace("Returning the block : " + block);<a name="line.528"></a>
-<span class="sourceLineNo">529</span>      }<a name="line.529"></a>
-<span class="sourceLineNo">530</span>      this.reader.returnBlock(block);<a name="line.530"></a>
-<span class="sourceLineNo">531</span>    }<a name="line.531"></a>
-<span class="sourceLineNo">532</span><a name="line.532"></a>
-<span class="sourceLineNo">533</span>    private void returnBlocks(boolean returnAll) {<a name="line.533"></a>
-<span class="sourceLineNo">534</span>      for (int i = 0; i &lt; this.prevBlocks.size(); i++) {<a name="line.534"></a>
-<span class="sourceLineNo">535</span>        returnBlockToCache(this.prevBlocks.get(i));<a name="line.535"></a>
-<span class="sourceLineNo">536</span>      }<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      this.prevBlocks.clear();<a name="line.537"></a>
-<span class="sourceLineNo">538</span>      if (returnAll &amp;&amp; this.curBlock != null) {<a name="line.538"></a>
-<span class="sourceLineNo">539</span>        returnBlockToCache(this.curBlock);<a name="line.539"></a>
-<span class="sourceLineNo">540</span>        this.curBlock = null;<a name="line.540"></a>
-<span class="sourceLineNo">541</span>      }<a name="line.541"></a>
-<span class="sourceLineNo">542</span>    }<a name="line.542"></a>
-<span class="sourceLineNo">543</span>    @Override<a name="line.543"></a>
-<span class="sourceLineNo">544</span>    public boolean isSeeked(){<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      return blockBuffer != null;<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>    @Override<a name="line.548"></a>
-<span class="sourceLineNo">549</span>    public String toString() {<a name="line.549"></a>
-<span class="sourceLineNo">550</span>      return "HFileScanner for reader " + String.valueOf(getReader());<a name="line.550"></a>
-<span class="sourceLineNo">551</span>    }<a name="line.551"></a>
-<span class="sourceLineNo">552</span><a name="line.552"></a>
-<span class="sourceLineNo">553</span>    protected void assertSeeked() {<a name="line.553"></a>
-<span class="sourceLineNo">554</span>      if (!isSeeked())<a name="line.554"></a>
-<span class="sourceLineNo">555</span>        throw new NotSeekedException();<a name="line.555"></a>
-<span class="sourceLineNo">556</span>    }<a name="line.556"></a>
-<span class="sourceLineNo">557</span><a name="line.557"></a>
-<span class="sourceLineNo">558</span>    @Override<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    public HFile.Reader getReader() {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>      return reader;<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    }<a name="line.561"></a>
-<span class="sourceLineNo">562</span><a name="line.562"></a>
-<span class="sourceLineNo">563</span>    protected int getCellBufSize() {<a name="line.563"></a>
-<span class="sourceLineNo">564</span>      int kvBufSize = KEY_VALUE_LEN_SIZE + currKeyLen + currValueLen;<a name="line.564"></a>
-<span class="sourceLineNo">565</span>      if (this.reader.getFileContext().isIncludesTags()) {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>        kvBufSize += Bytes.SIZEOF_SHORT + currTagsLen;<a name="line.566"></a>
-<span class="sourceLineNo">567</span>      }<a name="line.567"></a>
-<span class="sourceLineNo">568</span>      return kvBufSize;<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>    @Override<a name="line.571"></a>
-<span class="sourceLineNo">572</span>    public void close() {<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      this.returnBlocks(true);<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    }<a name="line.574"></a>
-<span class="sourceLineNo">575</span><a name="line.575"></a>
-<span class="sourceLineNo">576</span>    protected int getCurCellSize() {<a name="line.576"></a>
-<span class="sourceLineNo">577</span>      int curCellSize =  KEY_VALUE_LEN_SIZE + currKeyLen + currValueLen<a name="line.577"></a>
-<span class="sourceLineNo">578</span>          + currMemstoreTSLen;<a name="line.578"></a>
-<span class="sourceLineNo">579</span>      if (this.reader.getFileContext().isIncludesTags()) {<a name="line.579"></a>
-<span class="sourceLineNo">580</span>        curCellSize += Bytes.SIZEOF_SHORT + currTagsLen;<a name="line.580"></a>
-<span class="sourceLineNo">581</span>      }<a name="line.581"></a>
-<span class="sourceLineNo">582</span>      return curCellSize;<a name="line.582"></a>
-<span class="sourceLineNo">583</span>    }<a name="line.583"></a>
-<span class="sourceLineNo">584</span><a name="line.584"></a>
-<span class="sourceLineNo">585</span>    protected void readKeyValueLen() {<a name="line.585"></a>
-<span class="sourceLineNo">586</span>      // This is a hot method. We go out of our way to make this method short so it can be<a name="line.586"></a>
-<span class="sourceLineNo">587</span>      // inlined and is not too big to compile. We also manage position in ByteBuffer ourselves<a name="line.587"></a>
-<span class="sourceLineNo">588</span>      // because it is faster than going via range-checked ByteBuffer methods or going through a<a name="line.588"></a>
-<span class="sourceLineNo">589</span>      // byte buffer array a byte at a time.<a name="line.589"></a>
-<span class="sourceLineNo">590</span>      // Get a long at a time rather than read two individual ints. In micro-benchmarking, even<a name="line.590"></a>
-<span class="sourceLineNo">591</span>      // with the extra bit-fiddling, this is order-of-magnitude faster than getting two ints.<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      // Trying to imitate what was done - need to profile if this is better or<a name="line.592"></a>
-<span class="sourceLineNo">593</span>      // earlier way is better by doing mark and reset?<a name="line.593"></a>
-<span class="sourceLineNo">594</span>      // But ensure that you read long instead of two ints<a name="line.594"></a>
-<span class="sourceLineNo">595</span>      long ll = blockBuffer.getLongAfterPosition(0);<a name="line.595"></a>
-<span class="sourceLineNo">596</span>      // Read top half as an int of key length and bottom int as value length<a name="line.596"></a>
-<span class="sourceLineNo">597</span>      this.currKeyLen = (int)(ll &gt;&gt; Integer.SIZE);<a name="line.597"></a>
-<span class="sourceLineNo">598</span>      this.currValueLen = (int)(Bytes.MASK_FOR_LOWER_INT_IN_LONG ^ ll);<a name="line.598"></a>
-<span class="sourceLineNo">599</span>      checkKeyValueLen();<a name="line.599"></a>
-<span class="sourceLineNo">600</span>      // Move position past the key and value lengths and then beyond the key and value<a name="line.600"></a>
-<span class="sourceLineNo">601</span>      int p = (Bytes.SIZEOF_LONG + currKeyLen + currValueLen);<a name="line.601"></a>
-<span class="sourceLineNo">602</span>      if (reader.getFileContext().isIncludesTags()) {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>        // Tags length is a short.<a name="line.603"></a>
-<span class="sourceLineNo">604</span>        this.currTagsLen = blockBuffer.getShortAfterPosition(p);<a name="line.604"></a>
-<span class="sourceLineNo">605</span>        checkTagsLen();<a name="line.605"></a>
-<span class="sourceLineNo">606</span>        p += (Bytes.SIZEOF_SHORT + currTagsLen);<a name="line.606"></a>
-<span class="sourceLineNo">607</span>      }<a name="line.607"></a>
-<span class="sourceLineNo">608</span>      readMvccVersion(p);<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>    private final void checkTagsLen() {<a name="line.611"></a>
-<span class="sourceLineNo">612</span>      if (checkLen(this.currTagsLen)) {<a name="line.612"></a>
-<span class="sourceLineNo">613</span>        throw new IllegalStateException("Invalid currTagsLen " + this.currTagsLen +<a name="line.613"></a>
-<span class="sourceLineNo">614</span>          ". Block offset: " + curBlock.getOffset() + ", block length: " +<a name="line.614"></a>
-<span class="sourceLineNo">615</span>            this.blockBuffer.limit() +<a name="line.615"></a>
-<span class="sourceLineNo">616</span>          ", position: " + this.blockBuffer.position() + " (without header).");<a name="line.616"></a>
-<span class="sourceLineNo">617</span>      }<a name="line.617"></a>
-<span class="sourceLineNo">618</span>    }<a name="line.618"></a>
-<span class="sourceLineNo">619</span><a name="line.619"></a>
-<span class="sourceLineNo">620</span>    /**<a name="line.620"></a>
-<span class="sourceLineNo">621</span>     * Read mvcc. Does checks to see if we even need to read the mvcc at all.<a name="line.621"></a>
-<span class="sourceLineNo">622</span>     * @param offsetFromPos<a name="line.622"></a>
-<span class="sourceLineNo">623</span>     */<a name="line.623"></a>
-<span class="sourceLineNo">624</span>    protected void readMvccVersion(final int offsetFromPos) {<a name="line.624"></a>
-<span class="sourceLineNo">625</span>      // See if we even need to decode mvcc.<a name="line.625"></a>
-<span class="sourceLineNo">626</span>      if (!this.reader.shouldIncludeMemstoreTS()) return;<a name="line.626"></a>
-<span class="sourceLineNo">627</span>      if (!this.reader.isDecodeMemstoreTS()) {<a name="line.627"></a>
-<span class="sourceLineNo">628</span>        currMemstoreTS = 0;<a name="line.628"></a>
-<span class="sourceLineNo">629</span>        currMemstoreTSLen = 1;<a name="line.629"></a>
-<span class="sourceLineNo">630</span>        return;<a name="line.630"></a>
-<span class="sourceLineNo">631</span>      }<a name="line.631"></a>
-<span class="sourceLineNo">632</span>      _readMvccVersion(offsetFromPos);<a name="line.632"></a>
-<span class="sourceLineNo">633</span>    }<a name="line.633"></a>
-<span class="sourceLineNo">634</span><a name="line.634"></a>
-<span class="sourceLineNo">635</span>    /**<a name="line.635"></a>
-<span class="sourceLineNo">636</span>     * Actually do the mvcc read. Does no checks.<a name="line.636"></a>
-<span class="sourceLineNo">637</span>     * @param offsetFromPos<a name="line.637"></a>
-<span class="sourceLineNo">638</span>     */<a name="line.638"></a>
-<span class="sourceLineNo">639</span>    private void _readMvccVersion(int offsetFromPos) {<a name="line.639"></a>
-<span class="sourceLineNo">640</span>      // This is Bytes#bytesToVint inlined so can save a few instructions in this hot method; i.e.<a name="line.640"></a>
-<span class="sourceLineNo">641</span>      // previous if one-byte vint, we'd redo the vint call to find int size.<a name="line.641"></a>
-<span class="sourceLineNo">642</span>      // Also the method is kept small so can be inlined.<a name="line.642"></a>
-<span class="sourceLineNo">643</span>      byte firstByte = blockBuffer.getByteAfterPosition(offsetFromPos);<a name="line.643"></a>
-<span class="sourceLineNo">644</span>      int len = WritableUtils.decodeVIntSize(firstByte);<a name="line.644"></a>
-<span class="sourceLineNo">645</span>      if (len == 1) {<a name="line.645"></a>
-<span class="sourceLineNo">646</span>        this.currMemstoreTS = firstByte;<a name="line.646"></a>
-<span class="sourceLineNo">647</span>      } else {<a name="line.647"></a>
-<span class="sourceLineNo">648</span>        int remaining = len -1;<a name="line.648"></a>
-<span class="sourceLineNo">649</span>        long i = 0;<a name="line.649"></a>
-<span class="sourceLineNo">650</span>        offsetFromPos++;<a name="line.650"></a>
-<span class="sourceLineNo">651</span>        if (remaining &gt;= Bytes.SIZEOF_INT) {<a name="line.651"></a>
-<span class="sourceLineNo">652</span>          i = blockBuffer.getIntAfterPosition(offsetFromPos);<a name="line.652"></a>
-<span class="sourceLineNo">653</span>          remaining -= Bytes.SIZEOF_INT;<a name="line.653"></a>
-<span class="sourceLineNo">654</span>          offsetFromPos += Bytes.SIZEOF_INT;<a name="line.654"></a>
-<span class="sourceLineNo">655</span>        }<a name="line.655"></a>
-<span class="sourceLineNo">656</span>        if (remaining &gt;= Bytes.SIZEOF_SHORT) {<a name="line.656"></a>
-<span class="sourceLineNo">657</span>          short s = blockBuffer.getShortAfterPosition(offsetFromPos);<a name="line.657"></a>
-<span class="sourceLineNo">658</span>          i = i &lt;&lt; 16;<a name="line.658"></a>
-<span class="sourceLineNo">659</span>          i = i | (s &amp; 0xFFFF);<a name="line.659"></a>
-<span class="sourceLineNo">660</span>          remaining -= Bytes.SIZEOF_SHORT;<a name="line.660"></a>
-<span class="sourceLineNo">661</span>          offsetFromPos += Bytes.SIZEOF_SHORT;<a name="line.661"></a>
-<span class="sourceLineNo">662</span>        }<a name="line.662"></a>
-<span class="sourceLineNo">663</span>        for (int idx = 0; idx &lt; remaining; idx++) {<a name="line.663"></a>
-<span class="sourceLineNo">664</span>          byte b = blockBuffer.getByteAfterPosition(offsetFromPos + idx);<a name="line.664"></a>
-<span class="sourceLineNo">665</span>          i = i &lt;&lt; 8;<a name="line.665"></a>
-<span class="sourceLineNo">666</span>          i = i | (b &amp; 0xFF);<a name="line.666"></a>
-<span class="sourceLineNo">667</span>        }<a name="line.667"></a>
-<span class="sourceLineNo">668</span>        currMemstoreTS = (WritableUtils.isNegativeVInt(firstByte) ? ~i : i);<a name="line.668"></a>
-<span class="sourceLineNo">669</span>      }<a name="line.669"></a>
-<span class="sourceLineNo">670</span>      this.currMemstoreTSLen = len;<a name="line.670"></a>
-<span class="sourceLineNo">671</span>    }<a name="line.671"></a>
-<span class="sourceLineNo">672</span><a name="line.672"></a>
-<span class="sourceLineNo">673</span>    /**<a name="line.673"></a>
-<span class="sourceLineNo">674</span>     * Within a loaded block, seek looking for the last key that is smaller than<a name="line.674"></a>
-<span class="sourceLineNo">675</span>     * (or equal to?) the key we are interested in.<a name="line.675"></a>
-<span class="sourceLineNo">676</span>     * A note on the seekBefore: if you have seekBefore = true, AND the first<a name="line.676"></a>
-<span class="sourceLineNo">677</span>     * key in the block = key, then you'll get thrown exceptions. The caller has<a name="line.677"></a>
-<span class="sourceLineNo">678</span>     * to check for that case and load the previous block as appropriate.<a name="line.678"></a>
-<span class="sourceLineNo">679</span>     * @param key<a name="line.679"></a>
-<span class="sourceLineNo">680</span>     *          the key to find<a name="line.680"></a>
-<span class="sourceLineNo">681</span>     * @param seekBefore<a name="line.681"></a>
-<span class="sourceLineNo">682</span>     *          find the key before the given key in case of exact match.<a name="line.682"></a>
-<span class="sourceLineNo">683</span>     * @return 0 in case of an exact key match, 1 in case of an inexact match,<a name="line.683"></a>
-<span class="sourceLineNo">684</span>     *         -2 in case of an inexact match and furthermore, the input key<a name="line.684"></a>
-<span class="sourceLineNo">685</span>     *         less than the first key of current block(e.g. using a faked index<a name="line.685"></a>
-<span class="sourceLineNo">686</span>     *         key)<a name="line.686"></a>
-<span class="sourceLineNo">687</span>     */<a name="line.687"></a>
-<span class="sourceLineNo">688</span>    protected int blockSeek(Cell key, boolean seekBefore) {<a name="line.688"></a>
-<span class="sourceLineNo">689</span>      int klen, vlen, tlen = 0;<a name="line.689"></a>
-<span class="sourceLineNo">690</span>      int lastKeyValueSize = -1;<a name="line.690"></a>
-<span class="sourceLineNo">691</span>      int offsetFromPos;<a name="line.691"></a>
-<span class="sourceLineNo">692</span>      do {<a name="line.692"></a>
-<span class="sourceLineNo">693</span>        offsetFromPos = 0;<a name="line.693"></a>
-<span class="sourceLineNo">694</span>        // Better to ensure that we use the BB Utils here<a name="line.694"></a>
-<span class="sourceLineNo">695</span>        long ll = blockBuffer.getLongAfterPosition(offsetFromPos);<a name="line.695"></a>
-<span class="sourceLineNo">696</span>        klen = (int)(ll &gt;&gt; Integer.SIZE);<a name="line.696"></a>
-<span class="sourceLineNo">697</span>        vlen = (int)(Bytes.MASK_FOR_LOWER_INT_IN_LONG ^ ll);<a name="line.697"></a>
-<span class="sourceLineNo">698</span>        if (klen &lt; 0 || vlen &lt; 0 || klen &gt; blockBuffer.limit()<a name="line.698"></a>
-<span class="sourceLineNo">699</span>            || vlen &gt; blockBuffer.limit()) {<a name="line.699"></a>
-<span class="sourceLineNo">700</span>          throw new IllegalStateException("Invalid klen " + klen + " or vlen "<a name="line.700"></a>
-<span class="sourceLineNo">701</span>              + vlen + ". Block offset: "<a name="line.701"></a>
-<span class="sourceLineNo">702</span>              + curBlock.getOffset() + ", block length: " + blockBuffer.limit() + ", position: "<a name="line.702"></a>
-<span class="sourceLineNo">703</span>              + blockBuffer.position() + " (without header).");<a name="line.703"></a>
-<span class="sourceLineNo">704</span>        }<a name="line.704"></a>
-<span class="sourceLineNo">705</span>        offsetFromPos += Bytes.SIZEOF_LONG;<a name="line.705"></a>
-<span class="sourceLineNo">706</span>        blockBuffer.asSubByteBuffer(blockBuffer.position() + offsetFromPos, klen, pair);<a name="line.706"></a>
-<span class="sourceLineNo">707</span>        bufBackedKeyOnlyKv.setKey(pair.getFirst(), pair.getSecond(), klen);<a name="line.707"></a>
-<span class="sourceLineNo">708</span>        int comp = reader.getComparator().compareKeyIgnoresMvcc(key, bufBackedKeyOnlyKv);<a name="line.708"></a>
-<span class="sourceLineNo">709</span>        offsetFromPos += klen + vlen;<a name="line.709"></a>
-<span class="sourceLineNo">710</span>        if (this.reader.getFileContext().isIncludesTags()) {<a name="line.710"></a>
-<span class="sourceLineNo">711</span>          // Read short as unsigned, high byte first<a name="line.711"></a>
-<span class="sourceLineNo">712</span>          tlen = ((blockBuffer.getByteAfterPosition(offsetFromPos) &amp; 0xff) &lt;&lt; 8)<a name="line.712"></a>
-<span class="sourceLineNo">713</span>              ^ (blockBuffer.getByteAfterPosition(offsetFromPos + 1) &amp; 0xff);<a name="line.713"></a>
-<span class="sourceLineNo">714</span>          if (tlen &lt; 0 || tlen &gt; blockBuffer.limit()) {<a name="line.714"></a>
-<span class="sourceLineNo">715</span>            throw new IllegalStateException("Invalid tlen " + tlen + ". Block offset: "<a name="line.715"></a>
-<span class="sourceLineNo">716</span>                + curBlock.getOffset() + ", block length: " + blockBuffer.limit() + ", position: "<a name="line.716"></a>
-<span class="sourceLineNo">717</span>                + blockBuffer.position() + " (without header).");<a name="line.717"></a>
-<span class="sourceLineNo">718</span>          }<a name="line.718"></a>
-<span class="sourceLineNo">719</span>          // add the two bytes read for the tags.<a name="line.719"></a>
-<span class="sourceLineNo">720</span>          offsetFromPos += tlen + (Bytes.SIZEOF_SHORT);<a name="line.720"></a>
-<span class="sourceLineNo">721</span>        }<a name="line.721"></a>
-<span class="sourceLineNo">722</span>        if (this.reader.shouldIncludeMemstoreTS()) {<a name="line.722"></a>
-<span class="sourceLineNo">723</span>          // Directly read the mvcc based on current position<a name="line.723"></a>
-<span class="sourceLineNo">724</span>          readMvccVersion(offsetFromPos);<a name="line.724"></a>
-<span class="sourceLineNo">725</span>        }<a name="line.725"></a>
-<span class="sourceLineNo">726</span>        if (comp == 0) {<a name="line.726"></a>
-<span class="sourceLineNo">727</span>          if (seekBefore) {<a name="line.727"></a>
-<span class="sourceLineNo">728</span>            if (lastKeyValueSize &lt; 0) {<a name="line.728"></a>
-<span class="sourceLineNo">729</span>              throw new IllegalStateException("blockSeek with seekBefore "<a name="line.729"></a>
-<span class="sourceLineNo">730</span>                  + "at the first key of the block: key=" + CellUtil.getCellKeyAsString(key)<a name="line.730"></a>
-<span class="sourceLineNo">731</span>                  + ", blockOffset=" + curBlock.getOffset() + ", onDiskSize="<a name="line.731"></a>
-<span class="sourceLineNo">732</span>                  + curBlock.getOnDiskSizeWithHeader());<a name="line.732"></a>
-<span class="sourceLineNo">733</span>            }<a name="line.733"></a>
-<span class="sourceLineNo">734</span>            blockBuffer.moveBack(lastKeyValueSize);<a name="line.734"></a>
-<span class="sourceLineNo">735</span>            readKeyValueLen();<a name="line.735"></a>
-<span class="sourceLineNo">736</span>            return 1; // non exact match.<a name="line.736"></a>
-<span class="sourceLineNo">737</span>          }<a name="line.737"></a>
-<span class="sourceLineNo">738</span>          currKeyLen = klen;<a name="line.738"></a>
-<span class="sourceLineNo">739</span>          currValueLen = vlen;<a name="line.739"></a>
-<span class="sourceLineNo">740</span>          currTagsLen = tlen;<a name="line.740"></a>
-<span class="sourceLineNo">741</span>          return 0; // indicate exact match<a name="line.741"></a>
-<span class="sourceLineNo">742</span>        } else if (comp &lt; 0) {<a name="line.742"></a>
-<span class="sourceLineNo">743</span>          if (lastKeyValueSize &gt; 0) {<a name="line.743"></a>
-<span class="sourceLineNo">744</span>            blockBuffer.moveBack(lastKeyValueSize);<a name="line.744"></a>
-<span class="sourceLineNo">745</span>          }<a name="line.745"></a>
-<span class="sourceLineNo">746</span>          readKeyValueLen();<a name="line.746"></a>
-<span class="sourceLineNo">747</span>          if (lastKeyValueSize == -1 &amp;&amp; blockBuffer.position() == 0) {<a name="line.747"></a>
-<span class="sourceLineNo">748</span>            return HConstants.INDEX_KEY_MAGIC;<a name="line.748"></a>
-<span class="sourceLineNo">749</span>          }<a name="line.749"></a>
-<span class="sourceLineNo">750</span>          return 1;<a name="line.750"></a>
-<span class="sourceLineNo">751</span>        }<a name="line.751"></a>
-<span class="sourceLineNo">752</span>        // The size of this key/value tuple, including key/value length fields.<a name="line.752"></a>
-<span class="sourceLineNo">753</span>        lastKeyValueSize = klen + vlen + currMemstoreTSLen + KEY_VALUE_LEN_SIZE;<a name="line.753"></a>
-<span class="sourceLineNo">754</span>        // include tag length also if tags included with KV<a name="line.754"></a>
-<span class="sourceLineNo">755</span>        if (reader.getFileContext().isIncludesTags()) {<a name="line.755"></a>
-<span class="sourceLineNo">756</span>          lastKeyValueSize += tlen + Bytes.SIZEOF_SHORT;<a name="line.756"></a>
-<span class="sourceLineNo">757</span>        }<a name="line.757"></a>
-<span class="sourceLineNo">758</span>        blockBuffer.skip(lastKeyValueSize);<a name="line.758"></a>
-<span class="sourceLineNo">759</span>      } while (blockBuffer.hasRemaining());<a name="line.759"></a>
-<span class="sourceLineNo">760</span><a name="line.760"></a>
-<span class="sourceLineNo">761</span>      // Seek to the last key we successfully read. This will happen if this is<a name="line.761"></a>
-<span class="sourceLineNo">762</span>      // the last key/value pair in the file, in which case the following call<a name="line.762"></a>
-<span class="sourceLineNo">763</span>      // to next() has to return false.<a name="line.763"></a>
-<span class="sourceLineNo">764</span>      blockBuffer.moveBack(lastKeyValueSize);<a name="line.764"></a>
-<span class="sourceLineNo">765</span>      readKeyValueLen();<a name="line.765"></a>
-<span class="sourceLineNo">766</span>      return 1; // didn't exactly find it.<a name="line.766"></a>
-<span class="sourceLineNo">767</span>    }<a name="line.767"></a>
-<span class="sourceLineNo">768</span><a name="line.768"></a>
-<span class="sourceLineNo">769</span>    @Override<a name="line.769"></a>
-<span class="sourceLineNo">770</span>    public Cell getNextIndexedKey() {<a name="line.770"></a>
-<span class="sourceLineNo">771</span>      return nextIndexedKey;<a name="line.771"></a>
-<span class="sourceLineNo">772</span>    }<a name="line.772"></a>
-<span class="sourceLineNo">773</span><a name="line.773"></a>
-<span class="sourceLineNo">774</span>    @Override<a name="line.774"></a>
-<span class="sourceLineNo">775</span>    public int seekTo(Cell key) throws IOException {<a name="line.775"></a>
-<span class="sourceLineNo">776</span>      return seekTo(key, true);<a name="line.776"></a>
-<span class="sourceLineNo">777</span>    }<a name="line.777"></a>
-<span class="sourceLineNo">778</span><a name="line.778"></a>
-<span class="sourceLineNo">779</span>    @Override<a name="line.779"></a>
-<span class="sourceLineNo">780</span>    public int reseekTo(Cell key) throws IOException {<a name="line.780"></a>
-<span class="sourceLineNo">781</span>      int compared;<a name="line.781"></a>
-<span class="sourceLineNo">782</span>      if (isSeeked()) {<a name="line.782"></a>
-<span class="sourceLineNo">783</span>        compared = compareKey(reader.getComparator(), key);<a name="line.783"></a>
-<span class="sourceLineNo">784</span>        if (compared &lt; 1) {<a name="line.784"></a>
-<span class="sourceLineNo">785</span>          // If the required key is less than or equal to current key, then<a name="line.785"></a>
-<span class="sourceLineNo">786</span>          // don't do anything.<a name="line.786"></a>
-<span class="sourceLineNo">787</span>          return compared;<a name="line.787"></a>
-<span class="sourceLineNo">788</span>        } else {<a name="line.788"></a>
-<span class="sourceLineNo">789</span>          // The comparison with no_next_index_key has to be checked<a name="line.789"></a>
-<span class="sourceLineNo">790</span>          if (this.nextIndexedKey != null &amp;&amp;<a name="line.790"></a>
-<span class="sourceLineNo">791</span>              (this.nextIndexedKey == HConstants.NO_NEXT_INDEXED_KEY || reader<a name="line.791"></a>
-<span class="sourceLineNo">792</span>              .getComparator().compareKeyIgnoresMvcc(key, nextIndexedKey) &lt; 0)) {<a name="line.792"></a>
-<span class="sourceLineNo">793</span>            // The reader shall continue to scan the current data block instead<a name="line.793"></a>
-<span class="sourceLineNo">794</span>            // of querying the<a name="line.794"></a>
-<span class="sourceLineNo">795</span>            // block index as long as it knows the target key is strictly<a name="line.795"></a>
-<span class="sourceLineNo">796</span>            // smaller than<a name="line.796"></a>
-<span class="sourceLineNo">797</span>            // the next indexed key or the current data block is the last data<a name="line.797"></a>
-<span class="sourceLineNo">798</span>            // block.<a name="line.798"></a>
-<span class="sourceLineNo">799</span>            return loadBlockAndSeekToKey(this.curBlock, nextIndexedKey, false, key,<a name="line.799"></a>
-<span class="sourceLineNo">800</span>                false);<a name="line.800"></a>
-<span class="sourceLineNo">801</span>          }<a name="line.801"></a>
-<span class="sourceLineNo">802</span><a name="line.802"></a>
-<span class="sourceLineNo">803</span>        }<a name="line.803"></a>
-<span class="sourceLineNo">804</span>      }<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      // Don't rewind on a reseek operation, because reseek implies that we are<a name="line.805"></a>
-<span class="sourceLineNo">806</span>      // always going forward in the file.<a name="line.806"></a>
-<span class="sourceLineNo">807</span>      return seekTo(key, false);<a name="line.807"></a>
-<span class="sourceLineNo">808</span>    }<a name="line.808"></a>
-<span class="sourceLineNo">809</span><a name="line.809"></a>
-<span class="sourceLineNo">810</span>    /**<a name="line.810"></a>
-<span class="sourceLineNo">811</span>     * An internal API function. Seek to the given key, optionally rewinding to<a name="line.811"></a>
-<span class="sourceLineNo">812</span>     * the first key of the block before doing the seek.<a name="line.812"></a>
-<span class="sourceLineNo">813</span>     *<a name="line.813"></a>
-<span class="sourceLineNo">814</span>     * @param key - a cell representing the key that we need to fetch<a name="line.814"></a>
-<span class="sourceLineNo">815</span>     * @param rewind whether to rewind to the first key of the block before<a name="line.815"></a>
-<span class="sourceLineNo">816</span>     *        doing the seek. If this is false, we are assuming we never go<a name="line.816"></a>
-<span class="sourceLineNo">817</span>     *        back, otherwise the result is undefined.<a name="line.817"></a>
-<span class="sourceLineNo">818</span>     * @return -1 if the key is earlier than the first key of the file,<a name="line.818"></a>
-<span class="sourceLineNo">819</span>     *         0 if we are at the given key, 1 if we are past the given key<a name="line.819"></a>
-<span class="sourceLineNo">820</span>     *         -2 if the key is earlier than the first key of the file while<a name="line.820"></a>
-<span class="sourceLineNo">821</span>     *         using a faked index key<a name="line.821"></a>
-<span class="sourceLineNo">822</span>     * @throws IOException<a name="line.822"></a>
-<span class="sourceLineNo">823</span>     */<a name="line.823"></a>
-<span class="sourceLineNo">824</span>    public int seekTo(Cell key, boolean rewind) throws IOException {<a name="line.824"></a>
-<span class="sourceLineNo">825</span>      HFileBlockIndex.BlockIndexReader indexReader = reader.getDataBlockIndexReader();<a name="line.825"></a>
-<span class="sourceLineNo">826</span>      BlockWithScanInfo blockWithScanInfo = indexReader.loadDataBlockWithScanInfo(key, curBlock,<a name="line.826"></a>
-<span class="sourceLineNo">827</span>          cacheBlocks, pread, isCompaction, getEffectiveDataBlockEncoding());<a name="line.827"></a>
-<span class="sourceLineNo">828</span>      if (blockWithScanInfo == null || blockWithScanInfo.getHFileBlock() == null) {<a name="line.828"></a>
-<span class="sourceLineNo">829</span>        // This happens if the key e.g. falls before the beginning of the<a name="line.829"></a>
-<span class="sourceLineNo">830</span>        // file.<a name="line.830"></a>
-<span class="sourceLineNo">831</span>        return -1;<a name="line.831"></a>
-<span class="sourceLineNo">832</span>      }<a name="line.832"></a>
-<span class="sourceLineNo">833</span>      return loadBlockAndSeekToKey(blockWithScanInfo.getHFileBlock(),<a name="line.833"></a>
-<span class="sourceLineNo">834</span>          blockWithScanInfo.getNextIndexedKey(), rewind, key, false);<a name="line.834"></a>
-<span class="sourceLineNo">835</span>    }<a name="line.835"></a>
-<span class="sourceLineNo">836</span><a name="line.836"></a>
-<span class="sourceLineNo">837</span>    @Override<a name="line.837"></a>
-<span class="sourceLineNo">838</span>    public boolean seekBefore(Cell key) throws IOException {<a name="line.838"></a>
-<span class="sourceLineNo">839</span>      HFileBlock seekToBlock = reader.getDataBlockIndexReader().seekToDataBlock(key, curBlock,<a name="line.839"></a>
-<span class="sourceLineNo">840</span>          cacheBlocks, pread, isCompaction, reader.getEffectiveEncodingInCache(isCompaction));<a name="line.840"></a>
-<span class="sourceLineNo">841</span>      if (seekToBlock == null) {<a name="line.841"></a>
-<span class="sourceLineNo">842</span>        return false;<a name="line.842"></a>
-<span class="sourceLineNo">843</span>      }<a name="line.843"></a>
-<span class="sourceLineNo">844</span>      Cell firstKey = getFirstKeyCellInBlock(seekToBlock);<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      if (reader.getComparator()<a name="line.845"></a>
-<span class="sourceLineNo">846</span>           .compareKeyIgnoresMvcc(firstKey, key) &gt;= 0) {<a name="line.846"></a>
-<span class="sourceLineNo">847</span>        long previousBlockOffset = seekToBlock.getPrevBlockOffset();<a name="line.847"></a>
-<span class="sourceLineNo">848</span>        // The key we are interested in<a name="line.848"></a>
-<span class="sourceLineNo">849</span>        if (previousBlockOffset == -1) {<a name="line.849"></a>
-<span class="sourceLineNo">850</span>          // we have a 'problem', the key we want is the first of the file.<a name="line.850"></a>
-<span class="sourceLineNo">851</span>          return false;<a name="line.851"></a>
-<span class="sourceLineNo">852</span>        }<a name="line.852"></a>
-<span class="sourceLineNo">853</span><a name="line.853"></a>
-<span class="sourceLineNo">854</span>        // The first key in the current block 'seekToBlock' is greater than the given <a name="line.854"></a>
-<span class="sourceLineNo">855</span>        // seekBefore key. We will go ahead by reading the next block that satisfies the<a name="line.855"></a>
-<span class="sourceLineNo">856</span>        // given key. Return the current block before reading the next one.<a name="line.856"></a>
-<span class="sourceLineNo">857</span>        reader.returnBlock(seekToBlock);<a name="line.857"></a>
-<span class="sourceLineNo">858</span>        // It is important that we compute and pass onDiskSize to the block<a name="line.858"></a>
-<span class="sourceLineNo">859</span>        // reader so that it does not have to read the header separately to<a name="line.859"></a>
-<span class="sourceLineNo">860</span>        // figure out the size.  Currently, we do not have a way to do this<a name="line.860"></a>
-<span class="sourceLineNo">861</span>        // correctly in the general case however.<a name="line.861"></a>
-<span class="sourceLineNo">862</span>        // TODO: See https://issues.apache.org/jira/browse/HBASE-14576<a name="line.862"></a>
-<span class="sourceLineNo">863</span>        int prevBlockSize = -1;<a name="line.863"></a>
-<span class="sourceLineNo">864</span>        seekToBlock = reader.readBlock(previousBlockOffset,<a name="line.864"></a>
-<span class="sourceLineNo">865</span>            prevBlockSize, cacheBlocks,<a name="line.865"></a>
-<span class="sourceLineNo">866</span>            pread, isCompaction, true, BlockType.DATA, getEffectiveDataBlockEncoding());<a name="line.866"></a>
-<span class="sourceLineNo">867</span>        // TODO shortcut: seek forward in this block to the last key of the<a name="line.867"></a>
-<span class="sourceLineNo">868</span>        // block.<a name="line.868"></a>
-<span class="sourceLineNo">869</span>      }<a name="line.869"></a>
-<span class="sourceLineNo">870</span>      loadBlockAndSeekToKey(seekToBlock, firstKey, true, key, true);<a name="line.870"></a>
-<span class="sourceLineNo">871</span>      return true;<a name="line.871"></a>
-<span class="sourceLineNo">872</span>    }<a name="line.872"></a>
-<span class="sourceLineNo">873</span><a name="line.873"></a>
-<span class="sourceLineNo">874</span>    /**<a name="line.874"></a>
-<span class="sourceLineNo">875</span>     * Scans blocks in the "scanned" section of the {@link HFile} until the next<a name="line.875"></a>
-<span class="sourceLineNo">876</span>     * data block is found.<a name="line.876"></a>
-<span class="sourceLineNo">877</span>     *<a name="line.877"></a>
-<span class="sourceLineNo">878</span>     * @return the next block, or null if there are no more data blocks<a name="line.878"></a>
-<span class="sourceLineNo">879</span>     * @throws IOException<a name="line.879"></a>
-<span class="sourceLineNo">880</span>     */<a name="line.880"></a>
-<span class="sourceLineNo">881</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="NP_NULL_ON_SOME_PATH",<a name="line.881"></a>
-<span class="sourceLineNo">882</span>        justification="Yeah, unnecessary null check; could do w/ clean up")<a name="line.882"></a>
-<span class="sourceLineNo">883</span>    protected HFileBlock readNextDataBlock() throws IOException {<a name="line.883"></a>
-<span class="sourceLineNo">884</span>      long lastDataBlockOffset = reader.getTrailer().getLastDataBlockOffset();<a name="line.884"></a>
-<span class="sourceLineNo">885</span>      if (curBlock == null)<a name="line.885"></a>
-<span class="sourceLineNo">886</span>        return null;<a name="line.886"></a>
-<span class="sourceLineNo">887</span><a name="line.887"></a>
-<span class="sourceLineNo">888</span>      HFileBlock block = this.curBlock;<a name="line.888"></a>
-<span class="sourceLineNo">889</span><a name="line.889"></a>
-<span class="sourceLineNo">890</span>      do {<a name="line.890"></a>
-<span class="sourceLineNo">891</span>        if (block.getOffset() &gt;= lastDataBlockOffset) {<a name="line.891"></a>
-<span class="sourceLineNo">892</span>          return null;<a name="line.892"></a>
-<span class="sourceLineNo">893</span>        }<a name="line.893"></a>
-<span class="sourceLineNo">894</span><a name="line.894"></a>
-<span class="sourceLineNo">895</span>        if (block.getOffset() &lt; 0) {<a name="line.895"></a>
-<span class="sourceLineNo">896</span>          throw new IOException("Invalid block file offset: " + block);<a name="line.896"></a>
-<span class="sourceLineNo">897</span>        }<a name="line.897"></a>
-<span class="sourceLineNo">898</span><a name="line.898"></a>
-<span class="sourceLineNo">899</span>        // We are reading the next block without block type validation, because<a name="line.899"></a>
-<span class="sourceLineNo">900</span>        // it might turn out to be a non-data block.<a name="line.900"></a>
-<span class="sourceLineNo">901</span>        block = reader.readBlock(block.getOffset()<a name="line.901"></a>
-<span class="sourceLineNo">902</span>            + block.getOnDiskSizeWithHeader(),<a name="line.902"></a>
-<span class="sourceLineNo">903</span>            block.getNextBlockOnDiskSizeWithHeader(), cacheBlocks, pread,<a name="line.903"></a>
-<span class="sourceLineNo">904</span>            isCompaction, true, null, getEffectiveDataBlockEncoding());<a name="line.904"></a>
-<span class="sourceLineNo">905</span>        if (block != null &amp;&amp; !block.getBlockType().isData()) { // Findbugs: NP_NULL_ON_SOME_PATH<a name="line.905"></a>
-<span class="sourceLineNo">906</span>          // Whatever block we read we will be returning it unless<a name="line.906"></a>
-<span class="sourceLineNo">907</span>          // it is a datablock. Just in case the blocks are non data blocks<a name="line.907"></a>
-<span class="sourceLineNo">908</span>          reader.returnBlock(block);<a name="line.908"></a>
-<span class="sourceLineNo">909</span>        }<a name="line.909"></a>
-<span class="sourceLineNo">910</span>      } while (!block.getBlockType().isData());<a name="line.910"></a>
-<span class="sourceLineNo">911</span><a name="line.911"></a>
-<span class="sourceLineNo">912</span>      return block;<a name="line.912"></a>
-<span class="sourceLineNo">913</span>    }<a name="line.913"></a>
-<span class="sourceLineNo">914</span><a name="line.914"></a>
-<span class="sourceLineNo">915</span>    public DataBlockEncoding getEffectiveDataBlockEncoding() {<a name="line.915"></a>
-<span class="sourceLineNo">916</span>      return this.reader.getEffectiveEncodingInCache(isCompaction);<a name="line.916"></a>
-<span class="sourceLineNo">917</span>    }<a name="line.917"></a>
-<span class="sourceLineNo">918</span><a name="line.918"></a>
-<span class="sourceLineNo">919</span>    @Override<a name="line.919"></a>
-<span class="sourceLineNo">920</span>    public Cell getCell() {<a name="line.920"></a>
-<span class="sourceLineNo">921</span>      if (!isSeeked())<a name="line.921"></a>
-<span class="sourceLineNo">922</span>        return null;<a name="line.922"></a>
-<span class="sourceLineNo">923</span><a name="line.923"></a>
-<span class="sourceLineNo">924</span>      Cell ret;<a name="line.924"></a>
-<span class="sourceLineNo">925</span>      int cellBufSize = getCellBufSize();<a name="line.925"></a>
-<span class="sourceLineNo">926</span>      long seqId = 0l;<a name="line.926"></a>
-<span class="sourceLineNo">927</span>      if (this.reader.shouldIncludeMemstoreTS()) {<a name="line.927"></a>
-<span class="sourceLineNo">928</span>        seqId = currMemstoreTS;<a name="line.928"></a>
-<span class="sourceLineNo">929</span>      }<a name="line.929"></a>
-<span class="sourceLineNo">930</span>      if (blockBuffer.hasArray()) {<a name="line.930"></a>
-<span class="sourceLineNo">931</span>        // TODO : reduce the varieties of KV here. Check if based on a boolean<a name="line.931"></a>
-<span class="sourceLineNo">932</span>        // we can handle the 'no tags' case.<a name="line.932"></a>
-<span class="sourceLineNo">933</span>        if (currTagsLen &gt; 0) {<a name="line.933"></a>
-<span class="sourceLineNo">934</span>          if (this.curBlock.usesSharedMemory()) {<a name="line.934"></a>
-<span class="sourceLineNo">935</span>            ret = new ShareableMemoryKeyValue(blockBuffer.array(), blockBuffer.arrayOffset()<a name="line.935"></a>
-<span class="sourceLineNo">936</span>              + blockBuffer.position(), getCellBufSize(), seqId);<a name="line.936"></a>
-<span class="sourceLineNo">937</span>          } else {<a name="line.937"></a>
-<span class="sourceLineNo">938</span>            ret = new SizeCachedKeyValue(blockBuffer.array(), blockBuffer.arrayOffset()<a name="line.938"></a>
-<span class="sourceLineNo">939</span>                    + blockBuffer.position(), cellBufSize, seqId);<a name="line.939"></a>
-<span class="sourceLineNo">940</span>          }<a name="line.940"></a>
-<span class="sourceLineNo">941</span>        } else {<a name="line.941"></a>
-<span class="sourceLineNo">942</span>          if (this.cu

<TRUNCATED>

[07/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html
index e8248d4..c36648a 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html
@@ -59,1847 +59,1848 @@
 <span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.io.encoding.HFileBlockDecodingContext;<a name="line.51"></a>
 <span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.io.hfile.HFile.FileInfo;<a name="line.52"></a>
 <span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.nio.ByteBuff;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.security.EncryptionUtil;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.util.ByteBufferUtils;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.util.IdLock;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.util.ObjectIntPair;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.io.WritableUtils;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.htrace.Trace;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.htrace.TraceScope;<a name="line.61"></a>
-<span class="sourceLineNo">062</span><a name="line.62"></a>
-<span class="sourceLineNo">063</span>import com.google.common.annotations.VisibleForTesting;<a name="line.63"></a>
-<span class="sourceLineNo">064</span><a name="line.64"></a>
-<span class="sourceLineNo">065</span>/**<a name="line.65"></a>
-<span class="sourceLineNo">066</span> * Implementation that can handle all hfile versions of {@link HFile.Reader}.<a name="line.66"></a>
-<span class="sourceLineNo">067</span> */<a name="line.67"></a>
-<span class="sourceLineNo">068</span>@InterfaceAudience.Private<a name="line.68"></a>
-<span class="sourceLineNo">069</span>@edu.umd.cs.findbugs.annotations.SuppressWarnings(value="URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")<a name="line.69"></a>
-<span class="sourceLineNo">070</span>public class HFileReaderImpl implements HFile.Reader, Configurable {<a name="line.70"></a>
-<span class="sourceLineNo">071</span>  // This class is HFileReaderV3 + HFileReaderV2 + AbstractHFileReader all squashed together into<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  // one file.  Ditto for all the HFileReader.ScannerV? implementations. I was running up against<a name="line.72"></a>
-<span class="sourceLineNo">073</span>  // the MaxInlineLevel limit because too many tiers involved reading from an hfile. Was also hard<a name="line.73"></a>
-<span class="sourceLineNo">074</span>  // to navigate the source code when so many classes participating in read.<a name="line.74"></a>
-<span class="sourceLineNo">075</span>  private static final Log LOG = LogFactory.getLog(HFileReaderImpl.class);<a name="line.75"></a>
-<span class="sourceLineNo">076</span><a name="line.76"></a>
-<span class="sourceLineNo">077</span>  /** Data block index reader keeping the root data index in memory */<a name="line.77"></a>
-<span class="sourceLineNo">078</span>  private HFileBlockIndex.CellBasedKeyBlockIndexReader dataBlockIndexReader;<a name="line.78"></a>
-<span class="sourceLineNo">079</span><a name="line.79"></a>
-<span class="sourceLineNo">080</span>  /** Meta block index reader -- always single level */<a name="line.80"></a>
-<span class="sourceLineNo">081</span>  private HFileBlockIndex.ByteArrayKeyBlockIndexReader metaBlockIndexReader;<a name="line.81"></a>
-<span class="sourceLineNo">082</span><a name="line.82"></a>
-<span class="sourceLineNo">083</span>  private final FixedFileTrailer trailer;<a name="line.83"></a>
-<span class="sourceLineNo">084</span><a name="line.84"></a>
-<span class="sourceLineNo">085</span>  /** Filled when we read in the trailer. */<a name="line.85"></a>
-<span class="sourceLineNo">086</span>  private final Compression.Algorithm compressAlgo;<a name="line.86"></a>
-<span class="sourceLineNo">087</span><a name="line.87"></a>
-<span class="sourceLineNo">088</span>  private boolean isPrimaryReplicaReader;<a name="line.88"></a>
-<span class="sourceLineNo">089</span><a name="line.89"></a>
-<span class="sourceLineNo">090</span>  /**<a name="line.90"></a>
-<span class="sourceLineNo">091</span>   * What kind of data block encoding should be used while reading, writing,<a name="line.91"></a>
-<span class="sourceLineNo">092</span>   * and handling cache.<a name="line.92"></a>
-<span class="sourceLineNo">093</span>   */<a name="line.93"></a>
-<span class="sourceLineNo">094</span>  private HFileDataBlockEncoder dataBlockEncoder = NoOpDataBlockEncoder.INSTANCE;<a name="line.94"></a>
-<span class="sourceLineNo">095</span><a name="line.95"></a>
-<span class="sourceLineNo">096</span>  /** Last key in the file. Filled in when we read in the file info */<a name="line.96"></a>
-<span class="sourceLineNo">097</span>  private Cell lastKeyCell = null;<a name="line.97"></a>
-<span class="sourceLineNo">098</span><a name="line.98"></a>
-<span class="sourceLineNo">099</span>  /** Average key length read from file info */<a name="line.99"></a>
-<span class="sourceLineNo">100</span>  private int avgKeyLen = -1;<a name="line.100"></a>
-<span class="sourceLineNo">101</span><a name="line.101"></a>
-<span class="sourceLineNo">102</span>  /** Average value length read from file info */<a name="line.102"></a>
-<span class="sourceLineNo">103</span>  private int avgValueLen = -1;<a name="line.103"></a>
-<span class="sourceLineNo">104</span><a name="line.104"></a>
-<span class="sourceLineNo">105</span>  /** Key comparator */<a name="line.105"></a>
-<span class="sourceLineNo">106</span>  private CellComparator comparator = CellComparator.COMPARATOR;<a name="line.106"></a>
-<span class="sourceLineNo">107</span><a name="line.107"></a>
-<span class="sourceLineNo">108</span>  /** Size of this file. */<a name="line.108"></a>
-<span class="sourceLineNo">109</span>  private final long fileSize;<a name="line.109"></a>
-<span class="sourceLineNo">110</span><a name="line.110"></a>
-<span class="sourceLineNo">111</span>  /** Block cache configuration. */<a name="line.111"></a>
-<span class="sourceLineNo">112</span>  private final CacheConfig cacheConf;<a name="line.112"></a>
-<span class="sourceLineNo">113</span><a name="line.113"></a>
-<span class="sourceLineNo">114</span>  /** Path of file */<a name="line.114"></a>
-<span class="sourceLineNo">115</span>  private final Path path;<a name="line.115"></a>
-<span class="sourceLineNo">116</span><a name="line.116"></a>
-<span class="sourceLineNo">117</span>  /** File name to be used for block names */<a name="line.117"></a>
-<span class="sourceLineNo">118</span>  private final String name;<a name="line.118"></a>
-<span class="sourceLineNo">119</span><a name="line.119"></a>
-<span class="sourceLineNo">120</span>  private FileInfo fileInfo;<a name="line.120"></a>
-<span class="sourceLineNo">121</span><a name="line.121"></a>
-<span class="sourceLineNo">122</span>  private Configuration conf;<a name="line.122"></a>
-<span class="sourceLineNo">123</span><a name="line.123"></a>
-<span class="sourceLineNo">124</span>  private HFileContext hfileContext;<a name="line.124"></a>
-<span class="sourceLineNo">125</span><a name="line.125"></a>
-<span class="sourceLineNo">126</span>  /** Filesystem-level block reader. */<a name="line.126"></a>
-<span class="sourceLineNo">127</span>  private HFileBlock.FSReader fsBlockReader;<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>   * A "sparse lock" implementation allowing to lock on a particular block<a name="line.130"></a>
-<span class="sourceLineNo">131</span>   * identified by offset. The purpose of this is to avoid two clients loading<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   * the same block, and have all but one client wait to get the block from the<a name="line.132"></a>
-<span class="sourceLineNo">133</span>   * cache.<a name="line.133"></a>
-<span class="sourceLineNo">134</span>   */<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  private IdLock offsetLock = new IdLock();<a name="line.135"></a>
-<span class="sourceLineNo">136</span><a name="line.136"></a>
-<span class="sourceLineNo">137</span>  /**<a name="line.137"></a>
-<span class="sourceLineNo">138</span>   * Blocks read from the load-on-open section, excluding data root index, meta<a name="line.138"></a>
-<span class="sourceLineNo">139</span>   * index, and file info.<a name="line.139"></a>
-<span class="sourceLineNo">140</span>   */<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  private List&lt;HFileBlock&gt; loadOnOpenBlocks = new ArrayList&lt;HFileBlock&gt;();<a name="line.141"></a>
-<span class="sourceLineNo">142</span><a name="line.142"></a>
-<span class="sourceLineNo">143</span>  /** Minimum minor version supported by this HFile format */<a name="line.143"></a>
-<span class="sourceLineNo">144</span>  static final int MIN_MINOR_VERSION = 0;<a name="line.144"></a>
-<span class="sourceLineNo">145</span><a name="line.145"></a>
-<span class="sourceLineNo">146</span>  /** Maximum minor version supported by this HFile format */<a name="line.146"></a>
-<span class="sourceLineNo">147</span>  // We went to version 2 when we moved to pb'ing fileinfo and the trailer on<a name="line.147"></a>
-<span class="sourceLineNo">148</span>  // the file. This version can read Writables version 1.<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  static final int MAX_MINOR_VERSION = 3;<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>   * We can read files whose major version is v2 IFF their minor version is at least 3.<a name="line.152"></a>
-<span class="sourceLineNo">153</span>   */<a name="line.153"></a>
-<span class="sourceLineNo">154</span>  private static final int MIN_V2_MINOR_VERSION_WITH_PB = 3;<a name="line.154"></a>
-<span class="sourceLineNo">155</span><a name="line.155"></a>
-<span class="sourceLineNo">156</span>  /** Minor versions starting with this number have faked index key */<a name="line.156"></a>
-<span class="sourceLineNo">157</span>  static final int MINOR_VERSION_WITH_FAKED_KEY = 3;<a name="line.157"></a>
-<span class="sourceLineNo">158</span><a name="line.158"></a>
-<span class="sourceLineNo">159</span>  /**<a name="line.159"></a>
-<span class="sourceLineNo">160</span>   * Opens a HFile. You must load the index before you can use it by calling<a name="line.160"></a>
-<span class="sourceLineNo">161</span>   * {@link #loadFileInfo()}.<a name="line.161"></a>
-<span class="sourceLineNo">162</span>   * @param path<a name="line.162"></a>
-<span class="sourceLineNo">163</span>   *          Path to HFile.<a name="line.163"></a>
-<span class="sourceLineNo">164</span>   * @param trailer<a name="line.164"></a>
-<span class="sourceLineNo">165</span>   *          File trailer.<a name="line.165"></a>
-<span class="sourceLineNo">166</span>   * @param fsdis<a name="line.166"></a>
-<span class="sourceLineNo">167</span>   *          input stream.<a name="line.167"></a>
-<span class="sourceLineNo">168</span>   * @param fileSize<a name="line.168"></a>
-<span class="sourceLineNo">169</span>   *          Length of the stream.<a name="line.169"></a>
-<span class="sourceLineNo">170</span>   * @param cacheConf<a name="line.170"></a>
-<span class="sourceLineNo">171</span>   *          Cache configuration.<a name="line.171"></a>
-<span class="sourceLineNo">172</span>   * @param hfs<a name="line.172"></a>
-<span class="sourceLineNo">173</span>   *          The file system.<a name="line.173"></a>
-<span class="sourceLineNo">174</span>   * @param conf<a name="line.174"></a>
-<span class="sourceLineNo">175</span>   *          Configuration<a name="line.175"></a>
-<span class="sourceLineNo">176</span>   */<a name="line.176"></a>
-<span class="sourceLineNo">177</span>  @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")<a name="line.177"></a>
-<span class="sourceLineNo">178</span>  public HFileReaderImpl(final Path path, FixedFileTrailer trailer,<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      final FSDataInputStreamWrapper fsdis,<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      final long fileSize, final CacheConfig cacheConf, final HFileSystem hfs,<a name="line.180"></a>
-<span class="sourceLineNo">181</span>      final Configuration conf)<a name="line.181"></a>
-<span class="sourceLineNo">182</span>  throws IOException {<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    this.trailer = trailer;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    this.compressAlgo = trailer.getCompressionCodec();<a name="line.184"></a>
-<span class="sourceLineNo">185</span>    this.cacheConf = cacheConf;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    this.fileSize = fileSize;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    this.path = path;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    this.name = path.getName();<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    this.conf = conf;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    checkFileVersion();<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    this.hfileContext = createHFileContext(fsdis, fileSize, hfs, path, trailer);<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    this.fsBlockReader = new HFileBlock.FSReaderImpl(fsdis, fileSize, hfs, path, hfileContext);<a name="line.192"></a>
-<span class="sourceLineNo">193</span><a name="line.193"></a>
-<span class="sourceLineNo">194</span>    // Comparator class name is stored in the trailer in version 2.<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    comparator = trailer.createComparator();<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    dataBlockIndexReader = new HFileBlockIndex.CellBasedKeyBlockIndexReader(comparator,<a name="line.196"></a>
-<span class="sourceLineNo">197</span>        trailer.getNumDataIndexLevels(), this);<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    metaBlockIndexReader = new HFileBlockIndex.ByteArrayKeyBlockIndexReader(1);<a name="line.198"></a>
-<span class="sourceLineNo">199</span><a name="line.199"></a>
-<span class="sourceLineNo">200</span>    // Parse load-on-open data.<a name="line.200"></a>
-<span class="sourceLineNo">201</span><a name="line.201"></a>
-<span class="sourceLineNo">202</span>    HFileBlock.BlockIterator blockIter = fsBlockReader.blockRange(<a name="line.202"></a>
-<span class="sourceLineNo">203</span>        trailer.getLoadOnOpenDataOffset(),<a name="line.203"></a>
-<span class="sourceLineNo">204</span>        fileSize - trailer.getTrailerSize());<a name="line.204"></a>
-<span class="sourceLineNo">205</span><a name="line.205"></a>
-<span class="sourceLineNo">206</span>    // Data index. We also read statistics about the block index written after<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    // the root level.<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    dataBlockIndexReader.readMultiLevelIndexRoot(<a name="line.208"></a>
-<span class="sourceLineNo">209</span>        blockIter.nextBlockWithBlockType(BlockType.ROOT_INDEX),<a name="line.209"></a>
-<span class="sourceLineNo">210</span>        trailer.getDataIndexCount());<a name="line.210"></a>
-<span class="sourceLineNo">211</span><a name="line.211"></a>
-<span class="sourceLineNo">212</span>    // Meta index.<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    metaBlockIndexReader.readRootIndex(<a name="line.213"></a>
-<span class="sourceLineNo">214</span>        blockIter.nextBlockWithBlockType(BlockType.ROOT_INDEX),<a name="line.214"></a>
-<span class="sourceLineNo">215</span>        trailer.getMetaIndexCount());<a name="line.215"></a>
-<span class="sourceLineNo">216</span><a name="line.216"></a>
-<span class="sourceLineNo">217</span>    // File info<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    fileInfo = new FileInfo();<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    fileInfo.read(blockIter.nextBlockWithBlockType(BlockType.FILE_INFO).getByteStream());<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    byte[] creationTimeBytes = fileInfo.get(FileInfo.CREATE_TIME_TS);<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    this.hfileContext.setFileCreateTime(creationTimeBytes == null?  0:<a name="line.221"></a>
-<span class="sourceLineNo">222</span>        Bytes.toLong(creationTimeBytes));<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    if (fileInfo.get(FileInfo.LASTKEY) != null) {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>      lastKeyCell = new KeyValue.KeyOnlyKeyValue(fileInfo.get(FileInfo.LASTKEY));<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    }<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    avgKeyLen = Bytes.toInt(fileInfo.get(FileInfo.AVG_KEY_LEN));<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    avgValueLen = Bytes.toInt(fileInfo.get(FileInfo.AVG_VALUE_LEN));<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    byte [] keyValueFormatVersion = fileInfo.get(HFileWriterImpl.KEY_VALUE_VERSION);<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    includesMemstoreTS = keyValueFormatVersion != null &amp;&amp;<a name="line.229"></a>
-<span class="sourceLineNo">230</span>        Bytes.toInt(keyValueFormatVersion) == HFileWriterImpl.KEY_VALUE_VER_WITH_MEMSTORE;<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    fsBlockReader.setIncludesMemstoreTS(includesMemstoreTS);<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    if (includesMemstoreTS) {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      decodeMemstoreTS = Bytes.toLong(fileInfo.get(HFileWriterImpl.MAX_MEMSTORE_TS_KEY)) &gt; 0;<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    }<a name="line.234"></a>
-<span class="sourceLineNo">235</span><a name="line.235"></a>
-<span class="sourceLineNo">236</span>    // Read data block encoding algorithm name from file info.<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    dataBlockEncoder = HFileDataBlockEncoderImpl.createFromFileInfo(fileInfo);<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    fsBlockReader.setDataBlockEncoder(dataBlockEncoder);<a name="line.238"></a>
-<span class="sourceLineNo">239</span><a name="line.239"></a>
-<span class="sourceLineNo">240</span>    // Store all other load-on-open blocks for further consumption.<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    HFileBlock b;<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    while ((b = blockIter.nextBlock()) != null) {<a name="line.242"></a>
-<span class="sourceLineNo">243</span>      loadOnOpenBlocks.add(b);<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>    // Prefetch file blocks upon open if requested<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    if (cacheConf.shouldPrefetchOnOpen()) {<a name="line.247"></a>
-<span class="sourceLineNo">248</span>      PrefetchExecutor.request(path, new Runnable() {<a name="line.248"></a>
-<span class="sourceLineNo">249</span>        public void run() {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>          try {<a name="line.250"></a>
-<span class="sourceLineNo">251</span>            long offset = 0;<a name="line.251"></a>
-<span class="sourceLineNo">252</span>            long end = fileSize - getTrailer().getTrailerSize();<a name="line.252"></a>
-<span class="sourceLineNo">253</span>            HFileBlock prevBlock = null;<a name="line.253"></a>
-<span class="sourceLineNo">254</span>            while (offset &lt; end) {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>              if (Thread.interrupted()) {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>                break;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>              }<a name="line.257"></a>
-<span class="sourceLineNo">258</span>              long onDiskSize = -1;<a name="line.258"></a>
-<span class="sourceLineNo">259</span>              if (prevBlock != null) {<a name="line.259"></a>
-<span class="sourceLineNo">260</span>                onDiskSize = prevBlock.getNextBlockOnDiskSizeWithHeader();<a name="line.260"></a>
-<span class="sourceLineNo">261</span>              }<a name="line.261"></a>
-<span class="sourceLineNo">262</span>              HFileBlock block = readBlock(offset, onDiskSize, true, false, false, false,<a name="line.262"></a>
-<span class="sourceLineNo">263</span>                null, null);<a name="line.263"></a>
-<span class="sourceLineNo">264</span>              // Need not update the current block. Ideally here the readBlock won't find the<a name="line.264"></a>
-<span class="sourceLineNo">265</span>              // block in cache. We call this readBlock so that block data is read from FS and<a name="line.265"></a>
-<span class="sourceLineNo">266</span>              // cached in BC. So there is no reference count increment that happens here.<a name="line.266"></a>
-<span class="sourceLineNo">267</span>              // The return will ideally be a noop because the block is not of MemoryType SHARED.<a name="line.267"></a>
-<span class="sourceLineNo">268</span>              returnBlock(block);<a name="line.268"></a>
-<span class="sourceLineNo">269</span>              prevBlock = block;<a name="line.269"></a>
-<span class="sourceLineNo">270</span>              offset += block.getOnDiskSizeWithHeader();<a name="line.270"></a>
-<span class="sourceLineNo">271</span>            }<a name="line.271"></a>
-<span class="sourceLineNo">272</span>          } catch (IOException e) {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>            // IOExceptions are probably due to region closes (relocation, etc.)<a name="line.273"></a>
-<span class="sourceLineNo">274</span>            if (LOG.isTraceEnabled()) {<a name="line.274"></a>
-<span class="sourceLineNo">275</span>              LOG.trace("Exception encountered while prefetching " + path + ":", e);<a name="line.275"></a>
-<span class="sourceLineNo">276</span>            }<a name="line.276"></a>
-<span class="sourceLineNo">277</span>          } catch (Exception e) {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>            // Other exceptions are interesting<a name="line.278"></a>
-<span class="sourceLineNo">279</span>            LOG.warn("Exception encountered while prefetching " + path + ":", e);<a name="line.279"></a>
-<span class="sourceLineNo">280</span>          } finally {<a name="line.280"></a>
-<span class="sourceLineNo">281</span>            PrefetchExecutor.complete(path);<a name="line.281"></a>
-<span class="sourceLineNo">282</span>          }<a name="line.282"></a>
-<span class="sourceLineNo">283</span>        }<a name="line.283"></a>
-<span class="sourceLineNo">284</span>      });<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    }<a name="line.285"></a>
-<span class="sourceLineNo">286</span><a name="line.286"></a>
-<span class="sourceLineNo">287</span>    byte[] tmp = fileInfo.get(FileInfo.MAX_TAGS_LEN);<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    // max tag length is not present in the HFile means tags were not at all written to file.<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    if (tmp != null) {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>      hfileContext.setIncludesTags(true);<a name="line.290"></a>
-<span class="sourceLineNo">291</span>      tmp = fileInfo.get(FileInfo.TAGS_COMPRESSED);<a name="line.291"></a>
-<span class="sourceLineNo">292</span>      if (tmp != null &amp;&amp; Bytes.toBoolean(tmp)) {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>        hfileContext.setCompressTags(true);<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      }<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    }<a name="line.295"></a>
-<span class="sourceLineNo">296</span>  }<a name="line.296"></a>
-<span class="sourceLineNo">297</span><a name="line.297"></a>
-<span class="sourceLineNo">298</span>  /**<a name="line.298"></a>
-<span class="sourceLineNo">299</span>   * File version check is a little sloppy. We read v3 files but can also read v2 files if their<a name="line.299"></a>
-<span class="sourceLineNo">300</span>   * content has been pb'd; files written with 0.98.<a name="line.300"></a>
-<span class="sourceLineNo">301</span>   */<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  private void checkFileVersion() {<a name="line.302"></a>
-<span class="sourceLineNo">303</span>    int majorVersion = trailer.getMajorVersion();<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    if (majorVersion == getMajorVersion()) return;<a name="line.304"></a>
-<span class="sourceLineNo">305</span>    int minorVersion = trailer.getMinorVersion();<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    if (majorVersion == 2 &amp;&amp; minorVersion &gt;= MIN_V2_MINOR_VERSION_WITH_PB) return;<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    // We can read v3 or v2 versions of hfile.<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    throw new IllegalArgumentException("Invalid HFile version: major=" +<a name="line.308"></a>
-<span class="sourceLineNo">309</span>      trailer.getMajorVersion() + ", minor=" + trailer.getMinorVersion() + ": expected at least " +<a name="line.309"></a>
-<span class="sourceLineNo">310</span>      "major=2 and minor=" + MAX_MINOR_VERSION);<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  }<a name="line.311"></a>
-<span class="sourceLineNo">312</span><a name="line.312"></a>
-<span class="sourceLineNo">313</span>  @SuppressWarnings("serial")<a name="line.313"></a>
-<span class="sourceLineNo">314</span>  public static class BlockIndexNotLoadedException extends IllegalStateException {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    public BlockIndexNotLoadedException() {<a name="line.315"></a>
-<span class="sourceLineNo">316</span>      // Add a message in case anyone relies on it as opposed to class name.<a name="line.316"></a>
-<span class="sourceLineNo">317</span>      super("Block index not loaded");<a name="line.317"></a>
-<span class="sourceLineNo">318</span>    }<a name="line.318"></a>
-<span class="sourceLineNo">319</span>  }<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>  private String toStringFirstKey() {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    if(getFirstKey() == null)<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      return null;<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    return CellUtil.getCellKeyAsString(getFirstKey());<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  }<a name="line.325"></a>
-<span class="sourceLineNo">326</span><a name="line.326"></a>
-<span class="sourceLineNo">327</span>  private String toStringLastKey() {<a name="line.327"></a>
-<span class="sourceLineNo">328</span>    return CellUtil.toString(getLastKey(), false);<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>  @Override<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  public String toString() {<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    return "reader=" + path.toString() +<a name="line.333"></a>
-<span class="sourceLineNo">334</span>        (!isFileInfoLoaded()? "":<a name="line.334"></a>
-<span class="sourceLineNo">335</span>          ", compression=" + compressAlgo.getName() +<a name="line.335"></a>
-<span class="sourceLineNo">336</span>          ", cacheConf=" + cacheConf +<a name="line.336"></a>
-<span class="sourceLineNo">337</span>          ", firstKey=" + toStringFirstKey() +<a name="line.337"></a>
-<span class="sourceLineNo">338</span>          ", lastKey=" + toStringLastKey()) +<a name="line.338"></a>
-<span class="sourceLineNo">339</span>          ", avgKeyLen=" + avgKeyLen +<a name="line.339"></a>
-<span class="sourceLineNo">340</span>          ", avgValueLen=" + avgValueLen +<a name="line.340"></a>
-<span class="sourceLineNo">341</span>          ", entries=" + trailer.getEntryCount() +<a name="line.341"></a>
-<span class="sourceLineNo">342</span>          ", length=" + fileSize;<a name="line.342"></a>
-<span class="sourceLineNo">343</span>  }<a name="line.343"></a>
-<span class="sourceLineNo">344</span><a name="line.344"></a>
-<span class="sourceLineNo">345</span>  @Override<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  public long length() {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    return fileSize;<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 void returnBlock(HFileBlock block) {<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    BlockCache blockCache = this.cacheConf.getBlockCache();<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    if (blockCache != null &amp;&amp; block != null) {<a name="line.353"></a>
-<span class="sourceLineNo">354</span>      BlockCacheKey cacheKey = new BlockCacheKey(this.getFileContext().getHFileName(),<a name="line.354"></a>
-<span class="sourceLineNo">355</span>          block.getOffset(), this.isPrimaryReplicaReader());<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      blockCache.returnBlock(cacheKey, block);<a name="line.356"></a>
-<span class="sourceLineNo">357</span>    }<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  }<a name="line.358"></a>
-<span class="sourceLineNo">359</span>  /**<a name="line.359"></a>
-<span class="sourceLineNo">360</span>   * @return the first key in the file. May be null if file has no entries. Note<a name="line.360"></a>
-<span class="sourceLineNo">361</span>   *         that this is not the first row key, but rather the byte form of the<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   *         first KeyValue.<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   */<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  @Override<a name="line.364"></a>
-<span class="sourceLineNo">365</span>  public Cell getFirstKey() {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    if (dataBlockIndexReader == null) {<a name="line.366"></a>
-<span class="sourceLineNo">367</span>      throw new BlockIndexNotLoadedException();<a name="line.367"></a>
-<span class="sourceLineNo">368</span>    }<a name="line.368"></a>
-<span class="sourceLineNo">369</span>    return dataBlockIndexReader.isEmpty() ? null<a name="line.369"></a>
-<span class="sourceLineNo">370</span>        : dataBlockIndexReader.getRootBlockKey(0);<a name="line.370"></a>
-<span class="sourceLineNo">371</span>  }<a name="line.371"></a>
-<span class="sourceLineNo">372</span><a name="line.372"></a>
-<span class="sourceLineNo">373</span>  /**<a name="line.373"></a>
-<span class="sourceLineNo">374</span>   * TODO left from {@link HFile} version 1: move this to StoreFile after Ryan's<a name="line.374"></a>
-<span class="sourceLineNo">375</span>   * patch goes in to eliminate {@link KeyValue} here.<a name="line.375"></a>
-<span class="sourceLineNo">376</span>   *<a name="line.376"></a>
-<span class="sourceLineNo">377</span>   * @return the first row key, or null if the file is empty.<a name="line.377"></a>
-<span class="sourceLineNo">378</span>   */<a name="line.378"></a>
-<span class="sourceLineNo">379</span>  @Override<a name="line.379"></a>
-<span class="sourceLineNo">380</span>  public byte[] getFirstRowKey() {<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    Cell firstKey = getFirstKey();<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    // We have to copy the row part to form the row key alone<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    return firstKey == null? null: CellUtil.cloneRow(firstKey);<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>  /**<a name="line.386"></a>
-<span class="sourceLineNo">387</span>   * TODO left from {@link HFile} version 1: move this to StoreFile after<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * Ryan's patch goes in to eliminate {@link KeyValue} here.<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   *<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   * @return the last row key, or null if the file is empty.<a name="line.390"></a>
-<span class="sourceLineNo">391</span>   */<a name="line.391"></a>
-<span class="sourceLineNo">392</span>  @Override<a name="line.392"></a>
-<span class="sourceLineNo">393</span>  public byte[] getLastRowKey() {<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    Cell lastKey = getLastKey();<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    return lastKey == null? null: CellUtil.cloneRow(lastKey);<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  }<a name="line.396"></a>
-<span class="sourceLineNo">397</span><a name="line.397"></a>
-<span class="sourceLineNo">398</span>  /** @return number of KV entries in this HFile */<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  @Override<a name="line.399"></a>
-<span class="sourceLineNo">400</span>  public long getEntries() {<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    return trailer.getEntryCount();<a name="line.401"></a>
-<span class="sourceLineNo">402</span>  }<a name="line.402"></a>
-<span class="sourceLineNo">403</span><a name="line.403"></a>
-<span class="sourceLineNo">404</span>  /** @return comparator */<a name="line.404"></a>
-<span class="sourceLineNo">405</span>  @Override<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  public CellComparator getComparator() {<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    return comparator;<a name="line.407"></a>
-<span class="sourceLineNo">408</span>  }<a name="line.408"></a>
-<span class="sourceLineNo">409</span><a name="line.409"></a>
-<span class="sourceLineNo">410</span>  /** @return compression algorithm */<a name="line.410"></a>
-<span class="sourceLineNo">411</span>  @Override<a name="line.411"></a>
-<span class="sourceLineNo">412</span>  public Compression.Algorithm getCompressionAlgorithm() {<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    return compressAlgo;<a name="line.413"></a>
-<span class="sourceLineNo">414</span>  }<a name="line.414"></a>
-<span class="sourceLineNo">415</span><a name="line.415"></a>
-<span class="sourceLineNo">416</span>  /**<a name="line.416"></a>
-<span class="sourceLineNo">417</span>   * @return the total heap size of data and meta block indexes in bytes. Does<a name="line.417"></a>
-<span class="sourceLineNo">418</span>   *         not take into account non-root blocks of a multilevel data index.<a name="line.418"></a>
-<span class="sourceLineNo">419</span>   */<a name="line.419"></a>
-<span class="sourceLineNo">420</span>  public long indexSize() {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    return (dataBlockIndexReader != null ? dataBlockIndexReader.heapSize() : 0)<a name="line.421"></a>
-<span class="sourceLineNo">422</span>        + ((metaBlockIndexReader != null) ? metaBlockIndexReader.heapSize()<a name="line.422"></a>
-<span class="sourceLineNo">423</span>            : 0);<a name="line.423"></a>
-<span class="sourceLineNo">424</span>  }<a name="line.424"></a>
-<span class="sourceLineNo">425</span><a name="line.425"></a>
-<span class="sourceLineNo">426</span>  @Override<a name="line.426"></a>
-<span class="sourceLineNo">427</span>  public String getName() {<a name="line.427"></a>
-<span class="sourceLineNo">428</span>    return name;<a name="line.428"></a>
-<span class="sourceLineNo">429</span>  }<a name="line.429"></a>
-<span class="sourceLineNo">430</span><a name="line.430"></a>
-<span class="sourceLineNo">431</span>  @Override<a name="line.431"></a>
-<span class="sourceLineNo">432</span>  public HFileBlockIndex.BlockIndexReader getDataBlockIndexReader() {<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    return dataBlockIndexReader;<a name="line.433"></a>
-<span class="sourceLineNo">434</span>  }<a name="line.434"></a>
-<span class="sourceLineNo">435</span><a name="line.435"></a>
-<span class="sourceLineNo">436</span>  @Override<a name="line.436"></a>
-<span class="sourceLineNo">437</span>  public FixedFileTrailer getTrailer() {<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    return trailer;<a name="line.438"></a>
-<span class="sourceLineNo">439</span>  }<a name="line.439"></a>
-<span class="sourceLineNo">440</span><a name="line.440"></a>
-<span class="sourceLineNo">441</span>  @Override<a name="line.441"></a>
-<span class="sourceLineNo">442</span>  public boolean isPrimaryReplicaReader() {<a name="line.442"></a>
-<span class="sourceLineNo">443</span>    return isPrimaryReplicaReader;<a name="line.443"></a>
-<span class="sourceLineNo">444</span>  }<a name="line.444"></a>
-<span class="sourceLineNo">445</span><a name="line.445"></a>
-<span class="sourceLineNo">446</span>  @Override<a name="line.446"></a>
-<span class="sourceLineNo">447</span>  public void setPrimaryReplicaReader(boolean isPrimaryReplicaReader) {<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    this.isPrimaryReplicaReader = isPrimaryReplicaReader;<a name="line.448"></a>
-<span class="sourceLineNo">449</span>  }<a name="line.449"></a>
-<span class="sourceLineNo">450</span><a name="line.450"></a>
-<span class="sourceLineNo">451</span>  @Override<a name="line.451"></a>
-<span class="sourceLineNo">452</span>  public FileInfo loadFileInfo() throws IOException {<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    return fileInfo;<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>   * An exception thrown when an operation requiring a scanner to be seeked<a name="line.457"></a>
-<span class="sourceLineNo">458</span>   * is invoked on a scanner that is not seeked.<a name="line.458"></a>
-<span class="sourceLineNo">459</span>   */<a name="line.459"></a>
-<span class="sourceLineNo">460</span>  @SuppressWarnings("serial")<a name="line.460"></a>
-<span class="sourceLineNo">461</span>  public static class NotSeekedException extends IllegalStateException {<a name="line.461"></a>
-<span class="sourceLineNo">462</span>    public NotSeekedException() {<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      super("Not seeked to a key/value");<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>  protected static class HFileScannerImpl implements HFileScanner {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    private ByteBuff blockBuffer;<a name="line.468"></a>
-<span class="sourceLineNo">469</span>    protected final boolean cacheBlocks;<a name="line.469"></a>
-<span class="sourceLineNo">470</span>    protected final boolean pread;<a name="line.470"></a>
-<span class="sourceLineNo">471</span>    protected final boolean isCompaction;<a name="line.471"></a>
-<span class="sourceLineNo">472</span>    private int currKeyLen;<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    private int currValueLen;<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    private int currMemstoreTSLen;<a name="line.474"></a>
-<span class="sourceLineNo">475</span>    private long currMemstoreTS;<a name="line.475"></a>
-<span class="sourceLineNo">476</span>    // Updated but never read?<a name="line.476"></a>
-<span class="sourceLineNo">477</span>    protected AtomicInteger blockFetches = new AtomicInteger(0);<a name="line.477"></a>
-<span class="sourceLineNo">478</span>    protected final HFile.Reader reader;<a name="line.478"></a>
-<span class="sourceLineNo">479</span>    private int currTagsLen;<a name="line.479"></a>
-<span class="sourceLineNo">480</span>    // buffer backed keyonlyKV<a name="line.480"></a>
-<span class="sourceLineNo">481</span>    private ByteBufferedKeyOnlyKeyValue bufBackedKeyOnlyKv = new ByteBufferedKeyOnlyKeyValue();<a name="line.481"></a>
-<span class="sourceLineNo">482</span>    // A pair for reusing in blockSeek() so that we don't garbage lot of objects<a name="line.482"></a>
-<span class="sourceLineNo">483</span>    final ObjectIntPair&lt;ByteBuffer&gt; pair = new ObjectIntPair&lt;ByteBuffer&gt;();<a name="line.483"></a>
-<span class="sourceLineNo">484</span><a name="line.484"></a>
-<span class="sourceLineNo">485</span>    /**<a name="line.485"></a>
-<span class="sourceLineNo">486</span>     * The next indexed key is to keep track of the indexed key of the next data block.<a name="line.486"></a>
-<span class="sourceLineNo">487</span>     * If the nextIndexedKey is HConstants.NO_NEXT_INDEXED_KEY, it means that the<a name="line.487"></a>
-<span class="sourceLineNo">488</span>     * current data block is the last data block.<a name="line.488"></a>
-<span class="sourceLineNo">489</span>     *<a name="line.489"></a>
-<span class="sourceLineNo">490</span>     * If the nextIndexedKey is null, it means the nextIndexedKey has not been loaded yet.<a name="line.490"></a>
-<span class="sourceLineNo">491</span>     */<a name="line.491"></a>
-<span class="sourceLineNo">492</span>    protected Cell nextIndexedKey;<a name="line.492"></a>
-<span class="sourceLineNo">493</span>    // Current block being used<a name="line.493"></a>
-<span class="sourceLineNo">494</span>    protected HFileBlock curBlock;<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    // Previous blocks that were used in the course of the read<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    protected final ArrayList&lt;HFileBlock&gt; prevBlocks = new ArrayList&lt;HFileBlock&gt;();<a name="line.496"></a>
-<span class="sourceLineNo">497</span><a name="line.497"></a>
-<span class="sourceLineNo">498</span>    public HFileScannerImpl(final HFile.Reader reader, final boolean cacheBlocks,<a name="line.498"></a>
-<span class="sourceLineNo">499</span>        final boolean pread, final boolean isCompaction) {<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      this.reader = reader;<a name="line.500"></a>
-<span class="sourceLineNo">501</span>      this.cacheBlocks = cacheBlocks;<a name="line.501"></a>
-<span class="sourceLineNo">502</span>      this.pread = pread;<a name="line.502"></a>
-<span class="sourceLineNo">503</span>      this.isCompaction = isCompaction;<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>    void updateCurrBlockRef(HFileBlock block) {<a name="line.506"></a>
-<span class="sourceLineNo">507</span>      if (block != null &amp;&amp; this.curBlock != null &amp;&amp;<a name="line.507"></a>
-<span class="sourceLineNo">508</span>          block.getOffset() == this.curBlock.getOffset()) {<a name="line.508"></a>
-<span class="sourceLineNo">509</span>        return;<a name="line.509"></a>
-<span class="sourceLineNo">510</span>      }<a name="line.510"></a>
-<span class="sourceLineNo">511</span>      // We don't have to keep ref to EXCLUSIVE type of block<a name="line.511"></a>
-<span class="sourceLineNo">512</span>      if (this.curBlock != null &amp;&amp; this.curBlock.usesSharedMemory()) {<a name="line.512"></a>
-<span class="sourceLineNo">513</span>        prevBlocks.add(this.curBlock);<a name="line.513"></a>
-<span class="sourceLineNo">514</span>      }<a name="line.514"></a>
-<span class="sourceLineNo">515</span>      this.curBlock = block;<a name="line.515"></a>
-<span class="sourceLineNo">516</span>    }<a name="line.516"></a>
-<span class="sourceLineNo">517</span><a name="line.517"></a>
-<span class="sourceLineNo">518</span>    void reset() {<a name="line.518"></a>
-<span class="sourceLineNo">519</span>      // We don't have to keep ref to EXCLUSIVE type of block<a name="line.519"></a>
-<span class="sourceLineNo">520</span>      if (this.curBlock != null &amp;&amp; this.curBlock.usesSharedMemory()) {<a name="line.520"></a>
-<span class="sourceLineNo">521</span>        this.prevBlocks.add(this.curBlock);<a name="line.521"></a>
-<span class="sourceLineNo">522</span>      }<a name="line.522"></a>
-<span class="sourceLineNo">523</span>      this.curBlock = null;<a name="line.523"></a>
-<span class="sourceLineNo">524</span>    }<a name="line.524"></a>
-<span class="sourceLineNo">525</span><a name="line.525"></a>
-<span class="sourceLineNo">526</span>    private void returnBlockToCache(HFileBlock block) {<a name="line.526"></a>
-<span class="sourceLineNo">527</span>      if (LOG.isTraceEnabled()) {<a name="line.527"></a>
-<span class="sourceLineNo">528</span>        LOG.trace("Returning the block : " + block);<a name="line.528"></a>
-<span class="sourceLineNo">529</span>      }<a name="line.529"></a>
-<span class="sourceLineNo">530</span>      this.reader.returnBlock(block);<a name="line.530"></a>
-<span class="sourceLineNo">531</span>    }<a name="line.531"></a>
-<span class="sourceLineNo">532</span><a name="line.532"></a>
-<span class="sourceLineNo">533</span>    private void returnBlocks(boolean returnAll) {<a name="line.533"></a>
-<span class="sourceLineNo">534</span>      for (int i = 0; i &lt; this.prevBlocks.size(); i++) {<a name="line.534"></a>
-<span class="sourceLineNo">535</span>        returnBlockToCache(this.prevBlocks.get(i));<a name="line.535"></a>
-<span class="sourceLineNo">536</span>      }<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      this.prevBlocks.clear();<a name="line.537"></a>
-<span class="sourceLineNo">538</span>      if (returnAll &amp;&amp; this.curBlock != null) {<a name="line.538"></a>
-<span class="sourceLineNo">539</span>        returnBlockToCache(this.curBlock);<a name="line.539"></a>
-<span class="sourceLineNo">540</span>        this.curBlock = null;<a name="line.540"></a>
-<span class="sourceLineNo">541</span>      }<a name="line.541"></a>
-<span class="sourceLineNo">542</span>    }<a name="line.542"></a>
-<span class="sourceLineNo">543</span>    @Override<a name="line.543"></a>
-<span class="sourceLineNo">544</span>    public boolean isSeeked(){<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      return blockBuffer != null;<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>    @Override<a name="line.548"></a>
-<span class="sourceLineNo">549</span>    public String toString() {<a name="line.549"></a>
-<span class="sourceLineNo">550</span>      return "HFileScanner for reader " + String.valueOf(getReader());<a name="line.550"></a>
-<span class="sourceLineNo">551</span>    }<a name="line.551"></a>
-<span class="sourceLineNo">552</span><a name="line.552"></a>
-<span class="sourceLineNo">553</span>    protected void assertSeeked() {<a name="line.553"></a>
-<span class="sourceLineNo">554</span>      if (!isSeeked())<a name="line.554"></a>
-<span class="sourceLineNo">555</span>        throw new NotSeekedException();<a name="line.555"></a>
-<span class="sourceLineNo">556</span>    }<a name="line.556"></a>
-<span class="sourceLineNo">557</span><a name="line.557"></a>
-<span class="sourceLineNo">558</span>    @Override<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    public HFile.Reader getReader() {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>      return reader;<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    }<a name="line.561"></a>
-<span class="sourceLineNo">562</span><a name="line.562"></a>
-<span class="sourceLineNo">563</span>    protected int getCellBufSize() {<a name="line.563"></a>
-<span class="sourceLineNo">564</span>      int kvBufSize = KEY_VALUE_LEN_SIZE + currKeyLen + currValueLen;<a name="line.564"></a>
-<span class="sourceLineNo">565</span>      if (this.reader.getFileContext().isIncludesTags()) {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>        kvBufSize += Bytes.SIZEOF_SHORT + currTagsLen;<a name="line.566"></a>
-<span class="sourceLineNo">567</span>      }<a name="line.567"></a>
-<span class="sourceLineNo">568</span>      return kvBufSize;<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>    @Override<a name="line.571"></a>
-<span class="sourceLineNo">572</span>    public void close() {<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      this.returnBlocks(true);<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    }<a name="line.574"></a>
-<span class="sourceLineNo">575</span><a name="line.575"></a>
-<span class="sourceLineNo">576</span>    protected int getCurCellSize() {<a name="line.576"></a>
-<span class="sourceLineNo">577</span>      int curCellSize =  KEY_VALUE_LEN_SIZE + currKeyLen + currValueLen<a name="line.577"></a>
-<span class="sourceLineNo">578</span>          + currMemstoreTSLen;<a name="line.578"></a>
-<span class="sourceLineNo">579</span>      if (this.reader.getFileContext().isIncludesTags()) {<a name="line.579"></a>
-<span class="sourceLineNo">580</span>        curCellSize += Bytes.SIZEOF_SHORT + currTagsLen;<a name="line.580"></a>
-<span class="sourceLineNo">581</span>      }<a name="line.581"></a>
-<span class="sourceLineNo">582</span>      return curCellSize;<a name="line.582"></a>
-<span class="sourceLineNo">583</span>    }<a name="line.583"></a>
-<span class="sourceLineNo">584</span><a name="line.584"></a>
-<span class="sourceLineNo">585</span>    protected void readKeyValueLen() {<a name="line.585"></a>
-<span class="sourceLineNo">586</span>      // This is a hot method. We go out of our way to make this method short so it can be<a name="line.586"></a>
-<span class="sourceLineNo">587</span>      // inlined and is not too big to compile. We also manage position in ByteBuffer ourselves<a name="line.587"></a>
-<span class="sourceLineNo">588</span>      // because it is faster than going via range-checked ByteBuffer methods or going through a<a name="line.588"></a>
-<span class="sourceLineNo">589</span>      // byte buffer array a byte at a time.<a name="line.589"></a>
-<span class="sourceLineNo">590</span>      // Get a long at a time rather than read two individual ints. In micro-benchmarking, even<a name="line.590"></a>
-<span class="sourceLineNo">591</span>      // with the extra bit-fiddling, this is order-of-magnitude faster than getting two ints.<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      // Trying to imitate what was done - need to profile if this is better or<a name="line.592"></a>
-<span class="sourceLineNo">593</span>      // earlier way is better by doing mark and reset?<a name="line.593"></a>
-<span class="sourceLineNo">594</span>      // But ensure that you read long instead of two ints<a name="line.594"></a>
-<span class="sourceLineNo">595</span>      long ll = blockBuffer.getLongAfterPosition(0);<a name="line.595"></a>
-<span class="sourceLineNo">596</span>      // Read top half as an int of key length and bottom int as value length<a name="line.596"></a>
-<span class="sourceLineNo">597</span>      this.currKeyLen = (int)(ll &gt;&gt; Integer.SIZE);<a name="line.597"></a>
-<span class="sourceLineNo">598</span>      this.currValueLen = (int)(Bytes.MASK_FOR_LOWER_INT_IN_LONG ^ ll);<a name="line.598"></a>
-<span class="sourceLineNo">599</span>      checkKeyValueLen();<a name="line.599"></a>
-<span class="sourceLineNo">600</span>      // Move position past the key and value lengths and then beyond the key and value<a name="line.600"></a>
-<span class="sourceLineNo">601</span>      int p = (Bytes.SIZEOF_LONG + currKeyLen + currValueLen);<a name="line.601"></a>
-<span class="sourceLineNo">602</span>      if (reader.getFileContext().isIncludesTags()) {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>        // Tags length is a short.<a name="line.603"></a>
-<span class="sourceLineNo">604</span>        this.currTagsLen = blockBuffer.getShortAfterPosition(p);<a name="line.604"></a>
-<span class="sourceLineNo">605</span>        checkTagsLen();<a name="line.605"></a>
-<span class="sourceLineNo">606</span>        p += (Bytes.SIZEOF_SHORT + currTagsLen);<a name="line.606"></a>
-<span class="sourceLineNo">607</span>      }<a name="line.607"></a>
-<span class="sourceLineNo">608</span>      readMvccVersion(p);<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>    private final void checkTagsLen() {<a name="line.611"></a>
-<span class="sourceLineNo">612</span>      if (checkLen(this.currTagsLen)) {<a name="line.612"></a>
-<span class="sourceLineNo">613</span>        throw new IllegalStateException("Invalid currTagsLen " + this.currTagsLen +<a name="line.613"></a>
-<span class="sourceLineNo">614</span>          ". Block offset: " + curBlock.getOffset() + ", block length: " +<a name="line.614"></a>
-<span class="sourceLineNo">615</span>            this.blockBuffer.limit() +<a name="line.615"></a>
-<span class="sourceLineNo">616</span>          ", position: " + this.blockBuffer.position() + " (without header).");<a name="line.616"></a>
-<span class="sourceLineNo">617</span>      }<a name="line.617"></a>
-<span class="sourceLineNo">618</span>    }<a name="line.618"></a>
-<span class="sourceLineNo">619</span><a name="line.619"></a>
-<span class="sourceLineNo">620</span>    /**<a name="line.620"></a>
-<span class="sourceLineNo">621</span>     * Read mvcc. Does checks to see if we even need to read the mvcc at all.<a name="line.621"></a>
-<span class="sourceLineNo">622</span>     * @param offsetFromPos<a name="line.622"></a>
-<span class="sourceLineNo">623</span>     */<a name="line.623"></a>
-<span class="sourceLineNo">624</span>    protected void readMvccVersion(final int offsetFromPos) {<a name="line.624"></a>
-<span class="sourceLineNo">625</span>      // See if we even need to decode mvcc.<a name="line.625"></a>
-<span class="sourceLineNo">626</span>      if (!this.reader.shouldIncludeMemstoreTS()) return;<a name="line.626"></a>
-<span class="sourceLineNo">627</span>      if (!this.reader.isDecodeMemstoreTS()) {<a name="line.627"></a>
-<span class="sourceLineNo">628</span>        currMemstoreTS = 0;<a name="line.628"></a>
-<span class="sourceLineNo">629</span>        currMemstoreTSLen = 1;<a name="line.629"></a>
-<span class="sourceLineNo">630</span>        return;<a name="line.630"></a>
-<span class="sourceLineNo">631</span>      }<a name="line.631"></a>
-<span class="sourceLineNo">632</span>      _readMvccVersion(offsetFromPos);<a name="line.632"></a>
-<span class="sourceLineNo">633</span>    }<a name="line.633"></a>
-<span class="sourceLineNo">634</span><a name="line.634"></a>
-<span class="sourceLineNo">635</span>    /**<a name="line.635"></a>
-<span class="sourceLineNo">636</span>     * Actually do the mvcc read. Does no checks.<a name="line.636"></a>
-<span class="sourceLineNo">637</span>     * @param offsetFromPos<a name="line.637"></a>
-<span class="sourceLineNo">638</span>     */<a name="line.638"></a>
-<span class="sourceLineNo">639</span>    private void _readMvccVersion(int offsetFromPos) {<a name="line.639"></a>
-<span class="sourceLineNo">640</span>      // This is Bytes#bytesToVint inlined so can save a few instructions in this hot method; i.e.<a name="line.640"></a>
-<span class="sourceLineNo">641</span>      // previous if one-byte vint, we'd redo the vint call to find int size.<a name="line.641"></a>
-<span class="sourceLineNo">642</span>      // Also the method is kept small so can be inlined.<a name="line.642"></a>
-<span class="sourceLineNo">643</span>      byte firstByte = blockBuffer.getByteAfterPosition(offsetFromPos);<a name="line.643"></a>
-<span class="sourceLineNo">644</span>      int len = WritableUtils.decodeVIntSize(firstByte);<a name="line.644"></a>
-<span class="sourceLineNo">645</span>      if (len == 1) {<a name="line.645"></a>
-<span class="sourceLineNo">646</span>        this.currMemstoreTS = firstByte;<a name="line.646"></a>
-<span class="sourceLineNo">647</span>      } else {<a name="line.647"></a>
-<span class="sourceLineNo">648</span>        int remaining = len -1;<a name="line.648"></a>
-<span class="sourceLineNo">649</span>        long i = 0;<a name="line.649"></a>
-<span class="sourceLineNo">650</span>        offsetFromPos++;<a name="line.650"></a>
-<span class="sourceLineNo">651</span>        if (remaining &gt;= Bytes.SIZEOF_INT) {<a name="line.651"></a>
-<span class="sourceLineNo">652</span>          i = blockBuffer.getIntAfterPosition(offsetFromPos);<a name="line.652"></a>
-<span class="sourceLineNo">653</span>          remaining -= Bytes.SIZEOF_INT;<a name="line.653"></a>
-<span class="sourceLineNo">654</span>          offsetFromPos += Bytes.SIZEOF_INT;<a name="line.654"></a>
-<span class="sourceLineNo">655</span>        }<a name="line.655"></a>
-<span class="sourceLineNo">656</span>        if (remaining &gt;= Bytes.SIZEOF_SHORT) {<a name="line.656"></a>
-<span class="sourceLineNo">657</span>          short s = blockBuffer.getShortAfterPosition(offsetFromPos);<a name="line.657"></a>
-<span class="sourceLineNo">658</span>          i = i &lt;&lt; 16;<a name="line.658"></a>
-<span class="sourceLineNo">659</span>          i = i | (s &amp; 0xFFFF);<a name="line.659"></a>
-<span class="sourceLineNo">660</span>          remaining -= Bytes.SIZEOF_SHORT;<a name="line.660"></a>
-<span class="sourceLineNo">661</span>          offsetFromPos += Bytes.SIZEOF_SHORT;<a name="line.661"></a>
-<span class="sourceLineNo">662</span>        }<a name="line.662"></a>
-<span class="sourceLineNo">663</span>        for (int idx = 0; idx &lt; remaining; idx++) {<a name="line.663"></a>
-<span class="sourceLineNo">664</span>          byte b = blockBuffer.getByteAfterPosition(offsetFromPos + idx);<a name="line.664"></a>
-<span class="sourceLineNo">665</span>          i = i &lt;&lt; 8;<a name="line.665"></a>
-<span class="sourceLineNo">666</span>          i = i | (b &amp; 0xFF);<a name="line.666"></a>
-<span class="sourceLineNo">667</span>        }<a name="line.667"></a>
-<span class="sourceLineNo">668</span>        currMemstoreTS = (WritableUtils.isNegativeVInt(firstByte) ? ~i : i);<a name="line.668"></a>
-<span class="sourceLineNo">669</span>      }<a name="line.669"></a>
-<span class="sourceLineNo">670</span>      this.currMemstoreTSLen = len;<a name="line.670"></a>
-<span class="sourceLineNo">671</span>    }<a name="line.671"></a>
-<span class="sourceLineNo">672</span><a name="line.672"></a>
-<span class="sourceLineNo">673</span>    /**<a name="line.673"></a>
-<span class="sourceLineNo">674</span>     * Within a loaded block, seek looking for the last key that is smaller than<a name="line.674"></a>
-<span class="sourceLineNo">675</span>     * (or equal to?) the key we are interested in.<a name="line.675"></a>
-<span class="sourceLineNo">676</span>     * A note on the seekBefore: if you have seekBefore = true, AND the first<a name="line.676"></a>
-<span class="sourceLineNo">677</span>     * key in the block = key, then you'll get thrown exceptions. The caller has<a name="line.677"></a>
-<span class="sourceLineNo">678</span>     * to check for that case and load the previous block as appropriate.<a name="line.678"></a>
-<span class="sourceLineNo">679</span>     * @param key<a name="line.679"></a>
-<span class="sourceLineNo">680</span>     *          the key to find<a name="line.680"></a>
-<span class="sourceLineNo">681</span>     * @param seekBefore<a name="line.681"></a>
-<span class="sourceLineNo">682</span>     *          find the key before the given key in case of exact match.<a name="line.682"></a>
-<span class="sourceLineNo">683</span>     * @return 0 in case of an exact key match, 1 in case of an inexact match,<a name="line.683"></a>
-<span class="sourceLineNo">684</span>     *         -2 in case of an inexact match and furthermore, the input key<a name="line.684"></a>
-<span class="sourceLineNo">685</span>     *         less than the first key of current block(e.g. using a faked index<a name="line.685"></a>
-<span class="sourceLineNo">686</span>     *         key)<a name="line.686"></a>
-<span class="sourceLineNo">687</span>     */<a name="line.687"></a>
-<span class="sourceLineNo">688</span>    protected int blockSeek(Cell key, boolean seekBefore) {<a name="line.688"></a>
-<span class="sourceLineNo">689</span>      int klen, vlen, tlen = 0;<a name="line.689"></a>
-<span class="sourceLineNo">690</span>      int lastKeyValueSize = -1;<a name="line.690"></a>
-<span class="sourceLineNo">691</span>      int offsetFromPos;<a name="line.691"></a>
-<span class="sourceLineNo">692</span>      do {<a name="line.692"></a>
-<span class="sourceLineNo">693</span>        offsetFromPos = 0;<a name="line.693"></a>
-<span class="sourceLineNo">694</span>        // Better to ensure that we use the BB Utils here<a name="line.694"></a>
-<span class="sourceLineNo">695</span>        long ll = blockBuffer.getLongAfterPosition(offsetFromPos);<a name="line.695"></a>
-<span class="sourceLineNo">696</span>        klen = (int)(ll &gt;&gt; Integer.SIZE);<a name="line.696"></a>
-<span class="sourceLineNo">697</span>        vlen = (int)(Bytes.MASK_FOR_LOWER_INT_IN_LONG ^ ll);<a name="line.697"></a>
-<span class="sourceLineNo">698</span>        if (klen &lt; 0 || vlen &lt; 0 || klen &gt; blockBuffer.limit()<a name="line.698"></a>
-<span class="sourceLineNo">699</span>            || vlen &gt; blockBuffer.limit()) {<a name="line.699"></a>
-<span class="sourceLineNo">700</span>          throw new IllegalStateException("Invalid klen " + klen + " or vlen "<a name="line.700"></a>
-<span class="sourceLineNo">701</span>              + vlen + ". Block offset: "<a name="line.701"></a>
-<span class="sourceLineNo">702</span>              + curBlock.getOffset() + ", block length: " + blockBuffer.limit() + ", position: "<a name="line.702"></a>
-<span class="sourceLineNo">703</span>              + blockBuffer.position() + " (without header).");<a name="line.703"></a>
-<span class="sourceLineNo">704</span>        }<a name="line.704"></a>
-<span class="sourceLineNo">705</span>        offsetFromPos += Bytes.SIZEOF_LONG;<a name="line.705"></a>
-<span class="sourceLineNo">706</span>        blockBuffer.asSubByteBuffer(blockBuffer.position() + offsetFromPos, klen, pair);<a name="line.706"></a>
-<span class="sourceLineNo">707</span>        bufBackedKeyOnlyKv.setKey(pair.getFirst(), pair.getSecond(), klen);<a name="line.707"></a>
-<span class="sourceLineNo">708</span>        int comp = reader.getComparator().compareKeyIgnoresMvcc(key, bufBackedKeyOnlyKv);<a name="line.708"></a>
-<span class="sourceLineNo">709</span>        offsetFromPos += klen + vlen;<a name="line.709"></a>
-<span class="sourceLineNo">710</span>        if (this.reader.getFileContext().isIncludesTags()) {<a name="line.710"></a>
-<span class="sourceLineNo">711</span>          // Read short as unsigned, high byte first<a name="line.711"></a>
-<span class="sourceLineNo">712</span>          tlen = ((blockBuffer.getByteAfterPosition(offsetFromPos) &amp; 0xff) &lt;&lt; 8)<a name="line.712"></a>
-<span class="sourceLineNo">713</span>              ^ (blockBuffer.getByteAfterPosition(offsetFromPos + 1) &amp; 0xff);<a name="line.713"></a>
-<span class="sourceLineNo">714</span>          if (tlen &lt; 0 || tlen &gt; blockBuffer.limit()) {<a name="line.714"></a>
-<span class="sourceLineNo">715</span>            throw new IllegalStateException("Invalid tlen " + tlen + ". Block offset: "<a name="line.715"></a>
-<span class="sourceLineNo">716</span>                + curBlock.getOffset() + ", block length: " + blockBuffer.limit() + ", position: "<a name="line.716"></a>
-<span class="sourceLineNo">717</span>                + blockBuffer.position() + " (without header).");<a name="line.717"></a>
-<span class="sourceLineNo">718</span>          }<a name="line.718"></a>
-<span class="sourceLineNo">719</span>          // add the two bytes read for the tags.<a name="line.719"></a>
-<span class="sourceLineNo">720</span>          offsetFromPos += tlen + (Bytes.SIZEOF_SHORT);<a name="line.720"></a>
-<span class="sourceLineNo">721</span>        }<a name="line.721"></a>
-<span class="sourceLineNo">722</span>        if (this.reader.shouldIncludeMemstoreTS()) {<a name="line.722"></a>
-<span class="sourceLineNo">723</span>          // Directly read the mvcc based on current position<a name="line.723"></a>
-<span class="sourceLineNo">724</span>          readMvccVersion(offsetFromPos);<a name="line.724"></a>
-<span class="sourceLineNo">725</span>        }<a name="line.725"></a>
-<span class="sourceLineNo">726</span>        if (comp == 0) {<a name="line.726"></a>
-<span class="sourceLineNo">727</span>          if (seekBefore) {<a name="line.727"></a>
-<span class="sourceLineNo">728</span>            if (lastKeyValueSize &lt; 0) {<a name="line.728"></a>
-<span class="sourceLineNo">729</span>              throw new IllegalStateException("blockSeek with seekBefore "<a name="line.729"></a>
-<span class="sourceLineNo">730</span>                  + "at the first key of the block: key=" + CellUtil.getCellKeyAsString(key)<a name="line.730"></a>
-<span class="sourceLineNo">731</span>                  + ", blockOffset=" + curBlock.getOffset() + ", onDiskSize="<a name="line.731"></a>
-<span class="sourceLineNo">732</span>                  + curBlock.getOnDiskSizeWithHeader());<a name="line.732"></a>
-<span class="sourceLineNo">733</span>            }<a name="line.733"></a>
-<span class="sourceLineNo">734</span>            blockBuffer.moveBack(lastKeyValueSize);<a name="line.734"></a>
-<span class="sourceLineNo">735</span>            readKeyValueLen();<a name="line.735"></a>
-<span class="sourceLineNo">736</span>            return 1; // non exact match.<a name="line.736"></a>
-<span class="sourceLineNo">737</span>          }<a name="line.737"></a>
-<span class="sourceLineNo">738</span>          currKeyLen = klen;<a name="line.738"></a>
-<span class="sourceLineNo">739</span>          currValueLen = vlen;<a name="line.739"></a>
-<span class="sourceLineNo">740</span>          currTagsLen = tlen;<a name="line.740"></a>
-<span class="sourceLineNo">741</span>          return 0; // indicate exact match<a name="line.741"></a>
-<span class="sourceLineNo">742</span>        } else if (comp &lt; 0) {<a name="line.742"></a>
-<span class="sourceLineNo">743</span>          if (lastKeyValueSize &gt; 0) {<a name="line.743"></a>
-<span class="sourceLineNo">744</span>            blockBuffer.moveBack(lastKeyValueSize);<a name="line.744"></a>
-<span class="sourceLineNo">745</span>          }<a name="line.745"></a>
-<span class="sourceLineNo">746</span>          readKeyValueLen();<a name="line.746"></a>
-<span class="sourceLineNo">747</span>          if (lastKeyValueSize == -1 &amp;&amp; blockBuffer.position() == 0) {<a name="line.747"></a>
-<span class="sourceLineNo">748</span>            return HConstants.INDEX_KEY_MAGIC;<a name="line.748"></a>
-<span class="sourceLineNo">749</span>          }<a name="line.749"></a>
-<span class="sourceLineNo">750</span>          return 1;<a name="line.750"></a>
-<span class="sourceLineNo">751</span>        }<a name="line.751"></a>
-<span class="sourceLineNo">752</span>        // The size of this key/value tuple, including key/value length fields.<a name="line.752"></a>
-<span class="sourceLineNo">753</span>        lastKeyValueSize = klen + vlen + currMemstoreTSLen + KEY_VALUE_LEN_SIZE;<a name="line.753"></a>
-<span class="sourceLineNo">754</span>        // include tag length also if tags included with KV<a name="line.754"></a>
-<span class="sourceLineNo">755</span>        if (reader.getFileContext().isIncludesTags()) {<a name="line.755"></a>
-<span class="sourceLineNo">756</span>          lastKeyValueSize += tlen + Bytes.SIZEOF_SHORT;<a name="line.756"></a>
-<span class="sourceLineNo">757</span>        }<a name="line.757"></a>
-<span class="sourceLineNo">758</span>        blockBuffer.skip(lastKeyValueSize);<a name="line.758"></a>
-<span class="sourceLineNo">759</span>      } while (blockBuffer.hasRemaining());<a name="line.759"></a>
-<span class="sourceLineNo">760</span><a name="line.760"></a>
-<span class="sourceLineNo">761</span>      // Seek to the last key we successfully read. This will happen if this is<a name="line.761"></a>
-<span class="sourceLineNo">762</span>      // the last key/value pair in the file, in which case the following call<a name="line.762"></a>
-<span class="sourceLineNo">763</span>      // to next() has to return false.<a name="line.763"></a>
-<span class="sourceLineNo">764</span>      blockBuffer.moveBack(lastKeyValueSize);<a name="line.764"></a>
-<span class="sourceLineNo">765</span>      readKeyValueLen();<a name="line.765"></a>
-<span class="sourceLineNo">766</span>      return 1; // didn't exactly find it.<a name="line.766"></a>
-<span class="sourceLineNo">767</span>    }<a name="line.767"></a>
-<span class="sourceLineNo">768</span><a name="line.768"></a>
-<span class="sourceLineNo">769</span>    @Override<a name="line.769"></a>
-<span class="sourceLineNo">770</span>    public Cell getNextIndexedKey() {<a name="line.770"></a>
-<span class="sourceLineNo">771</span>      return nextIndexedKey;<a name="line.771"></a>
-<span class="sourceLineNo">772</span>    }<a name="line.772"></a>
-<span class="sourceLineNo">773</span><a name="line.773"></a>
-<span class="sourceLineNo">774</span>    @Override<a name="line.774"></a>
-<span class="sourceLineNo">775</span>    public int seekTo(Cell key) throws IOException {<a name="line.775"></a>
-<span class="sourceLineNo">776</span>      return seekTo(key, true);<a name="line.776"></a>
-<span class="sourceLineNo">777</span>    }<a name="line.777"></a>
-<span class="sourceLineNo">778</span><a name="line.778"></a>
-<span class="sourceLineNo">779</span>    @Override<a name="line.779"></a>
-<span class="sourceLineNo">780</span>    public int reseekTo(Cell key) throws IOException {<a name="line.780"></a>
-<span class="sourceLineNo">781</span>      int compared;<a name="line.781"></a>
-<span class="sourceLineNo">782</span>      if (isSeeked()) {<a name="line.782"></a>
-<span class="sourceLineNo">783</span>        compared = compareKey(reader.getComparator(), key);<a name="line.783"></a>
-<span class="sourceLineNo">784</span>        if (compared &lt; 1) {<a name="line.784"></a>
-<span class="sourceLineNo">785</span>          // If the required key is less than or equal to current key, then<a name="line.785"></a>
-<span class="sourceLineNo">786</span>          // don't do anything.<a name="line.786"></a>
-<span class="sourceLineNo">787</span>          return compared;<a name="line.787"></a>
-<span class="sourceLineNo">788</span>        } else {<a name="line.788"></a>
-<span class="sourceLineNo">789</span>          // The comparison with no_next_index_key has to be checked<a name="line.789"></a>
-<span class="sourceLineNo">790</span>          if (this.nextIndexedKey != null &amp;&amp;<a name="line.790"></a>
-<span class="sourceLineNo">791</span>              (this.nextIndexedKey == HConstants.NO_NEXT_INDEXED_KEY || reader<a name="line.791"></a>
-<span class="sourceLineNo">792</span>              .getComparator().compareKeyIgnoresMvcc(key, nextIndexedKey) &lt; 0)) {<a name="line.792"></a>
-<span class="sourceLineNo">793</span>            // The reader shall continue to scan the current data block instead<a name="line.793"></a>
-<span class="sourceLineNo">794</span>            // of querying the<a name="line.794"></a>
-<span class="sourceLineNo">795</span>            // block index as long as it knows the target key is strictly<a name="line.795"></a>
-<span class="sourceLineNo">796</span>            // smaller than<a name="line.796"></a>
-<span class="sourceLineNo">797</span>            // the next indexed key or the current data block is the last data<a name="line.797"></a>
-<span class="sourceLineNo">798</span>            // block.<a name="line.798"></a>
-<span class="sourceLineNo">799</span>            return loadBlockAndSeekToKey(this.curBlock, nextIndexedKey, false, key,<a name="line.799"></a>
-<span class="sourceLineNo">800</span>                false);<a name="line.800"></a>
-<span class="sourceLineNo">801</span>          }<a name="line.801"></a>
-<span class="sourceLineNo">802</span><a name="line.802"></a>
-<span class="sourceLineNo">803</span>        }<a name="line.803"></a>
-<span class="sourceLineNo">804</span>      }<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      // Don't rewind on a reseek operation, because reseek implies that we are<a name="line.805"></a>
-<span class="sourceLineNo">806</span>      // always going forward in the file.<a name="line.806"></a>
-<span class="sourceLineNo">807</span>      return seekTo(key, false);<a name="line.807"></a>
-<span class="sourceLineNo">808</span>    }<a name="line.808"></a>
-<span class="sourceLineNo">809</span><a name="line.809"></a>
-<span class="sourceLineNo">810</span>    /**<a name="line.810"></a>
-<span class="sourceLineNo">811</span>     * An internal API function. Seek to the given key, optionally rewinding to<a name="line.811"></a>
-<span class="sourceLineNo">812</span>     * the first key of the block before doing the seek.<a name="line.812"></a>
-<span class="sourceLineNo">813</span>     *<a name="line.813"></a>
-<span class="sourceLineNo">814</span>     * @param key - a cell representing the key that we need to fetch<a name="line.814"></a>
-<span class="sourceLineNo">815</span>     * @param rewind whether to rewind to the first key of the block before<a name="line.815"></a>
-<span class="sourceLineNo">816</span>     *        doing the seek. If this is false, we are assuming we never go<a name="line.816"></a>
-<span class="sourceLineNo">817</span>     *        back, otherwise the result is undefined.<a name="line.817"></a>
-<span class="sourceLineNo">818</span>     * @return -1 if the key is earlier than the first key of the file,<a name="line.818"></a>
-<span class="sourceLineNo">819</span>     *         0 if we are at the given key, 1 if we are past the given key<a name="line.819"></a>
-<span class="sourceLineNo">820</span>     *         -2 if the key is earlier than the first key of the file while<a name="line.820"></a>
-<span class="sourceLineNo">821</span>     *         using a faked index key<a name="line.821"></a>
-<span class="sourceLineNo">822</span>     * @throws IOException<a name="line.822"></a>
-<span class="sourceLineNo">823</span>     */<a name="line.823"></a>
-<span class="sourceLineNo">824</span>    public int seekTo(Cell key, boolean rewind) throws IOException {<a name="line.824"></a>
-<span class="sourceLineNo">825</span>      HFileBlockIndex.BlockIndexReader indexReader = reader.getDataBlockIndexReader();<a name="line.825"></a>
-<span class="sourceLineNo">826</span>      BlockWithScanInfo blockWithScanInfo = indexReader.loadDataBlockWithScanInfo(key, curBlock,<a name="line.826"></a>
-<span class="sourceLineNo">827</span>          cacheBlocks, pread, isCompaction, getEffectiveDataBlockEncoding());<a name="line.827"></a>
-<span class="sourceLineNo">828</span>      if (blockWithScanInfo == null || blockWithScanInfo.getHFileBlock() == null) {<a name="line.828"></a>
-<span class="sourceLineNo">829</span>        // This happens if the key e.g. falls before the beginning of the<a name="line.829"></a>
-<span class="sourceLineNo">830</span>        // file.<a name="line.830"></a>
-<span class="sourceLineNo">831</span>        return -1;<a name="line.831"></a>
-<span class="sourceLineNo">832</span>      }<a name="line.832"></a>
-<span class="sourceLineNo">833</span>      return loadBlockAndSeekToKey(blockWithScanInfo.getHFileBlock(),<a name="line.833"></a>
-<span class="sourceLineNo">834</span>          blockWithScanInfo.getNextIndexedKey(), rewind, key, false);<a name="line.834"></a>
-<span class="sourceLineNo">835</span>    }<a name="line.835"></a>
-<span class="sourceLineNo">836</span><a name="line.836"></a>
-<span class="sourceLineNo">837</span>    @Override<a name="line.837"></a>
-<span class="sourceLineNo">838</span>    public boolean seekBefore(Cell key) throws IOException {<a name="line.838"></a>
-<span class="sourceLineNo">839</span>      HFileBlock seekToBlock = reader.getDataBlockIndexReader().seekToDataBlock(key, curBlock,<a name="line.839"></a>
-<span class="sourceLineNo">840</span>          cacheBlocks, pread, isCompaction, reader.getEffectiveEncodingInCache(isCompaction));<a name="line.840"></a>
-<span class="sourceLineNo">841</span>      if (seekToBlock == null) {<a name="line.841"></a>
-<span class="sourceLineNo">842</span>        return false;<a name="line.842"></a>
-<span class="sourceLineNo">843</span>      }<a name="line.843"></a>
-<span class="sourceLineNo">844</span>      Cell firstKey = getFirstKeyCellInBlock(seekToBlock);<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      if (reader.getComparator()<a name="line.845"></a>
-<span class="sourceLineNo">846</span>           .compareKeyIgnoresMvcc(firstKey, key) &gt;= 0) {<a name="line.846"></a>
-<span class="sourceLineNo">847</span>        long previousBlockOffset = seekToBlock.getPrevBlockOffset();<a name="line.847"></a>
-<span class="sourceLineNo">848</span>        // The key we are interested in<a name="line.848"></a>
-<span class="sourceLineNo">849</span>        if (previousBlockOffset == -1) {<a name="line.849"></a>
-<span class="sourceLineNo">850</span>          // we have a 'problem', the key we want is the first of the file.<a name="line.850"></a>
-<span class="sourceLineNo">851</span>          return false;<a name="line.851"></a>
-<span class="sourceLineNo">852</span>        }<a name="line.852"></a>
-<span class="sourceLineNo">853</span><a name="line.853"></a>
-<span class="sourceLineNo">854</span>        // The first key in the current block 'seekToBlock' is greater than the given <a name="line.854"></a>
-<span class="sourceLineNo">855</span>        // seekBefore key. We will go ahead by reading the next block that satisfies the<a name="line.855"></a>
-<span class="sourceLineNo">856</span>        // given key. Return the current block before reading the next one.<a name="line.856"></a>
-<span class="sourceLineNo">857</span>        reader.returnBlock(seekToBlock);<a name="line.857"></a>
-<span class="sourceLineNo">858</span>        // It is important that we compute and pass onDiskSize to the block<a name="line.858"></a>
-<span class="sourceLineNo">859</span>        // reader so that it does not have to read the header separately to<a name="line.859"></a>
-<span class="sourceLineNo">860</span>        // figure out the size.  Currently, we do not have a way to do this<a name="line.860"></a>
-<span class="sourceLineNo">861</span>        // correctly in the general case however.<a name="line.861"></a>
-<span class="sourceLineNo">862</span>        // TODO: See https://issues.apache.org/jira/browse/HBASE-14576<a name="line.862"></a>
-<span class="sourceLineNo">863</span>        int prevBlockSize = -1;<a name="line.863"></a>
-<span class="sourceLineNo">864</span>        seekToBlock = reader.readBlock(previousBlockOffset,<a name="line.864"></a>
-<span class="sourceLineNo">865</span>            prevBlockSize, cacheBlocks,<a name="line.865"></a>
-<span class="sourceLineNo">866</span>            pread, isCompaction, true, BlockType.DATA, getEffectiveDataBlockEncoding());<a name="line.866"></a>
-<span class="sourceLineNo">867</span>        // TODO shortcut: seek forward in this block to the last key of the<a name="line.867"></a>
-<span class="sourceLineNo">868</span>        // block.<a name="line.868"></a>
-<span class="sourceLineNo">869</span>      }<a name="line.869"></a>
-<span class="sourceLineNo">870</span>      loadBlockAndSeekToKey(seekToBlock, firstKey, true, key, true);<a name="line.870"></a>
-<span class="sourceLineNo">871</span>      return true;<a name="line.871"></a>
-<span class="sourceLineNo">872</span>    }<a name="line.872"></a>
-<span class="sourceLineNo">873</span><a name="line.873"></a>
-<span class="sourceLineNo">874</span>    /**<a name="line.874"></a>
-<span class="sourceLineNo">875</span>     * Scans blocks in the "scanned" section of the {@link HFile} until the next<a name="line.875"></a>
-<span class="sourceLineNo">876</span>     * data block is found.<a name="line.876"></a>
-<span class="sourceLineNo">877</span>     *<a name="line.877"></a>
-<span class="sourceLineNo">878</span>     * @return the next block, or null if there are no more data blocks<a name="line.878"></a>
-<span class="sourceLineNo">879</span>     * @throws IOException<a name="line.879"></a>
-<span class="sourceLineNo">880</span>     */<a name="line.880"></a>
-<span class="sourceLineNo">881</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="NP_NULL_ON_SOME_PATH",<a name="line.881"></a>
-<span class="sourceLineNo">882</span>        justification="Yeah, unnecessary null check; could do w/ clean up")<a name="line.882"></a>
-<span class="sourceLineNo">883</span>    protected HFileBlock readNextDataBlock() throws IOException {<a name="line.883"></a>
-<span class="sourceLineNo">884</span>      long lastDataBlockOffset = reader.getTrailer().getLastDataBlockOffset();<a name="line.884"></a>
-<span class="sourceLineNo">885</span>      if (curBlock == null)<a name="line.885"></a>
-<span class="sourceLineNo">886</span>        return null;<a name="line.886"></a>
-<span class="sourceLineNo">887</span><a name="line.887"></a>
-<span class="sourceLineNo">888</span>      HFileBlock block = this.curBlock;<a name="line.888"></a>
-<span class="sourceLineNo">889</span><a name="line.889"></a>
-<span class="sourceLineNo">890</span>      do {<a name="line.890"></a>
-<span class="sourceLineNo">891</span>        if (block.getOffset() &gt;= lastDataBlockOffset) {<a name="line.891"></a>
-<span class="sourceLineNo">892</span>          return null;<a name="line.892"></a>
-<span class="sourceLineNo">893</span>        }<a name="line.893"></a>
-<span class="sourceLineNo">894</span><a name="line.894"></a>
-<span class="sourceLineNo">895</span>        if (block.getOffset() &lt; 0) {<a name="line.895"></a>
-<span class="sourceLineNo">896</span>          throw new IOException("Invalid block file offset: " + block);<a name="line.896"></a>
-<span class="sourceLineNo">897</span>        }<a name="line.897"></a>
-<span class="sourceLineNo">898</span><a name="line.898"></a>
-<span class="sourceLineNo">899</span>        // We are reading the next block without block type validation, because<a name="line.899"></a>
-<span class="sourceLineNo">900</span>        // it might turn out to be a non-data block.<a name="line.900"></a>
-<span class="sourceLineNo">901</span>        block = reader.readBlock(block.getOffset()<a name="line.901"></a>
-<span class="sourceLineNo">902</span>            + block.getOnDiskSizeWithHeader(),<a name="line.902"></a>
-<span class="sourceLineNo">903</span>            block.getNextBlockOnDiskSizeWithHeader(), cacheBlocks, pread,<a name="line.903"></a>
-<span class="sourceLineNo">904</span>            isCompaction, true, null, getEffectiveDataBlockEncoding());<a name="line.904"></a>
-<span class="sourceLineNo">905</span>        if (block != null &amp;&amp; !block.getBlockType().isData()) { // Findbugs: NP_NULL_ON_SOME_PATH<a name="line.905"></a>
-<span class="sourceLineNo">906</span>          // Whatever block we read we will be returning it unless<a name="line.906"></a>
-<span class="sourceLineNo">907</span>          // it is a datablock. Just in case the blocks are non data blocks<a name="line.907"></a>
-<span class="sourceLineNo">908</span>          reader.returnBlock(block);<a name="line.908"></a>
-<span class="sourceLineNo">909</span>        }<a name="line.909"></a>
-<span class="sourceLineNo">910</span>      } while (!block.getBlockType().isData());<a name="line.910"></a>
-<span class="sourceLineNo">911</span><a name="line.911"></a>
-<span class="sourceLineNo">912</span>      return block;<a name="line.912"></a>
-<span class="sourceLineNo">913</span>    }<a name="line.913"></a>
-<span class="sourceLineNo">914</span><a name="line.914"></a>
-<span class="sourceLineNo">915</span>    public DataBlockEncoding getEffectiveDataBlockEncoding() {<a name="line.915"></a>
-<span class="sourceLineNo">916</span>      return this.reader.getEffectiveEncodingInCache(isCompaction);<a name="line.916"></a>
-<span class="sourceLineNo">917</span>    }<a name="line.917"></a>
-<span class="sourceLineNo">918</span><a name="line.918"></a>
-<span class="sourceLineNo">919</span>    @Override<a name="line.919"></a>
-<span class="sourceLineNo">920</span>    public Cell getCell() {<a name="line.920"></a>
-<span class="sourceLineNo">921</span>      if (!isSeeked())<a name="line.921"></a>
-<span class="sourceLineNo">922</span>        return null;<a name="line.922"></a>
-<span class="sourceLineNo">923</span><a name="line.923"></a>
-<span class="sourceLineNo">924</span>      Cell ret;<a name="line.924"></a>
-<span class="sourceLineNo">925</span>      int cellBufSize = getCellBufSize();<a name="line.925"></a>
-<span class="sourceLineNo">926</span>      long seqId = 0l;<a name="line.926"></a>
-<span class="sourceLineNo">927</span>      if (this.reader.shouldIncludeMemstoreTS()) {<a name="line.927"></a>
-<span class="sourceLineNo">928</span>        seqId = currMemstoreTS;<a name="line.928"></a>
-<span class="sourceLineNo">929</span>      }<a name="line.929"></a>
-<span class="sourceLineNo">930</span>      if (blockBuffer.hasArray()) {<a name="line.930"></a>
-<span class="sourceLineNo">931</span>        // TODO : reduce the varieties of KV here. Check if based on a boolean<a name="line.931"></a>
-<span class="sourceLineNo">932</span>        // we can handle the 'no tags' case.<a name="line.932"></a>
-<span class="sourceLineNo">933</span>        if (currTagsLen &gt; 0) {<a name="line.933"></a>
-<span class="sourceLineNo">934</span>          if (this.curBlock.usesSharedMemory()) {<a name="line.934"></a>
-<span class="sourceLineNo">935</span>            ret = new ShareableMemoryKeyValue(blockBuffer.array(), blockBuffer.arrayOffset()<a name="line.935"></a>
-<span class="sourceLineNo">936</span>              + blockBuffer.position(), getCellBufSize(), seqId);<a name="line.936"></a>
-<span class="sourceLineNo">937</span>          } else {<a name="line.937"></a>
-<span class="sourceLineNo">938</span>            ret = new SizeCachedKeyValue(blockBuffer.array(), blockBuffer.arrayOffset()<a name="line.938"></a>
-<span class="sourceLineNo">939</span>                    + blockBuffer.position(), cellBufSize, seqId);<a name="line.939"></a>
-<span class="sourceLineNo">940</span>          }<a name="line.940"></a>
-<span class="sourceLineNo">941</span>        } else {<a name="line.941"></a>
-<span class="sourceLineNo">942</span>          if (this.curBlock.usesSharedMemory()) {<a name="line.942"></a>
-<span class="sourceLineNo">943</span>            ret = new Shareabl

<TRUNCATED>

[02/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/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 e4df7cc..704e192 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
@@ -65,2544 +65,2553 @@
 <span class="sourceLineNo">057</span>import java.util.concurrent.ConcurrentLinkedDeque;<a name="line.57"></a>
 <span class="sourceLineNo">058</span>import java.util.concurrent.ExecutorService;<a name="line.58"></a>
 <span class="sourceLineNo">059</span>import java.util.concurrent.Executors;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import java.util.concurrent.locks.Lock;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import java.util.concurrent.locks.ReentrantLock;<a name="line.62"></a>
-<span class="sourceLineNo">063</span><a name="line.63"></a>
-<span class="sourceLineNo">064</span>import javax.security.sasl.Sasl;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import javax.security.sasl.SaslException;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import javax.security.sasl.SaslServer;<a name="line.66"></a>
-<span class="sourceLineNo">067</span><a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.commons.logging.Log;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.commons.logging.LogFactory;<a name="line.69"></a>
+<span class="sourceLineNo">060</span>import java.util.concurrent.locks.Lock;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import java.util.concurrent.locks.ReentrantLock;<a name="line.61"></a>
+<span class="sourceLineNo">062</span><a name="line.62"></a>
+<span class="sourceLineNo">063</span>import javax.security.sasl.Sasl;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import javax.security.sasl.SaslException;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import javax.security.sasl.SaslServer;<a name="line.65"></a>
+<span class="sourceLineNo">066</span><a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.commons.logging.Log;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.commons.logging.LogFactory;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.conf.Configuration;<a name="line.69"></a>
 <span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.CallQueueTooBigException;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.conf.Configuration;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.HBaseIOException;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.HBaseInterfaceAudience;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.HConstants;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.Server;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.TableName;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.client.Operation;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.client.VersionInfoUtil;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.codec.Codec;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.conf.ConfigurationObserver;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.exceptions.RegionMovedException;<a name="line.86"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.HBaseIOException;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.HBaseInterfaceAudience;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.HConstants;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.Server;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.TableName;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.client.Operation;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.client.VersionInfoUtil;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.codec.Codec;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.conf.ConfigurationObserver;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.exceptions.RegionMovedException;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.io.BoundedByteBufferPool;<a name="line.86"></a>
 <span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.io.ByteBufferOutputStream;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.io.BoundedByteBufferPool;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.monitoring.MonitoredRPCHandler;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.VersionInfo;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.CellBlockMeta;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.ConnectionHeader;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.ExceptionResponse;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RequestHeader;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.ResponseHeader;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.UserInformation;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.regionserver.HRegionServer;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.security.AccessDeniedException;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.security.AuthMethod;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.security.HBasePolicyProvider;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.security.HBaseSaslRpcServer;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.security.User;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.security.HBaseSaslRpcServer.SaslDigestCallbackHandler;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.security.HBaseSaslRpcServer.SaslGssCallbackHandler;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.security.SaslStatus;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.security.SaslUtil;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.security.UserProvider;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.security.token.AuthenticationTokenSecretManager;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.util.Counter;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.io.BytesWritable;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.io.IntWritable;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.io.Writable;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.io.WritableUtils;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.io.compress.CompressionCodec;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.security.UserGroupInformation;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.security.UserGroupInformation.AuthenticationMethod;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.security.authorize.AuthorizationException;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.security.authorize.PolicyProvider;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.security.authorize.ProxyUsers;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.security.authorize.ServiceAuthorizationManager;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.security.token.SecretManager;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.security.token.SecretManager.InvalidToken;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.security.token.TokenIdentifier;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.util.StringUtils;<a name="line.128"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.monitoring.MonitoredRPCHandler;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.VersionInfo;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.CellBlockMeta;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.ConnectionHeader;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.ExceptionResponse;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RequestHeader;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.ResponseHeader;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.UserInformation;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.regionserver.HRegionServer;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.security.AccessDeniedException;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.security.AuthMethod;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.security.HBasePolicyProvider;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.security.HBaseSaslRpcServer;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.security.HBaseSaslRpcServer.SaslDigestCallbackHandler;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.security.HBaseSaslRpcServer.SaslGssCallbackHandler;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.security.SaslStatus;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.security.SaslUtil;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.security.User;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.security.UserProvider;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.security.token.AuthenticationTokenSecretManager;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.util.Counter;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.io.BytesWritable;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.io.IntWritable;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.io.Writable;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.io.WritableUtils;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.io.compress.CompressionCodec;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.security.UserGroupInformation;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.security.UserGroupInformation.AuthenticationMethod;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.security.authorize.AuthorizationException;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.security.authorize.PolicyProvider;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.security.authorize.ProxyUsers;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.security.authorize.ServiceAuthorizationManager;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.security.token.SecretManager;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.security.token.SecretManager.InvalidToken;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.security.token.TokenIdentifier;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.util.StringUtils;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.htrace.TraceInfo;<a name="line.128"></a>
 <span class="sourceLineNo">129</span>import org.codehaus.jackson.map.ObjectMapper;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.htrace.TraceInfo;<a name="line.130"></a>
-<span class="sourceLineNo">131</span><a name="line.131"></a>
-<span class="sourceLineNo">132</span>import com.google.common.util.concurrent.ThreadFactoryBuilder;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import com.google.protobuf.BlockingService;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import com.google.protobuf.CodedInputStream;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import com.google.protobuf.Descriptors.MethodDescriptor;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import com.google.protobuf.Message;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import com.google.protobuf.ServiceException;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import com.google.protobuf.TextFormat;<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> * An RPC server that hosts protobuf described Services.<a name="line.141"></a>
-<span class="sourceLineNo">142</span> *<a name="line.142"></a>
-<span class="sourceLineNo">143</span> * An RpcServer instance has a Listener that hosts the socket.  Listener has fixed number<a name="line.143"></a>
-<span class="sourceLineNo">144</span> * of Readers in an ExecutorPool, 10 by default.  The Listener does an accept and then<a name="line.144"></a>
-<span class="sourceLineNo">145</span> * round robin a Reader is chosen to do the read.  The reader is registered on Selector.  Read does<a name="line.145"></a>
-<span class="sourceLineNo">146</span> * total read off the channel and the parse from which it makes a Call.  The call is wrapped in a<a name="line.146"></a>
-<span class="sourceLineNo">147</span> * CallRunner and passed to the scheduler to be run.  Reader goes back to see if more to be done<a name="line.147"></a>
-<span class="sourceLineNo">148</span> * and loops till done.<a name="line.148"></a>
-<span class="sourceLineNo">149</span> *<a name="line.149"></a>
-<span class="sourceLineNo">150</span> * &lt;p&gt;Scheduler can be variously implemented but default simple scheduler has handlers to which it<a name="line.150"></a>
-<span class="sourceLineNo">151</span> * has given the queues into which calls (i.e. CallRunner instances) are inserted.  Handlers run<a name="line.151"></a>
-<span class="sourceLineNo">152</span> * taking from the queue.  They run the CallRunner#run method on each item gotten from queue<a name="line.152"></a>
-<span class="sourceLineNo">153</span> * and keep taking while the server is up.<a name="line.153"></a>
-<span class="sourceLineNo">154</span> *<a name="line.154"></a>
-<span class="sourceLineNo">155</span> * CallRunner#run executes the call.  When done, asks the included Call to put itself on new<a name="line.155"></a>
-<span class="sourceLineNo">156</span> * queue for Responder to pull from and return result to client.<a name="line.156"></a>
-<span class="sourceLineNo">157</span> *<a name="line.157"></a>
-<span class="sourceLineNo">158</span> * @see RpcClientImpl<a name="line.158"></a>
-<span class="sourceLineNo">159</span> */<a name="line.159"></a>
-<span class="sourceLineNo">160</span>@InterfaceAudience.LimitedPrivate({HBaseInterfaceAudience.COPROC, HBaseInterfaceAudience.PHOENIX})<a name="line.160"></a>
-<span class="sourceLineNo">161</span>@InterfaceStability.Evolving<a name="line.161"></a>
-<span class="sourceLineNo">162</span>public class RpcServer implements RpcServerInterface, ConfigurationObserver {<a name="line.162"></a>
-<span class="sourceLineNo">163</span>  // LOG is being used in CallRunner and the log level is being changed in tests<a name="line.163"></a>
-<span class="sourceLineNo">164</span>  public static final Log LOG = LogFactory.getLog(RpcServer.class);<a name="line.164"></a>
-<span class="sourceLineNo">165</span>  private static final CallQueueTooBigException CALL_QUEUE_TOO_BIG_EXCEPTION<a name="line.165"></a>
-<span class="sourceLineNo">166</span>      = new CallQueueTooBigException();<a name="line.166"></a>
-<span class="sourceLineNo">167</span><a name="line.167"></a>
-<span class="sourceLineNo">168</span>  private final boolean authorize;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>  private boolean isSecurityEnabled;<a name="line.169"></a>
-<span class="sourceLineNo">170</span><a name="line.170"></a>
-<span class="sourceLineNo">171</span>  public static final byte CURRENT_VERSION = 0;<a name="line.171"></a>
-<span class="sourceLineNo">172</span><a name="line.172"></a>
-<span class="sourceLineNo">173</span>  /**<a name="line.173"></a>
-<span class="sourceLineNo">174</span>   * Whether we allow a fallback to SIMPLE auth for insecure clients when security is enabled.<a name="line.174"></a>
-<span class="sourceLineNo">175</span>   */<a name="line.175"></a>
-<span class="sourceLineNo">176</span>  public static final String FALLBACK_TO_INSECURE_CLIENT_AUTH =<a name="line.176"></a>
-<span class="sourceLineNo">177</span>          "hbase.ipc.server.fallback-to-simple-auth-allowed";<a name="line.177"></a>
-<span class="sourceLineNo">178</span><a name="line.178"></a>
-<span class="sourceLineNo">179</span>  /**<a name="line.179"></a>
-<span class="sourceLineNo">180</span>   * How many calls/handler are allowed in the queue.<a name="line.180"></a>
-<span class="sourceLineNo">181</span>   */<a name="line.181"></a>
-<span class="sourceLineNo">182</span>  static final int DEFAULT_MAX_CALLQUEUE_LENGTH_PER_HANDLER = 10;<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>   * The maximum size that we can hold in the RPC queue<a name="line.185"></a>
-<span class="sourceLineNo">186</span>   */<a name="line.186"></a>
-<span class="sourceLineNo">187</span>  private static final int DEFAULT_MAX_CALLQUEUE_SIZE = 1024 * 1024 * 1024;<a name="line.187"></a>
-<span class="sourceLineNo">188</span><a name="line.188"></a>
-<span class="sourceLineNo">189</span>  private final IPCUtil ipcUtil;<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span>  private static final String AUTH_FAILED_FOR = "Auth failed for ";<a name="line.191"></a>
-<span class="sourceLineNo">192</span>  private static final String AUTH_SUCCESSFUL_FOR = "Auth successful for ";<a name="line.192"></a>
-<span class="sourceLineNo">193</span>  private static final Log AUDITLOG = LogFactory.getLog("SecurityLogger." +<a name="line.193"></a>
-<span class="sourceLineNo">194</span>    Server.class.getName());<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  protected SecretManager&lt;TokenIdentifier&gt; secretManager;<a name="line.195"></a>
-<span class="sourceLineNo">196</span>  protected ServiceAuthorizationManager authManager;<a name="line.196"></a>
-<span class="sourceLineNo">197</span><a name="line.197"></a>
-<span class="sourceLineNo">198</span>  /** This is set to Call object before Handler invokes an RPC and ybdie<a name="line.198"></a>
-<span class="sourceLineNo">199</span>   * after the call returns.<a name="line.199"></a>
-<span class="sourceLineNo">200</span>   */<a name="line.200"></a>
-<span class="sourceLineNo">201</span>  protected static final ThreadLocal&lt;Call&gt; CurCall = new ThreadLocal&lt;Call&gt;();<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>  /** Keeps MonitoredRPCHandler per handler thread. */<a name="line.203"></a>
-<span class="sourceLineNo">204</span>  static final ThreadLocal&lt;MonitoredRPCHandler&gt; MONITORED_RPC<a name="line.204"></a>
-<span class="sourceLineNo">205</span>      = new ThreadLocal&lt;MonitoredRPCHandler&gt;();<a name="line.205"></a>
-<span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>  protected final InetSocketAddress bindAddress;<a name="line.207"></a>
-<span class="sourceLineNo">208</span>  protected int port;                             // port we listen on<a name="line.208"></a>
-<span class="sourceLineNo">209</span>  protected InetSocketAddress address;            // inet address we listen on<a name="line.209"></a>
-<span class="sourceLineNo">210</span>  private int readThreads;                        // number of read threads<a name="line.210"></a>
-<span class="sourceLineNo">211</span>  protected int maxIdleTime;                      // the maximum idle time after<a name="line.211"></a>
-<span class="sourceLineNo">212</span>                                                  // which a client may be<a name="line.212"></a>
-<span class="sourceLineNo">213</span>                                                  // disconnected<a name="line.213"></a>
-<span class="sourceLineNo">214</span>  protected int thresholdIdleConnections;         // the number of idle<a name="line.214"></a>
-<span class="sourceLineNo">215</span>                                                  // connections after which we<a name="line.215"></a>
-<span class="sourceLineNo">216</span>                                                  // will start cleaning up idle<a name="line.216"></a>
-<span class="sourceLineNo">217</span>                                                  // connections<a name="line.217"></a>
-<span class="sourceLineNo">218</span>  int maxConnectionsToNuke;                       // the max number of<a name="line.218"></a>
-<span class="sourceLineNo">219</span>                                                  // connections to nuke<a name="line.219"></a>
-<span class="sourceLineNo">220</span>                                                  // during a cleanup<a name="line.220"></a>
-<span class="sourceLineNo">221</span><a name="line.221"></a>
-<span class="sourceLineNo">222</span>  protected MetricsHBaseServer metrics;<a name="line.222"></a>
-<span class="sourceLineNo">223</span><a name="line.223"></a>
-<span class="sourceLineNo">224</span>  protected final Configuration conf;<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  private int maxQueueSize;<a name="line.226"></a>
-<span class="sourceLineNo">227</span>  protected int socketSendBufferSize;<a name="line.227"></a>
-<span class="sourceLineNo">228</span>  protected final boolean tcpNoDelay;   // if T then disable Nagle's Algorithm<a name="line.228"></a>
-<span class="sourceLineNo">229</span>  protected final boolean tcpKeepAlive; // if T then use keepalives<a name="line.229"></a>
-<span class="sourceLineNo">230</span>  protected final long purgeTimeout;    // in milliseconds<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>  /**<a name="line.232"></a>
-<span class="sourceLineNo">233</span>   * This flag is used to indicate to sub threads when they should go down.  When we call<a name="line.233"></a>
-<span class="sourceLineNo">234</span>   * {@link #start()}, all threads started will consult this flag on whether they should<a name="line.234"></a>
-<span class="sourceLineNo">235</span>   * keep going.  It is set to false when {@link #stop()} is called.<a name="line.235"></a>
-<span class="sourceLineNo">236</span>   */<a name="line.236"></a>
-<span class="sourceLineNo">237</span>  volatile boolean running = true;<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>   * This flag is set to true after all threads are up and 'running' and the server is then opened<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   * for business by the call to {@link #start()}.<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   */<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  volatile boolean started = false;<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 is a running count of the size of all outstanding calls by size.<a name="line.246"></a>
-<span class="sourceLineNo">247</span>   */<a name="line.247"></a>
-<span class="sourceLineNo">248</span>  protected final Counter callQueueSize = new Counter();<a name="line.248"></a>
-<span class="sourceLineNo">249</span><a name="line.249"></a>
-<span class="sourceLineNo">250</span>  protected final List&lt;Connection&gt; connectionList =<a name="line.250"></a>
-<span class="sourceLineNo">251</span>    Collections.synchronizedList(new LinkedList&lt;Connection&gt;());<a name="line.251"></a>
-<span class="sourceLineNo">252</span>  //maintain a list<a name="line.252"></a>
-<span class="sourceLineNo">253</span>  //of client connections<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  private Listener listener = null;<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  protected Responder responder = null;<a name="line.255"></a>
-<span class="sourceLineNo">256</span>  protected AuthenticationTokenSecretManager authTokenSecretMgr = null;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>  protected int numConnections = 0;<a name="line.257"></a>
-<span class="sourceLineNo">258</span><a name="line.258"></a>
-<span class="sourceLineNo">259</span>  protected HBaseRPCErrorHandler errorHandler = null;<a name="line.259"></a>
-<span class="sourceLineNo">260</span><a name="line.260"></a>
-<span class="sourceLineNo">261</span>  private static final String WARN_RESPONSE_TIME = "hbase.ipc.warn.response.time";<a name="line.261"></a>
-<span class="sourceLineNo">262</span>  private static final String WARN_RESPONSE_SIZE = "hbase.ipc.warn.response.size";<a name="line.262"></a>
-<span class="sourceLineNo">263</span><a name="line.263"></a>
-<span class="sourceLineNo">264</span>  /** Default value for above params */<a name="line.264"></a>
-<span class="sourceLineNo">265</span>  private static final int DEFAULT_WARN_RESPONSE_TIME = 10000; // milliseconds<a name="line.265"></a>
-<span class="sourceLineNo">266</span>  private static final int DEFAULT_WARN_RESPONSE_SIZE = 100 * 1024 * 1024;<a name="line.266"></a>
-<span class="sourceLineNo">267</span><a name="line.267"></a>
-<span class="sourceLineNo">268</span>  private static final ObjectMapper MAPPER = new ObjectMapper();<a name="line.268"></a>
-<span class="sourceLineNo">269</span><a name="line.269"></a>
-<span class="sourceLineNo">270</span>  private final int warnResponseTime;<a name="line.270"></a>
-<span class="sourceLineNo">271</span>  private final int warnResponseSize;<a name="line.271"></a>
-<span class="sourceLineNo">272</span>  private final Server server;<a name="line.272"></a>
-<span class="sourceLineNo">273</span>  private final List&lt;BlockingServiceAndInterface&gt; services;<a name="line.273"></a>
-<span class="sourceLineNo">274</span><a name="line.274"></a>
-<span class="sourceLineNo">275</span>  private final RpcScheduler scheduler;<a name="line.275"></a>
-<span class="sourceLineNo">276</span><a name="line.276"></a>
-<span class="sourceLineNo">277</span>  private UserProvider userProvider;<a name="line.277"></a>
-<span class="sourceLineNo">278</span><a name="line.278"></a>
-<span class="sourceLineNo">279</span>  private final BoundedByteBufferPool reservoir;<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  private volatile boolean allowFallbackToSimpleAuth;<a name="line.281"></a>
-<span class="sourceLineNo">282</span><a name="line.282"></a>
-<span class="sourceLineNo">283</span>  /**<a name="line.283"></a>
-<span class="sourceLineNo">284</span>   * Datastructure that holds all necessary to a method invocation and then afterward, carries<a name="line.284"></a>
-<span class="sourceLineNo">285</span>   * the result.<a name="line.285"></a>
-<span class="sourceLineNo">286</span>   */<a name="line.286"></a>
-<span class="sourceLineNo">287</span>  class Call implements RpcCallContext {<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    protected int id;                             // the client's call id<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    protected BlockingService service;<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    protected MethodDescriptor md;<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    protected RequestHeader header;<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    protected Message param;                      // the parameter passed<a name="line.292"></a>
-<span class="sourceLineNo">293</span>    // Optional cell data passed outside of protobufs.<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    protected CellScanner cellScanner;<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    protected Connection connection;              // connection to client<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    protected long timestamp;      // the time received when response is null<a name="line.296"></a>
-<span class="sourceLineNo">297</span>                                   // the time served when response is not null<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    /**<a name="line.298"></a>
-<span class="sourceLineNo">299</span>     * Chain of buffers to send as response.<a name="line.299"></a>
-<span class="sourceLineNo">300</span>     */<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    protected BufferChain response;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>    protected Responder responder;<a name="line.302"></a>
-<span class="sourceLineNo">303</span><a name="line.303"></a>
-<span class="sourceLineNo">304</span>    protected long size;                          // size of current call<a name="line.304"></a>
-<span class="sourceLineNo">305</span>    protected boolean isError;<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    protected TraceInfo tinfo;<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    private ByteBuffer cellBlock = null;<a name="line.307"></a>
-<span class="sourceLineNo">308</span><a name="line.308"></a>
-<span class="sourceLineNo">309</span>    private User user;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    private InetAddress remoteAddress;<a name="line.310"></a>
-<span class="sourceLineNo">311</span>    private RpcCallback callback;<a name="line.311"></a>
-<span class="sourceLineNo">312</span><a name="line.312"></a>
-<span class="sourceLineNo">313</span>    private long responseCellSize = 0;<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    private long responseBlockSize = 0;<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    private boolean retryImmediatelySupported;<a name="line.315"></a>
-<span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="NP_NULL_ON_SOME_PATH",<a name="line.317"></a>
-<span class="sourceLineNo">318</span>        justification="Can't figure why this complaint is happening... see below")<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    Call(int id, final BlockingService service, final MethodDescriptor md, RequestHeader header,<a name="line.319"></a>
-<span class="sourceLineNo">320</span>         Message param, CellScanner cellScanner, Connection connection, Responder responder,<a name="line.320"></a>
-<span class="sourceLineNo">321</span>         long size, TraceInfo tinfo, final InetAddress remoteAddress) {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>      this.id = id;<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      this.service = service;<a name="line.323"></a>
-<span class="sourceLineNo">324</span>      this.md = md;<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      this.header = header;<a name="line.325"></a>
-<span class="sourceLineNo">326</span>      this.param = param;<a name="line.326"></a>
-<span class="sourceLineNo">327</span>      this.cellScanner = cellScanner;<a name="line.327"></a>
-<span class="sourceLineNo">328</span>      this.connection = connection;<a name="line.328"></a>
-<span class="sourceLineNo">329</span>      this.timestamp = System.currentTimeMillis();<a name="line.329"></a>
-<span class="sourceLineNo">330</span>      this.response = null;<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      this.responder = responder;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>      this.isError = false;<a name="line.332"></a>
-<span class="sourceLineNo">333</span>      this.size = size;<a name="line.333"></a>
-<span class="sourceLineNo">334</span>      this.tinfo = tinfo;<a name="line.334"></a>
-<span class="sourceLineNo">335</span>      this.user = connection == null? null: connection.user; // FindBugs: NP_NULL_ON_SOME_PATH<a name="line.335"></a>
-<span class="sourceLineNo">336</span>      this.remoteAddress = remoteAddress;<a name="line.336"></a>
-<span class="sourceLineNo">337</span>      this.retryImmediatelySupported =<a name="line.337"></a>
-<span class="sourceLineNo">338</span>          connection == null? null: connection.retryImmediatelySupported;<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>     * Call is done. Execution happened and we returned results to client. It is now safe to<a name="line.342"></a>
-<span class="sourceLineNo">343</span>     * cleanup.<a name="line.343"></a>
-<span class="sourceLineNo">344</span>     */<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="IS2_INCONSISTENT_SYNC",<a name="line.345"></a>
-<span class="sourceLineNo">346</span>        justification="Presume the lock on processing request held by caller is protection enough")<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    void done() {<a name="line.347"></a>
-<span class="sourceLineNo">348</span>      if (this.cellBlock != null &amp;&amp; reservoir != null) {<a name="line.348"></a>
-<span class="sourceLineNo">349</span>        // Return buffer to reservoir now we are done with it.<a name="line.349"></a>
-<span class="sourceLineNo">350</span>        reservoir.putBuffer(this.cellBlock);<a name="line.350"></a>
-<span class="sourceLineNo">351</span>        this.cellBlock = null;<a name="line.351"></a>
-<span class="sourceLineNo">352</span>      }<a name="line.352"></a>
-<span class="sourceLineNo">353</span>      this.connection.decRpcCount();  // Say that we're done with this call.<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    }<a name="line.354"></a>
-<span class="sourceLineNo">355</span><a name="line.355"></a>
-<span class="sourceLineNo">356</span>    @Override<a name="line.356"></a>
-<span class="sourceLineNo">357</span>    public String toString() {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>      return toShortString() + " param: " +<a name="line.358"></a>
-<span class="sourceLineNo">359</span>        (this.param != null? ProtobufUtil.getShortTextFormat(this.param): "") +<a name="line.359"></a>
-<span class="sourceLineNo">360</span>        " connection: " + connection.toString();<a name="line.360"></a>
-<span class="sourceLineNo">361</span>    }<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>    protected RequestHeader getHeader() {<a name="line.363"></a>
-<span class="sourceLineNo">364</span>      return this.header;<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>
-<span class="sourceLineNo">368</span>     * Short string representation without param info because param itself could be huge depends on<a name="line.368"></a>
-<span class="sourceLineNo">369</span>     * the payload of a command<a name="line.369"></a>
-<span class="sourceLineNo">370</span>     */<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    String toShortString() {<a name="line.371"></a>
-<span class="sourceLineNo">372</span>      String serviceName = this.connection.service != null ?<a name="line.372"></a>
-<span class="sourceLineNo">373</span>          this.connection.service.getDescriptorForType().getName() : "null";<a name="line.373"></a>
-<span class="sourceLineNo">374</span>      return "callId: " + this.id + " service: " + serviceName +<a name="line.374"></a>
-<span class="sourceLineNo">375</span>          " methodName: " + ((this.md != null) ? this.md.getName() : "n/a") +<a name="line.375"></a>
-<span class="sourceLineNo">376</span>          " size: " + StringUtils.TraditionalBinaryPrefix.long2String(this.size, "", 1) +<a name="line.376"></a>
-<span class="sourceLineNo">377</span>          " connection: " + connection.toString();<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    }<a name="line.378"></a>
-<span class="sourceLineNo">379</span><a name="line.379"></a>
-<span class="sourceLineNo">380</span>    String toTraceString() {<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() : "";<a name="line.382"></a>
-<span class="sourceLineNo">383</span>      String methodName = (this.md != null) ? this.md.getName() : "";<a name="line.383"></a>
-<span class="sourceLineNo">384</span>      return serviceName + "." + methodName;<a name="line.384"></a>
-<span class="sourceLineNo">385</span>    }<a name="line.385"></a>
-<span class="sourceLineNo">386</span><a name="line.386"></a>
-<span class="sourceLineNo">387</span>    protected synchronized void setSaslTokenResponse(ByteBuffer response) {<a name="line.387"></a>
-<span class="sourceLineNo">388</span>      this.response = new BufferChain(response);<a name="line.388"></a>
-<span class="sourceLineNo">389</span>    }<a name="line.389"></a>
-<span class="sourceLineNo">390</span><a name="line.390"></a>
-<span class="sourceLineNo">391</span>    protected synchronized void setResponse(Object m, final CellScanner cells,<a name="line.391"></a>
-<span class="sourceLineNo">392</span>        Throwable t, String errorMsg) {<a name="line.392"></a>
-<span class="sourceLineNo">393</span>      if (this.isError) return;<a name="line.393"></a>
-<span class="sourceLineNo">394</span>      if (t != null) this.isError = true;<a name="line.394"></a>
-<span class="sourceLineNo">395</span>      BufferChain bc = null;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>      try {<a name="line.396"></a>
-<span class="sourceLineNo">397</span>        ResponseHeader.Builder headerBuilder = ResponseHeader.newBuilder();<a name="line.397"></a>
-<span class="sourceLineNo">398</span>        // Presume it a pb Message.  Could be null.<a name="line.398"></a>
-<span class="sourceLineNo">399</span>        Message result = (Message)m;<a name="line.399"></a>
-<span class="sourceLineNo">400</span>        // Call id.<a name="line.400"></a>
-<span class="sourceLineNo">401</span>        headerBuilder.setCallId(this.id);<a name="line.401"></a>
-<span class="sourceLineNo">402</span>        if (t != null) {<a name="line.402"></a>
-<span class="sourceLineNo">403</span>          ExceptionResponse.Builder exceptionBuilder = ExceptionResponse.newBuilder();<a name="line.403"></a>
-<span class="sourceLineNo">404</span>          exceptionBuilder.setExceptionClassName(t.getClass().getName());<a name="line.404"></a>
-<span class="sourceLineNo">405</span>          exceptionBuilder.setStackTrace(errorMsg);<a name="line.405"></a>
-<span class="sourceLineNo">406</span>          exceptionBuilder.setDoNotRetry(t instanceof DoNotRetryIOException);<a name="line.406"></a>
-<span class="sourceLineNo">407</span>          if (t instanceof RegionMovedException) {<a name="line.407"></a>
-<span class="sourceLineNo">408</span>            // Special casing for this exception.  This is only one carrying a payload.<a name="line.408"></a>
-<span class="sourceLineNo">409</span>            // Do this instead of build a generic system for allowing exceptions carry<a name="line.409"></a>
-<span class="sourceLineNo">410</span>            // any kind of payload.<a name="line.410"></a>
-<span class="sourceLineNo">411</span>            RegionMovedException rme = (RegionMovedException)t;<a name="line.411"></a>
-<span class="sourceLineNo">412</span>            exceptionBuilder.setHostname(rme.getHostname());<a name="line.412"></a>
-<span class="sourceLineNo">413</span>            exceptionBuilder.setPort(rme.getPort());<a name="line.413"></a>
-<span class="sourceLineNo">414</span>          }<a name="line.414"></a>
-<span class="sourceLineNo">415</span>          // Set the exception as the result of the method invocation.<a name="line.415"></a>
-<span class="sourceLineNo">416</span>          headerBuilder.setException(exceptionBuilder.build());<a name="line.416"></a>
-<span class="sourceLineNo">417</span>        }<a name="line.417"></a>
-<span class="sourceLineNo">418</span>        // Pass reservoir to buildCellBlock. Keep reference to returne so can add it back to the<a name="line.418"></a>
-<span class="sourceLineNo">419</span>        // reservoir when finished. This is hacky and the hack is not contained but benefits are<a name="line.419"></a>
-<span class="sourceLineNo">420</span>        // high when we can avoid a big buffer allocation on each rpc.<a name="line.420"></a>
-<span class="sourceLineNo">421</span>        this.cellBlock = ipcUtil.buildCellBlock(this.connection.codec,<a name="line.421"></a>
-<span class="sourceLineNo">422</span>          this.connection.compressionCodec, cells, reservoir);<a name="line.422"></a>
-<span class="sourceLineNo">423</span>        if (this.cellBlock != null) {<a name="line.423"></a>
-<span class="sourceLineNo">424</span>          CellBlockMeta.Builder cellBlockBuilder = CellBlockMeta.newBuilder();<a name="line.424"></a>
-<span class="sourceLineNo">425</span>          // Presumes the cellBlock bytebuffer has been flipped so limit has total size in it.<a name="line.425"></a>
-<span class="sourceLineNo">426</span>          cellBlockBuilder.setLength(this.cellBlock.limit());<a name="line.426"></a>
-<span class="sourceLineNo">427</span>          headerBuilder.setCellBlockMeta(cellBlockBuilder.build());<a name="line.427"></a>
-<span class="sourceLineNo">428</span>        }<a name="line.428"></a>
-<span class="sourceLineNo">429</span>        Message header = headerBuilder.build();<a name="line.429"></a>
-<span class="sourceLineNo">430</span><a name="line.430"></a>
-<span class="sourceLineNo">431</span>        // Organize the response as a set of bytebuffers rather than collect it all together inside<a name="line.431"></a>
-<span class="sourceLineNo">432</span>        // one big byte array; save on allocations.<a name="line.432"></a>
-<span class="sourceLineNo">433</span>        ByteBuffer bbHeader = IPCUtil.getDelimitedMessageAsByteBuffer(header);<a name="line.433"></a>
-<span class="sourceLineNo">434</span>        ByteBuffer bbResult = IPCUtil.getDelimitedMessageAsByteBuffer(result);<a name="line.434"></a>
-<span class="sourceLineNo">435</span>        int totalSize = bbHeader.capacity() + (bbResult == null? 0: bbResult.limit()) +<a name="line.435"></a>
-<span class="sourceLineNo">436</span>          (this.cellBlock == null? 0: this.cellBlock.limit());<a name="line.436"></a>
-<span class="sourceLineNo">437</span>        ByteBuffer bbTotalSize = ByteBuffer.wrap(Bytes.toBytes(totalSize));<a name="line.437"></a>
-<span class="sourceLineNo">438</span>        bc = new BufferChain(bbTotalSize, bbHeader, bbResult, this.cellBlock);<a name="line.438"></a>
-<span class="sourceLineNo">439</span>        if (connection.useWrap) {<a name="line.439"></a>
-<span class="sourceLineNo">440</span>          bc = wrapWithSasl(bc);<a name="line.440"></a>
-<span class="sourceLineNo">441</span>        }<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      } catch (IOException e) {<a name="line.442"></a>
-<span class="sourceLineNo">443</span>        LOG.warn("Exception while creating response " + e);<a name="line.443"></a>
-<span class="sourceLineNo">444</span>      }<a name="line.444"></a>
-<span class="sourceLineNo">445</span>      this.response = bc;<a name="line.445"></a>
-<span class="sourceLineNo">446</span>      // Once a response message is created and set to this.response, this Call can be treated as<a name="line.446"></a>
-<span class="sourceLineNo">447</span>      // done. The Responder thread will do the n/w write of this message back to client.<a name="line.447"></a>
-<span class="sourceLineNo">448</span>      if (this.callback != null) {<a name="line.448"></a>
-<span class="sourceLineNo">449</span>        try {<a name="line.449"></a>
-<span class="sourceLineNo">450</span>          this.callback.run();<a name="line.450"></a>
-<span class="sourceLineNo">451</span>        } catch (Exception e) {<a name="line.451"></a>
-<span class="sourceLineNo">452</span>          // Don't allow any exception here to kill this handler thread.<a name="line.452"></a>
-<span class="sourceLineNo">453</span>          LOG.warn("Exception while running the Rpc Callback.", e);<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><a name="line.457"></a>
-<span class="sourceLineNo">458</span>    private BufferChain wrapWithSasl(BufferChain bc)<a name="line.458"></a>
-<span class="sourceLineNo">459</span>        throws IOException {<a name="line.459"></a>
-<span class="sourceLineNo">460</span>      if (!this.connection.useSasl) return bc;<a name="line.460"></a>
-<span class="sourceLineNo">461</span>      // Looks like no way around this; saslserver wants a byte array.  I have to make it one.<a name="line.461"></a>
-<span class="sourceLineNo">462</span>      // THIS IS A BIG UGLY COPY.<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      byte [] responseBytes = bc.getBytes();<a name="line.463"></a>
-<span class="sourceLineNo">464</span>      byte [] token;<a name="line.464"></a>
-<span class="sourceLineNo">465</span>      // synchronization may be needed since there can be multiple Handler<a name="line.465"></a>
-<span class="sourceLineNo">466</span>      // threads using saslServer to wrap responses.<a name="line.466"></a>
-<span class="sourceLineNo">467</span>      synchronized (connection.saslServer) {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>        token = connection.saslServer.wrap(responseBytes, 0, responseBytes.length);<a name="line.468"></a>
-<span class="sourceLineNo">469</span>      }<a name="line.469"></a>
-<span class="sourceLineNo">470</span>      if (LOG.isTraceEnabled()) {<a name="line.470"></a>
-<span class="sourceLineNo">471</span>        LOG.trace("Adding saslServer wrapped token of size " + token.length<a name="line.471"></a>
-<span class="sourceLineNo">472</span>            + " as call response.");<a name="line.472"></a>
-<span class="sourceLineNo">473</span>      }<a name="line.473"></a>
-<span class="sourceLineNo">474</span><a name="line.474"></a>
-<span class="sourceLineNo">475</span>      ByteBuffer bbTokenLength = ByteBuffer.wrap(Bytes.toBytes(token.length));<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      ByteBuffer bbTokenBytes = ByteBuffer.wrap(token);<a name="line.476"></a>
-<span class="sourceLineNo">477</span>      return new BufferChain(bbTokenLength, bbTokenBytes);<a name="line.477"></a>
-<span class="sourceLineNo">478</span>    }<a name="line.478"></a>
-<span class="sourceLineNo">479</span><a name="line.479"></a>
-<span class="sourceLineNo">480</span>    @Override<a name="line.480"></a>
-<span class="sourceLineNo">481</span>    public boolean isClientCellBlockSupported() {<a name="line.481"></a>
-<span class="sourceLineNo">482</span>      return this.connection != null &amp;&amp; this.connection.codec != null;<a name="line.482"></a>
-<span class="sourceLineNo">483</span>    }<a name="line.483"></a>
-<span class="sourceLineNo">484</span><a name="line.484"></a>
-<span class="sourceLineNo">485</span>    @Override<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    public long disconnectSince() {<a name="line.486"></a>
-<span class="sourceLineNo">487</span>      if (!connection.channel.isOpen()) {<a name="line.487"></a>
-<span class="sourceLineNo">488</span>        return System.currentTimeMillis() - timestamp;<a name="line.488"></a>
-<span class="sourceLineNo">489</span>      } else {<a name="line.489"></a>
-<span class="sourceLineNo">490</span>        return -1L;<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><a name="line.493"></a>
-<span class="sourceLineNo">494</span>    public long getSize() {<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      return this.size;<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    }<a name="line.496"></a>
-<span class="sourceLineNo">497</span><a name="line.497"></a>
-<span class="sourceLineNo">498</span>    public long getResponseCellSize() {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>      return responseCellSize;<a name="line.499"></a>
-<span class="sourceLineNo">500</span>    }<a name="line.500"></a>
-<span class="sourceLineNo">501</span><a name="line.501"></a>
-<span class="sourceLineNo">502</span>    public void incrementResponseCellSize(long cellSize) {<a name="line.502"></a>
-<span class="sourceLineNo">503</span>      responseCellSize += cellSize;<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 long getResponseBlockSize() {<a name="line.507"></a>
-<span class="sourceLineNo">508</span>      return responseBlockSize;<a name="line.508"></a>
-<span class="sourceLineNo">509</span>    }<a name="line.509"></a>
-<span class="sourceLineNo">510</span><a name="line.510"></a>
-<span class="sourceLineNo">511</span>    @Override<a name="line.511"></a>
-<span class="sourceLineNo">512</span>    public void incrementResponseBlockSize(long blockSize) {<a name="line.512"></a>
-<span class="sourceLineNo">513</span>      responseBlockSize += blockSize;<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>    public synchronized void sendResponseIfReady() throws IOException {<a name="line.516"></a>
-<span class="sourceLineNo">517</span>      this.responder.doRespond(this);<a name="line.517"></a>
-<span class="sourceLineNo">518</span>    }<a name="line.518"></a>
-<span class="sourceLineNo">519</span><a name="line.519"></a>
-<span class="sourceLineNo">520</span>    public UserGroupInformation getRemoteUser() {<a name="line.520"></a>
-<span class="sourceLineNo">521</span>      return connection.ugi;<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 User getRequestUser() {<a name="line.525"></a>
-<span class="sourceLineNo">526</span>      return user;<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 String getRequestUserName() {<a name="line.530"></a>
-<span class="sourceLineNo">531</span>      User user = getRequestUser();<a name="line.531"></a>
-<span class="sourceLineNo">532</span>      return user == null? null: user.getShortName();<a name="line.532"></a>
-<span class="sourceLineNo">533</span>    }<a name="line.533"></a>
-<span class="sourceLineNo">534</span><a name="line.534"></a>
-<span class="sourceLineNo">535</span>    @Override<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    public InetAddress getRemoteAddress() {<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      return remoteAddress;<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    }<a name="line.538"></a>
-<span class="sourceLineNo">539</span><a name="line.539"></a>
-<span class="sourceLineNo">540</span>    @Override<a name="line.540"></a>
-<span class="sourceLineNo">541</span>    public VersionInfo getClientVersionInfo() {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>      return connection.getVersionInfo();<a name="line.542"></a>
-<span class="sourceLineNo">543</span>    }<a name="line.543"></a>
-<span class="sourceLineNo">544</span><a name="line.544"></a>
-<span class="sourceLineNo">545</span>    @Override<a name="line.545"></a>
-<span class="sourceLineNo">546</span>    public synchronized void setCallBack(RpcCallback callback) {<a name="line.546"></a>
-<span class="sourceLineNo">547</span>      this.callback = callback;<a name="line.547"></a>
-<span class="sourceLineNo">548</span>    }<a name="line.548"></a>
-<span class="sourceLineNo">549</span><a name="line.549"></a>
-<span class="sourceLineNo">550</span>    @Override<a name="line.550"></a>
-<span class="sourceLineNo">551</span>    public boolean isRetryImmediatelySupported() {<a name="line.551"></a>
-<span class="sourceLineNo">552</span>      return retryImmediatelySupported;<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><a name="line.555"></a>
-<span class="sourceLineNo">556</span>  /** Listens on the socket. Creates jobs for the handler threads*/<a name="line.556"></a>
-<span class="sourceLineNo">557</span>  private class Listener extends Thread {<a name="line.557"></a>
-<span class="sourceLineNo">558</span><a name="line.558"></a>
-<span class="sourceLineNo">559</span>    private ServerSocketChannel acceptChannel = null; //the accept channel<a name="line.559"></a>
-<span class="sourceLineNo">560</span>    private Selector selector = null; //the selector that we use for the server<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    private Reader[] readers = null;<a name="line.561"></a>
-<span class="sourceLineNo">562</span>    private int currentReader = 0;<a name="line.562"></a>
-<span class="sourceLineNo">563</span>    private Random rand = new Random();<a name="line.563"></a>
-<span class="sourceLineNo">564</span>    private long lastCleanupRunTime = 0; //the last time when a cleanup connec-<a name="line.564"></a>
-<span class="sourceLineNo">565</span>                                         //-tion (for idle connections) ran<a name="line.565"></a>
-<span class="sourceLineNo">566</span>    private long cleanupInterval = 10000; //the minimum interval between<a name="line.566"></a>
-<span class="sourceLineNo">567</span>                                          //two cleanup runs<a name="line.567"></a>
-<span class="sourceLineNo">568</span>    private int backlogLength;<a name="line.568"></a>
-<span class="sourceLineNo">569</span><a name="line.569"></a>
-<span class="sourceLineNo">570</span>    private ExecutorService readPool;<a name="line.570"></a>
-<span class="sourceLineNo">571</span><a name="line.571"></a>
-<span class="sourceLineNo">572</span>    public Listener(final String name) throws IOException {<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      super(name);<a name="line.573"></a>
-<span class="sourceLineNo">574</span>      backlogLength = conf.getInt("hbase.ipc.server.listen.queue.size", 128);<a name="line.574"></a>
-<span class="sourceLineNo">575</span>      // Create a new server socket and set to non blocking mode<a name="line.575"></a>
-<span class="sourceLineNo">576</span>      acceptChannel = ServerSocketChannel.open();<a name="line.576"></a>
-<span class="sourceLineNo">577</span>      acceptChannel.configureBlocking(false);<a name="line.577"></a>
-<span class="sourceLineNo">578</span><a name="line.578"></a>
-<span class="sourceLineNo">579</span>      // Bind the server socket to the binding addrees (can be different from the default interface)<a name="line.579"></a>
-<span class="sourceLineNo">580</span>      bind(acceptChannel.socket(), bindAddress, backlogLength);<a name="line.580"></a>
-<span class="sourceLineNo">581</span>      port = acceptChannel.socket().getLocalPort(); //Could be an ephemeral port<a name="line.581"></a>
-<span class="sourceLineNo">582</span>      address = (InetSocketAddress)acceptChannel.socket().getLocalSocketAddress();<a name="line.582"></a>
-<span class="sourceLineNo">583</span>      // create a selector;<a name="line.583"></a>
-<span class="sourceLineNo">584</span>      selector= Selector.open();<a name="line.584"></a>
-<span class="sourceLineNo">585</span><a name="line.585"></a>
-<span class="sourceLineNo">586</span>      readers = new Reader[readThreads];<a name="line.586"></a>
-<span class="sourceLineNo">587</span>      readPool = Executors.newFixedThreadPool(readThreads,<a name="line.587"></a>
-<span class="sourceLineNo">588</span>        new ThreadFactoryBuilder().setNameFormat(<a name="line.588"></a>
-<span class="sourceLineNo">589</span>          "RpcServer.reader=%d,bindAddress=" + bindAddress.getHostName() +<a name="line.589"></a>
-<span class="sourceLineNo">590</span>          ",port=" + port).setDaemon(true).build());<a name="line.590"></a>
-<span class="sourceLineNo">591</span>      for (int i = 0; i &lt; readThreads; ++i) {<a name="line.591"></a>
-<span class="sourceLineNo">592</span>        Reader reader = new Reader();<a name="line.592"></a>
-<span class="sourceLineNo">593</span>        readers[i] = reader;<a name="line.593"></a>
-<span class="sourceLineNo">594</span>        readPool.execute(reader);<a name="line.594"></a>
-<span class="sourceLineNo">595</span>      }<a name="line.595"></a>
-<span class="sourceLineNo">596</span>      LOG.info(getName() + ": started " + readThreads + " reader(s) listening on port=" + port);<a name="line.596"></a>
-<span class="sourceLineNo">597</span><a name="line.597"></a>
-<span class="sourceLineNo">598</span>      // Register accepts on the server socket with the selector.<a name="line.598"></a>
-<span class="sourceLineNo">599</span>      acceptChannel.register(selector, SelectionKey.OP_ACCEPT);<a name="line.599"></a>
-<span class="sourceLineNo">600</span>      this.setName("RpcServer.listener,port=" + port);<a name="line.600"></a>
-<span class="sourceLineNo">601</span>      this.setDaemon(true);<a name="line.601"></a>
-<span class="sourceLineNo">602</span>    }<a name="line.602"></a>
+<span class="sourceLineNo">130</span><a name="line.130"></a>
+<span class="sourceLineNo">131</span>import com.google.common.util.concurrent.ThreadFactoryBuilder;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import com.google.protobuf.BlockingService;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import com.google.protobuf.CodedInputStream;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import com.google.protobuf.Descriptors.MethodDescriptor;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import com.google.protobuf.Message;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import com.google.protobuf.ServiceException;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import com.google.protobuf.TextFormat;<a name="line.137"></a>
+<span class="sourceLineNo">138</span><a name="line.138"></a>
+<span class="sourceLineNo">139</span>/**<a name="line.139"></a>
+<span class="sourceLineNo">140</span> * An RPC server that hosts protobuf described Services.<a name="line.140"></a>
+<span class="sourceLineNo">141</span> *<a name="line.141"></a>
+<span class="sourceLineNo">142</span> * An RpcServer instance has a Listener that hosts the socket.  Listener has fixed number<a name="line.142"></a>
+<span class="sourceLineNo">143</span> * of Readers in an ExecutorPool, 10 by default.  The Listener does an accept and then<a name="line.143"></a>
+<span class="sourceLineNo">144</span> * round robin a Reader is chosen to do the read.  The reader is registered on Selector.  Read does<a name="line.144"></a>
+<span class="sourceLineNo">145</span> * total read off the channel and the parse from which it makes a Call.  The call is wrapped in a<a name="line.145"></a>
+<span class="sourceLineNo">146</span> * CallRunner and passed to the scheduler to be run.  Reader goes back to see if more to be done<a name="line.146"></a>
+<span class="sourceLineNo">147</span> * and loops till done.<a name="line.147"></a>
+<span class="sourceLineNo">148</span> *<a name="line.148"></a>
+<span class="sourceLineNo">149</span> * &lt;p&gt;Scheduler can be variously implemented but default simple scheduler has handlers to which it<a name="line.149"></a>
+<span class="sourceLineNo">150</span> * has given the queues into which calls (i.e. CallRunner instances) are inserted.  Handlers run<a name="line.150"></a>
+<span class="sourceLineNo">151</span> * taking from the queue.  They run the CallRunner#run method on each item gotten from queue<a name="line.151"></a>
+<span class="sourceLineNo">152</span> * and keep taking while the server is up.<a name="line.152"></a>
+<span class="sourceLineNo">153</span> *<a name="line.153"></a>
+<span class="sourceLineNo">154</span> * CallRunner#run executes the call.  When done, asks the included Call to put itself on new<a name="line.154"></a>
+<span class="sourceLineNo">155</span> * queue for Responder to pull from and return result to client.<a name="line.155"></a>
+<span class="sourceLineNo">156</span> *<a name="line.156"></a>
+<span class="sourceLineNo">157</span> * @see RpcClientImpl<a name="line.157"></a>
+<span class="sourceLineNo">158</span> */<a name="line.158"></a>
+<span class="sourceLineNo">159</span>@InterfaceAudience.LimitedPrivate({HBaseInterfaceAudience.COPROC, HBaseInterfaceAudience.PHOENIX})<a name="line.159"></a>
+<span class="sourceLineNo">160</span>@InterfaceStability.Evolving<a name="line.160"></a>
+<span class="sourceLineNo">161</span>public class RpcServer implements RpcServerInterface, ConfigurationObserver {<a name="line.161"></a>
+<span class="sourceLineNo">162</span>  // LOG is being used in CallRunner and the log level is being changed in tests<a name="line.162"></a>
+<span class="sourceLineNo">163</span>  public static final Log LOG = LogFactory.getLog(RpcServer.class);<a name="line.163"></a>
+<span class="sourceLineNo">164</span>  private static final CallQueueTooBigException CALL_QUEUE_TOO_BIG_EXCEPTION<a name="line.164"></a>
+<span class="sourceLineNo">165</span>      = new CallQueueTooBigException();<a name="line.165"></a>
+<span class="sourceLineNo">166</span><a name="line.166"></a>
+<span class="sourceLineNo">167</span>  private final boolean authorize;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>  private boolean isSecurityEnabled;<a name="line.168"></a>
+<span class="sourceLineNo">169</span><a name="line.169"></a>
+<span class="sourceLineNo">170</span>  public static final byte CURRENT_VERSION = 0;<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>   * Whether we allow a fallback to SIMPLE auth for insecure clients when security is enabled.<a name="line.173"></a>
+<span class="sourceLineNo">174</span>   */<a name="line.174"></a>
+<span class="sourceLineNo">175</span>  public static final String FALLBACK_TO_INSECURE_CLIENT_AUTH =<a name="line.175"></a>
+<span class="sourceLineNo">176</span>          "hbase.ipc.server.fallback-to-simple-auth-allowed";<a name="line.176"></a>
+<span class="sourceLineNo">177</span><a name="line.177"></a>
+<span class="sourceLineNo">178</span>  /**<a name="line.178"></a>
+<span class="sourceLineNo">179</span>   * How many calls/handler are allowed in the queue.<a name="line.179"></a>
+<span class="sourceLineNo">180</span>   */<a name="line.180"></a>
+<span class="sourceLineNo">181</span>  static final int DEFAULT_MAX_CALLQUEUE_LENGTH_PER_HANDLER = 10;<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>   * The maximum size that we can hold in the RPC queue<a name="line.184"></a>
+<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 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 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>  /** 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 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 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 final RpcScheduler scheduler;<a name="line.274"></a>
+<span class="sourceLineNo">275</span><a name="line.275"></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"

<TRUNCATED>

[28/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html
index 7bd9585..1520bd0 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html
@@ -107,7 +107,7 @@
 </dl>
 <hr>
 <br>
-<pre> class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5519">HRegion.RegionScannerImpl</a>
+<pre> class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5525">HRegion.RegionScannerImpl</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/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallback</a></pre>
 <div class="block">RegionScannerImpl is used to combine scanners from multiple Stores (aka column families).</div>
@@ -411,7 +411,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>storeHeap</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueHeap.html" title="class in org.apache.hadoop.hbase.regionserver">KeyValueHeap</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5521">storeHeap</a></pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueHeap.html" title="class in org.apache.hadoop.hbase.regionserver">KeyValueHeap</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5527">storeHeap</a></pre>
 </li>
 </ul>
 <a name="joinedHeap">
@@ -420,7 +420,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>joinedHeap</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueHeap.html" title="class in org.apache.hadoop.hbase.regionserver">KeyValueHeap</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5524">joinedHeap</a></pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueHeap.html" title="class in org.apache.hadoop.hbase.regionserver">KeyValueHeap</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5530">joinedHeap</a></pre>
 <div class="block">Heap of key-values that are not essential for the provided filters and are thus read
  on demand, if on-demand column family loading is enabled.</div>
 </li>
@@ -431,7 +431,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>joinedContinuationRow</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5528">joinedContinuationRow</a></pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5534">joinedContinuationRow</a></pre>
 <div class="block">If the joined heap data gathering is interrupted due to scan limits, this will
  contain the row for which we are populating the values.</div>
 </li>
@@ -442,7 +442,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>filterClosed</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5529">filterClosed</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5535">filterClosed</a></pre>
 </li>
 </ul>
 <a name="isScan">
@@ -451,7 +451,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>isScan</h4>
-<pre>protected final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5531">isScan</a></pre>
+<pre>protected final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5537">isScan</a></pre>
 </li>
 </ul>
 <a name="stopRow">
@@ -460,7 +460,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>stopRow</h4>
-<pre>protected final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5532">stopRow</a></pre>
+<pre>protected final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5538">stopRow</a></pre>
 </li>
 </ul>
 <a name="region">
@@ -469,7 +469,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>region</h4>
-<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5533">region</a></pre>
+<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5539">region</a></pre>
 </li>
 </ul>
 <a name="comparator">
@@ -478,7 +478,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>comparator</h4>
-<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/CellComparator.html" title="class in org.apache.hadoop.hbase">CellComparator</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5534">comparator</a></pre>
+<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/CellComparator.html" title="class in org.apache.hadoop.hbase">CellComparator</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5540">comparator</a></pre>
 </li>
 </ul>
 <a name="copyCellsFromSharedMem">
@@ -487,7 +487,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>copyCellsFromSharedMem</h4>
-<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5535">copyCellsFromSharedMem</a></pre>
+<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5541">copyCellsFromSharedMem</a></pre>
 </li>
 </ul>
 <a name="readPt">
@@ -496,7 +496,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>readPt</h4>
-<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5537">readPt</a></pre>
+<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5543">readPt</a></pre>
 </li>
 </ul>
 <a name="maxResultSize">
@@ -505,7 +505,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>maxResultSize</h4>
-<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5538">maxResultSize</a></pre>
+<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5544">maxResultSize</a></pre>
 </li>
 </ul>
 <a name="defaultScannerContext">
@@ -514,7 +514,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>defaultScannerContext</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5539">defaultScannerContext</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5545">defaultScannerContext</a></pre>
 </li>
 </ul>
 <a name="filter">
@@ -523,7 +523,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockListLast">
 <li class="blockList">
 <h4>filter</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FilterWrapper.html" title="class in org.apache.hadoop.hbase.filter">FilterWrapper</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5540">filter</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FilterWrapper.html" title="class in org.apache.hadoop.hbase.filter">FilterWrapper</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5546">filter</a></pre>
 </li>
 </ul>
 </li>
@@ -540,7 +540,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HRegion.RegionScannerImpl</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5551">HRegion.RegionScannerImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5557">HRegion.RegionScannerImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
                          <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/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;additionalScanners,
                          <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;region,
                          boolean&nbsp;copyCellsFromSharedMem)
@@ -563,7 +563,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionInfo</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5543">getRegionInfo</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5549">getRegionInfo</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html#getRegionInfo()">getRegionInfo</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a></code></dd>
@@ -576,7 +576,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>setCopyCellsFromSharedMem</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5547">setCopyCellsFromSharedMem</a>(boolean&nbsp;copyCells)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5553">setCopyCellsFromSharedMem</a>(boolean&nbsp;copyCells)</pre>
 </li>
 </ul>
 <a name="initializeKVHeap(java.util.List, java.util.List, org.apache.hadoop.hbase.regionserver.HRegion)">
@@ -585,7 +585,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>initializeKVHeap</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5614">initializeKVHeap</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/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;scanners,
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5620">initializeKVHeap</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/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;scanners,
                     <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/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;joinedScanners,
                     <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;region)
                          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>
@@ -599,7 +599,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>getMaxResultSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5624">getMaxResultSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5630">getMaxResultSize</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html#getMaxResultSize()">getMaxResultSize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a></code></dd>
@@ -613,7 +613,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>getMvccReadPoint</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5629">getMvccReadPoint</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5635">getMvccReadPoint</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html#getMvccReadPoint()">getMvccReadPoint</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a></code></dd>
@@ -626,7 +626,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>getBatch</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5634">getBatch</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5640">getBatch</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html#getBatch()">getBatch</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a></code></dd>
@@ -640,7 +640,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>resetFilters</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5643">resetFilters</a>()
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5649">resetFilters</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">Reset both the filter and the old filter.</div>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -653,7 +653,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>next</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5650">next</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/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;outResults)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5656">next</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/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;outResults)
              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/regionserver/InternalScanner.html#next(java.util.List)">InternalScanner</a></code></strong></div>
 <div class="block">Grab the next row's worth of values.</div>
@@ -672,7 +672,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>next</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5657">next</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/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;outResults,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5663">next</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/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;outResults,
            <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a>&nbsp;scannerContext)
              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/regionserver/InternalScanner.html#next(java.util.List,%20org.apache.hadoop.hbase.regionserver.ScannerContext)">InternalScanner</a></code></strong></div>
@@ -692,7 +692,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>nextRaw</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5674">nextRaw</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/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;outResults)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5680">nextRaw</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/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;outResults)
                 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/regionserver/RegionScanner.html#nextRaw(java.util.List)">RegionScanner</a></code></strong></div>
 <div class="block">Grab the next row's worth of values. This is a special internal method to be called from
@@ -714,7 +714,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>nextRaw</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5680">nextRaw</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/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;outResults,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5686">nextRaw</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/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;outResults,
               <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a>&nbsp;scannerContext)
                 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/regionserver/RegionScanner.html#nextRaw(java.util.List,%20org.apache.hadoop.hbase.regionserver.ScannerContext)">RegionScanner</a></code></strong></div>
@@ -756,7 +756,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>populateFromJoinedHeap</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5735">populateFromJoinedHeap</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/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;results,
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5741">populateFromJoinedHeap</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/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;results,
                              <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a>&nbsp;scannerContext)
                                 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">Returns:</span></dt><dd>true if more cells exist after this batch, false if scanner is done</dd>
@@ -770,7 +770,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>populateResult</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5759">populateResult</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/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;results,
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5765">populateResult</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/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;results,
                      <a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueHeap.html" title="class in org.apache.hadoop.hbase.regionserver">KeyValueHeap</a>&nbsp;heap,
                      <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a>&nbsp;scannerContext,
                      <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentRowCell)
@@ -789,7 +789,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>moreCellsInRow</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5804">moreCellsInRow</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;nextKv,
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5810">moreCellsInRow</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;nextKv,
                      <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentRowCell)</pre>
 <div class="block">Based on the nextKv in the heap, and the current row, decide whether or not there are more
  cells to be read in the heap. If the row of the nextKv in the heap matches the current row
@@ -804,7 +804,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>isFilterDone</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5812">isFilterDone</a>()
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5818">isFilterDone</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><strong>Specified by:</strong></dt>
@@ -820,7 +820,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>isFilterDoneInternal</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5816">isFilterDoneInternal</a>()
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5822">isFilterDoneInternal</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>
@@ -832,7 +832,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>nextInternal</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5820">nextInternal</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/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;results,
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5826">nextInternal</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/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;results,
                    <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a>&nbsp;scannerContext)
                       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>
@@ -845,7 +845,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>incrementCountOfRowsFilteredMetric</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6019">incrementCountOfRowsFilteredMetric</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a>&nbsp;scannerContext)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6025">incrementCountOfRowsFilteredMetric</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a>&nbsp;scannerContext)</pre>
 </li>
 </ul>
 <a name="incrementCountOfRowsScannedMetric(org.apache.hadoop.hbase.regionserver.ScannerContext)">
@@ -854,7 +854,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>incrementCountOfRowsScannedMetric</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6025">incrementCountOfRowsScannedMetric</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a>&nbsp;scannerContext)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6031">incrementCountOfRowsScannedMetric</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a>&nbsp;scannerContext)</pre>
 </li>
 </ul>
 <a name="joinedHeapMayHaveData(org.apache.hadoop.hbase.Cell)">
@@ -863,7 +863,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>joinedHeapMayHaveData</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6036">joinedHeapMayHaveData</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentRowCell)
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6042">joinedHeapMayHaveData</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentRowCell)
                                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">Parameters:</span></dt><dd><code>currentRowCell</code> - </dd>
 <dt><span class="strong">Returns:</span></dt><dd>true when the joined heap may have data for the current row</dd>
@@ -877,7 +877,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRow</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6063">filterRow</a>()
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6069">filterRow</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">This function is to maintain backward compatibility for 0.94 filters. HBASE-6429 combines
  both filterRow & filterRow(<code>List&lt;KeyValue&gt; kvs</code>) functions. While 0.94 code or older,
@@ -894,7 +894,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6070">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;current)
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6076">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;current)
                       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>
@@ -906,7 +906,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>nextRow</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6074">nextRow</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a>&nbsp;scannerContext,
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6080">nextRow</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a>&nbsp;scannerContext,
               <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;curRowCell)
                    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>
@@ -919,7 +919,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>isStopRow</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6089">isStopRow</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentRowCell)</pre>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6095">isStopRow</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentRowCell)</pre>
 </li>
 </ul>
 <a name="close()">
@@ -928,7 +928,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>close</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6095">close</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6101">close</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html#close()">InternalScanner</a></code></strong></div>
 <div class="block">Closes the scanner and releases any resources it has allocated</div>
 <dl>
@@ -947,7 +947,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>getStoreHeapForTesting</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueHeap.html" title="class in org.apache.hadoop.hbase.regionserver">KeyValueHeap</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6109">getStoreHeapForTesting</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueHeap.html" title="class in org.apache.hadoop.hbase.regionserver">KeyValueHeap</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6115">getStoreHeapForTesting</a>()</pre>
 </li>
 </ul>
 <a name="reseek(byte[])">
@@ -956,7 +956,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>reseek</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6114">reseek</a>(byte[]&nbsp;row)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6120">reseek</a>(byte[]&nbsp;row)
                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/regionserver/RegionScanner.html#reseek(byte[])">RegionScanner</a></code></strong></div>
 <div class="block">Do a reseek to the required row. Should not be used to seek to a key which
@@ -975,7 +975,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>handleFileNotFound</h4>
-<pre>private&nbsp;<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>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6135">handleFileNotFound</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/FileNotFoundException.html?is-external=true" title="class or interface in java.io">FileNotFoundException</a>&nbsp;fnfe)
+<pre>private&nbsp;<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>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6141">handleFileNotFound</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/FileNotFoundException.html?is-external=true" title="class or interface in java.io">FileNotFoundException</a>&nbsp;fnfe)
                                 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>
@@ -987,7 +987,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>abortRegionServer</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6150">abortRegionServer</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;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6156">abortRegionServer</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>
@@ -999,7 +999,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>shipped</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6158">shipped</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6164">shipped</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/regionserver/Shipper.html#shipped()">Shipper</a></code></strong></div>
 <div class="block">Called after a batch of rows scanned and set to be returned to client. Any in between cleanup
@@ -1017,7 +1017,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockListLast">
 <li class="blockList">
 <h4>run</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6168">run</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6174">run</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/RpcCallback.html#run()">RpcCallback</a></code></strong></div>
 <div class="block">Called at the end of an Rpc Call <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html" title="interface in org.apache.hadoop.hbase.ipc"><code>RpcCallContext</code></a></div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatch.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatch.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatch.html
index 65e0301..926ebc4 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatch.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatch.html
@@ -104,7 +104,7 @@
 </dl>
 <hr>
 <br>
-<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2811">HRegion.ReplayBatch</a>
+<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2817">HRegion.ReplayBatch</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WALSplitter.MutationReplay.html" title="class in org.apache.hadoop.hbase.wal">WALSplitter.MutationReplay</a>&gt;</pre>
 </li>
 </ul>
@@ -229,7 +229,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockListLast">
 <li class="blockList">
 <h4>replaySeqId</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatch.html#line.2812">replaySeqId</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatch.html#line.2818">replaySeqId</a></pre>
 </li>
 </ul>
 </li>
@@ -246,7 +246,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HRegion.ReplayBatch</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatch.html#line.2813">HRegion.ReplayBatch</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALSplitter.MutationReplay.html" title="class in org.apache.hadoop.hbase.wal">WALSplitter.MutationReplay</a>[]&nbsp;operations,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatch.html#line.2819">HRegion.ReplayBatch</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALSplitter.MutationReplay.html" title="class in org.apache.hadoop.hbase.wal">WALSplitter.MutationReplay</a>[]&nbsp;operations,
                    long&nbsp;seqId)</pre>
 </li>
 </ul>
@@ -264,7 +264,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>getMutation</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatch.html#line.2819">getMutation</a>(int&nbsp;index)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatch.html#line.2825">getMutation</a>(int&nbsp;index)</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#getMutation(int)">getMutation</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WALSplitter.MutationReplay.html" title="class in org.apache.hadoop.hbase.wal">WALSplitter.MutationReplay</a>&gt;</code></dd>
@@ -277,7 +277,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>getNonceGroup</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatch.html#line.2824">getNonceGroup</a>(int&nbsp;index)</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatch.html#line.2830">getNonceGroup</a>(int&nbsp;index)</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#getNonceGroup(int)">getNonceGroup</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WALSplitter.MutationReplay.html" title="class in org.apache.hadoop.hbase.wal">WALSplitter.MutationReplay</a>&gt;</code></dd>
@@ -290,7 +290,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>getNonce</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatch.html#line.2829">getNonce</a>(int&nbsp;index)</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatch.html#line.2835">getNonce</a>(int&nbsp;index)</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#getNonce(int)">getNonce</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WALSplitter.MutationReplay.html" title="class in org.apache.hadoop.hbase.wal">WALSplitter.MutationReplay</a>&gt;</code></dd>
@@ -303,7 +303,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>getMutationsForCoprocs</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatch.html#line.2834">getMutationsForCoprocs</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatch.html#line.2840">getMutationsForCoprocs</a>()</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#getMutationsForCoprocs()">HRegion.BatchOperationInProgress</a></code></strong></div>
 <div class="block">This method is potentially expensive and should only be used for non-replay CP path.</div>
 <dl>
@@ -318,7 +318,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>isInReplay</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatch.html#line.2840">isInReplay</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatch.html#line.2846">isInReplay</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#isInReplay()">isInReplay</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WALSplitter.MutationReplay.html" title="class in org.apache.hadoop.hbase.wal">WALSplitter.MutationReplay</a>&gt;</code></dd>
@@ -331,7 +331,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getReplaySequenceId</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatch.html#line.2845">getReplaySequenceId</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatch.html#line.2851">getReplaySequenceId</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#getReplaySequenceId()">getReplaySequenceId</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WALSplitter.MutationReplay.html" title="class in org.apache.hadoop.hbase.wal">WALSplitter.MutationReplay</a>&gt;</code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html
index 1a02d65..cc15335 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html
@@ -99,7 +99,7 @@
 </dl>
 <hr>
 <br>
-<pre> class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5251">HRegion.RowLockContext</a>
+<pre> class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5257">HRegion.RowLockContext</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>
@@ -219,7 +219,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>row</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HashedBytes.html" title="class in org.apache.hadoop.hbase.util">HashedBytes</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5252">row</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HashedBytes.html" title="class in org.apache.hadoop.hbase.util">HashedBytes</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5258">row</a></pre>
 </li>
 </ul>
 <a name="readWriteLock">
@@ -228,7 +228,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>readWriteLock</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/ReadWriteLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReadWriteLock</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5253">readWriteLock</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/ReadWriteLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReadWriteLock</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5259">readWriteLock</a></pre>
 </li>
 </ul>
 <a name="usable">
@@ -237,7 +237,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>usable</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5254">usable</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5260">usable</a></pre>
 </li>
 </ul>
 <a name="count">
@@ -246,7 +246,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>count</h4>
-<pre>final&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/regionserver/HRegion.RowLockContext.html#line.5255">count</a></pre>
+<pre>final&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/regionserver/HRegion.RowLockContext.html#line.5261">count</a></pre>
 </li>
 </ul>
 <a name="lock">
@@ -255,7 +255,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>lock</h4>
-<pre>final&nbsp;<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> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5256">lock</a></pre>
+<pre>final&nbsp;<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> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5262">lock</a></pre>
 </li>
 </ul>
 </li>
@@ -272,7 +272,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HRegion.RowLockContext</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5258">HRegion.RowLockContext</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HashedBytes.html" title="class in org.apache.hadoop.hbase.util">HashedBytes</a>&nbsp;row)</pre>
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5264">HRegion.RowLockContext</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HashedBytes.html" title="class in org.apache.hadoop.hbase.util">HashedBytes</a>&nbsp;row)</pre>
 </li>
 </ul>
 </li>
@@ -289,7 +289,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>newWriteLock</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockImpl</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5262">newWriteLock</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockImpl</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5268">newWriteLock</a>()</pre>
 </li>
 </ul>
 <a name="newReadLock()">
@@ -298,7 +298,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>newReadLock</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockImpl</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5266">newReadLock</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockImpl</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5272">newReadLock</a>()</pre>
 </li>
 </ul>
 <a name="getRowLock(java.util.concurrent.locks.Lock)">
@@ -307,7 +307,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getRowLock</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockImpl</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5271">getRowLock</a>(<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>&nbsp;l)</pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockImpl</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5277">getRowLock</a>(<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>&nbsp;l)</pre>
 </li>
 </ul>
 <a name="cleanUp()">
@@ -316,7 +316,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>cleanUp</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5282">cleanUp</a>()</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5288">cleanUp</a>()</pre>
 </li>
 </ul>
 <a name="toString()">
@@ -325,7 +325,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <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/regionserver/HRegion.RowLockContext.html#line.5296">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/regionserver/HRegion.RowLockContext.html#line.5302">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>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html
index eb36223..c7aa4eb 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html
@@ -103,7 +103,7 @@
 </dl>
 <hr>
 <br>
-<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5308">HRegion.RowLockImpl</a>
+<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5314">HRegion.RowLockImpl</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/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a></pre>
 <div class="block">Class used to represent a lock on a row.</div>
@@ -212,7 +212,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.R
 <ul class="blockList">
 <li class="blockList">
 <h4>context</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockContext</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.5309">context</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockContext</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.5315">context</a></pre>
 </li>
 </ul>
 <a name="lock">
@@ -221,7 +221,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.R
 <ul class="blockListLast">
 <li class="blockList">
 <h4>lock</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/regionserver/HRegion.RowLockImpl.html#line.5310">lock</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/regionserver/HRegion.RowLockImpl.html#line.5316">lock</a></pre>
 </li>
 </ul>
 </li>
@@ -238,7 +238,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.R
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HRegion.RowLockImpl</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.5312">HRegion.RowLockImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockContext</a>&nbsp;context,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.5318">HRegion.RowLockImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockContext</a>&nbsp;context,
                    <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>&nbsp;lock)</pre>
 </li>
 </ul>
@@ -256,7 +256,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.R
 <ul class="blockList">
 <li class="blockList">
 <h4>getLock</h4>
-<pre>public&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>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.5317">getLock</a>()</pre>
+<pre>public&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>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.5323">getLock</a>()</pre>
 </li>
 </ul>
 <a name="getContext()">
@@ -265,7 +265,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.R
 <ul class="blockList">
 <li class="blockList">
 <h4>getContext</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockContext</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.5322">getContext</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockContext</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.5328">getContext</a>()</pre>
 </li>
 </ul>
 <a name="release()">
@@ -274,7 +274,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.R
 <ul class="blockList">
 <li class="blockList">
 <h4>release</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.5327">release</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.5333">release</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html#release()">Region.RowLock</a></code></strong></div>
 <div class="block">Release the given lock.  If there are no remaining locks held by the current thread
  then unlock the row and allow other threads to acquire the lock.</div>
@@ -290,7 +290,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.R
 <ul class="blockListLast">
 <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/regionserver/HRegion.RowLockImpl.html#line.5333">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/regionserver/HRegion.RowLockImpl.html#line.5339">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>


[27/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.html
index 9200d18..e74c820 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.html
@@ -720,8 +720,8 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
                             <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator,
                             <a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;w,
                             boolean&nbsp;writeToWAL)</code>
-<div class="block">Atomically checks if a row/family/qualifier value matches the expected val
- If it does, it performs the row mutations.</div>
+<div class="block">Atomically checks if a row/family/qualifier value matches the expected value and if it does,
+ it performs the mutation.</div>
 </td>
 </tr>
 <tr class="altColor">
@@ -733,8 +733,8 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
                                   <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator,
                                   <a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;rm,
                                   boolean&nbsp;writeToWAL)</code>
-<div class="block">Atomically checks if a row/family/qualifier value matches the expected val
- If it does, it performs the row mutations.</div>
+<div class="block">Atomically checks if a row/family/qualifier value matches the expected values and if it does,
+ it performs the row mutations.</div>
 </td>
 </tr>
 <tr class="rowColor">
@@ -1167,9 +1167,13 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getReadRequestsCount()">getReadRequestsCount</a></strong>()</code>&nbsp;</td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getReadPoint(org.apache.hadoop.hbase.client.IsolationLevel)">getReadPoint</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client">IsolationLevel</a>&nbsp;isolationLevel)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getReadRequestsCount()">getReadRequestsCount</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>static org.apache.hadoop.fs.Path</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getRegionDir(org.apache.hadoop.fs.Path,%20org.apache.hadoop.hbase.HRegionInfo)">getRegionDir</a></strong>(org.apache.hadoop.fs.Path&nbsp;rootdir,
                         <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;info)</code>
@@ -1178,7 +1182,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 </div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static org.apache.hadoop.fs.Path</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getRegionDir(org.apache.hadoop.fs.Path,%20java.lang.String)">getRegionDir</a></strong>(org.apache.hadoop.fs.Path&nbsp;tabledir,
                         <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)</code>
@@ -1187,48 +1191,48 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 </div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionFileSystem</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getRegionFileSystem()">getRegionFileSystem</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getRegionInfo()">getRegionInfo</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionServerServices</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getRegionServerServices()">getRegionServerServices</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>org.apache.hadoop.hbase.protobuf.generated.ClientProtos.RegionLoadStats</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getRegionStats()">getRegionStats</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getRowLock(byte[])">getRowLock</a></strong>(byte[]&nbsp;row)</code>
 <div class="block">Get an exclusive ( write lock ) lock on a given row.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getRowLock(byte[],%20boolean)">getRowLock</a></strong>(byte[]&nbsp;row,
                     boolean&nbsp;readLock)</code>
 <div class="block">Get a row lock for the specified row.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getScanner(org.apache.hadoop.hbase.client.Scan)">getScanner</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan)</code>
 <div class="block">Return an iterator that scans over the HRegion, returning the indicated
  columns and rows specified by the <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client"><code>Scan</code></a>.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getScanner(org.apache.hadoop.hbase.client.Scan,%20boolean)">getScanner</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
                     boolean&nbsp;copyCellsFromSharedMem)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getScanner(org.apache.hadoop.hbase.client.Scan,%20java.util.List)">getScanner</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
                     <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/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;additionalScanners)</code>
@@ -1236,96 +1240,96 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
  specified by the <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client"><code>Scan</code></a>.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getScanner(org.apache.hadoop.hbase.client.Scan,%20java.util.List,%20boolean)">getScanner</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
                     <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/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;additionalScanners,
                     boolean&nbsp;copyCellsFromSharedMem)</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/regionserver/HRegion.html#getSequenceId()">getSequenceId</a></strong>()</code>
 <div class="block">Do not change this sequence id.</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/regionserver/HRegion.html#getSmallestReadPoint()">getSmallestReadPoint</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSplitPolicy.html" title="class in org.apache.hadoop.hbase.regionserver">RegionSplitPolicy</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getSplitPolicy()">getSplitPolicy</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getStore(byte[])">getStore</a></strong>(byte[]&nbsp;column)</code>
 <div class="block">Return the Store for the given family</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getStore(org.apache.hadoop.hbase.Cell)">getStore</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Return HStore instance.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<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/regionserver/HRegion.html#getStoreFileList(byte[][])">getStoreFileList</a></strong>(byte[][]&nbsp;columns)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent">ThreadPoolExecutor</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getStoreFileOpenAndCloseThreadPool(java.lang.String)">getStoreFileOpenAndCloseThreadPool</a></strong>(<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;threadNamePrefix)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util">NavigableMap</a>&lt;byte[],<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;org.apache.hadoop.fs.Path&gt;&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getStoreFiles()">getStoreFiles</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent">ThreadPoolExecutor</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getStoreOpenAndCloseThreadPool(java.lang.String)">getStoreOpenAndCloseThreadPool</a></strong>(<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;threadNamePrefix)</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/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getStores()">getStores</a></strong>()</code>
 <div class="block">Return the list of Stores managed by this region</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getTableDesc()">getTableDesc</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getWAL()">getWAL</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/regionserver/HRegion.html#getWriteRequestsCount()">getWriteRequestsCount</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#hashCode()">hashCode</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private static boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#hasMultipleColumnFamilies(java.util.Collection)">hasMultipleColumnFamilies</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;byte[],<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;&gt;&nbsp;familyPaths)</code>
 <div class="block">Determines whether multiple column families are present
  Precondition: familyPaths is not null</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#hasReferences()">hasReferences</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/regionserver/HRegion.html#heapSize()">heapSize</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#increment(org.apache.hadoop.hbase.client.Increment)">increment</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a>&nbsp;increment)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#increment(org.apache.hadoop.hbase.client.Increment,%20long,%20long)">increment</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a>&nbsp;mutation,
                   long&nbsp;nonceGroup,
@@ -1333,7 +1337,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <div class="block">Perform one or more increment operations on a row.</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/regionserver/HRegion.html#initialize()">initialize</a></strong>()</code>
 <div class="block"><strong>Deprecated.</strong>&nbsp;
@@ -1341,39 +1345,39 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 </div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#initialize(org.apache.hadoop.hbase.util.CancelableProgressable)">initialize</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/util/CancelableProgressable.html" title="interface in org.apache.hadoop.hbase.util">CancelableProgressable</a>&nbsp;reporter)</code>
 <div class="block">Initialize this region.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#initializeRegionInternals(org.apache.hadoop.hbase.util.CancelableProgressable,%20org.apache.hadoop.hbase.monitoring.MonitoredTask)">initializeRegionInternals</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/util/CancelableProgressable.html" title="interface in org.apache.hadoop.hbase.util">CancelableProgressable</a>&nbsp;reporter,
                                                   <a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a>&nbsp;status)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#initializeStores(org.apache.hadoop.hbase.util.CancelableProgressable,%20org.apache.hadoop.hbase.monitoring.MonitoredTask)">initializeStores</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/util/CancelableProgressable.html" title="interface in org.apache.hadoop.hbase.util">CancelableProgressable</a>&nbsp;reporter,
                                 <a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a>&nbsp;status)</code>
 <div class="block">Open all Stores.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#initializeWarmup(org.apache.hadoop.hbase.util.CancelableProgressable)">initializeWarmup</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/util/CancelableProgressable.html" title="interface in org.apache.hadoop.hbase.util">CancelableProgressable</a>&nbsp;reporter)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#instantiateHStore(org.apache.hadoop.hbase.HColumnDescriptor)">instantiateHStore</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>&nbsp;family)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#instantiateRegionScanner(org.apache.hadoop.hbase.client.Scan,%20java.util.List,%20boolean)">instantiateRegionScanner</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
                                                 <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/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;additionalScanners,
                                                 boolean&nbsp;copyCellsFromSharedMem)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.FlushResult</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#internalFlushcache(java.util.Collection,%20org.apache.hadoop.hbase.monitoring.MonitoredTask,%20boolean)">internalFlushcache</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&gt;&nbsp;storesToFlush,
                                     <a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a>&nbsp;status,
@@ -1381,13 +1385,13 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <div class="block">Flushing given stores.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.FlushResult</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#internalFlushcache(org.apache.hadoop.hbase.monitoring.MonitoredTask)">internalFlushcache</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a>&nbsp;status)</code>
 <div class="block">Flushing all stores.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.FlushResult</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#internalFlushcache(org.apache.hadoop.hbase.wal.WAL,%20long,%20java.util.Collection,%20org.apache.hadoop.hbase.monitoring.MonitoredTask,%20boolean)">internalFlushcache</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal,
                                     long&nbsp;myseqid,
@@ -1397,14 +1401,14 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <div class="block">Flush the memstore.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.FlushResult</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#internalFlushCacheAndCommit(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.monitoring.MonitoredTask,%20org.apache.hadoop.hbase.regionserver.HRegion.PrepareFlushResult,%20java.util.Collection)">internalFlushCacheAndCommit</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal,
                                                       <a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a>&nbsp;status,
                                                       <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.PrepareFlushResult</a>&nbsp;prepareResult,
                                                       <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&gt;&nbsp;storesToFlush)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.PrepareFlushResult</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#internalPrepareFlushCache(org.apache.hadoop.hbase.wal.WAL,%20long,%20java.util.Collection,%20org.apache.hadoop.hbase.monitoring.MonitoredTask,%20boolean)">internalPrepareFlushCache</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal,
                                                   long&nbsp;myseqid,
@@ -1412,104 +1416,104 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
                                                   <a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a>&nbsp;status,
                                                   boolean&nbsp;writeFlushWalMarker)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#isAllFamilies(java.util.Collection)">isAllFamilies</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&gt;&nbsp;families)</code>&nbsp;</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/regionserver/HRegion.html#isAvailable()">isAvailable</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#isClosed()">isClosed</a></strong>()</code>&nbsp;</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/regionserver/HRegion.html#isClosing()">isClosing</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#isFlushSize(long)">isFlushSize</a></strong>(long&nbsp;size)</code>&nbsp;</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/regionserver/HRegion.html#isLoadingCfsOnDemandDefault()">isLoadingCfsOnDemandDefault</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#isMergeable()">isMergeable</a></strong>()</code>&nbsp;</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/regionserver/HRegion.html#isReadOnly()">isReadOnly</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#isRecovering()">isRecovering</a></strong>()</code>&nbsp;</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/regionserver/HRegion.html#isSplittable()">isSplittable</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private static boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#isZeroLengthThenDelete(org.apache.hadoop.fs.FileSystem,%20org.apache.hadoop.fs.Path)">isZeroLengthThenDelete</a></strong>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                             org.apache.hadoop.fs.Path&nbsp;p)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#lock(java.util.concurrent.locks.Lock)">lock</a></strong>(<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>&nbsp;lock)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#lock(java.util.concurrent.locks.Lock,%20int)">lock</a></strong>(<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>&nbsp;lock,
         int&nbsp;multiplier)</code>
 <div class="block">Try to acquire a lock.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#logRegionFiles()">logRegionFiles</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#main(java.lang.String[])">main</a></strong>(<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;args)</code>
 <div class="block">Facility for dumping and compacting catalog tables.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#merge(org.apache.hadoop.hbase.regionserver.HRegion,%20org.apache.hadoop.hbase.regionserver.HRegion)">merge</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;a,
           <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;b)</code>
 <div class="block">Merge two regions whether they are adjacent or not.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#mergeAdjacent(org.apache.hadoop.hbase.regionserver.HRegion,%20org.apache.hadoop.hbase.regionserver.HRegion)">mergeAdjacent</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;srcA,
                           <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;srcB)</code>
 <div class="block">Merge two HRegions.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#metricsUpdateForGet(java.util.List)">metricsUpdateForGet</a></strong>(<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/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;results)</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/regionserver/HRegion.html#mutateRow(org.apache.hadoop.hbase.client.RowMutations)">mutateRow</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;rm)</code>
 <div class="block">Performs multiple mutations atomically on a single row.</div>
 </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/regionserver/HRegion.html#mutateRowsWithLocks(java.util.Collection,%20java.util.Collection)">mutateRowsWithLocks</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;mutations,
                                       <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;byte[]&gt;&nbsp;rowsToLock)</code>
 <div class="block">Perform atomic mutations within the region w/o nonces.</div>
 </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/regionserver/HRegion.html#mutateRowsWithLocks(java.util.Collection,%20java.util.Collection,%20long,%20long)">mutateRowsWithLocks</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;mutations,
                                       <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;byte[]&gt;&nbsp;rowsToLock,
@@ -1518,7 +1522,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <div class="block">Perform atomic mutations within the region.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) static <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#newHRegion(org.apache.hadoop.fs.Path,%20org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.fs.FileSystem,%20org.apache.hadoop.conf.Configuration,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.regionserver.RegionServerServices)">newHRegion</a></strong>(org.apache.hadoop.fs.Path&nbsp;tableDir,
                     <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal,
@@ -1531,20 +1535,20 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
  <a href="../../../../../org/apache/hadoop/hbase/HConstants.html#REGION_IMPL"><code>HConstants.REGION_IMPL</code></a> configuration property.</div>
 </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/regionserver/HRegion.html#onConfigurationChange(org.apache.hadoop.conf.Configuration)">onConfigurationChange</a></strong>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code>
 <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>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#openHRegion(org.apache.hadoop.hbase.util.CancelableProgressable)">openHRegion</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/util/CancelableProgressable.html" title="interface in org.apache.hadoop.hbase.util">CancelableProgressable</a>&nbsp;reporter)</code>
 <div class="block">Open HRegion.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#openHRegion(org.apache.hadoop.conf.Configuration,%20org.apache.hadoop.fs.FileSystem,%20org.apache.hadoop.fs.Path,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.wal.WAL)">openHRegion</a></strong>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                       org.apache.hadoop.fs.FileSystem&nbsp;fs,
@@ -1555,7 +1559,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <div class="block">Open a Region.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#openHRegion(org.apache.hadoop.conf.Configuration,%20org.apache.hadoop.fs.FileSystem,%20org.apache.hadoop.fs.Path,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.regionserver.RegionServerServices,%20org.apache.hadoop.hbase.util.CancelableProgressable)">openHRegion</a></strong>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                       org.apache.hadoop.fs.FileSystem&nbsp;fs,
@@ -1568,7 +1572,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <div class="block">Open a Region.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#openHRegion(org.apache.hadoop.conf.Configuration,%20org.apache.hadoop.fs.FileSystem,%20org.apache.hadoop.fs.Path,%20org.apache.hadoop.fs.Path,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.regionserver.RegionServerServices,%20org.apache.hadoop.hbase.util.CancelableProgressable)">openHRegion</a></strong>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                       org.apache.hadoop.fs.FileSystem&nbsp;fs,
@@ -1582,14 +1586,14 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <div class="block">Open a Region.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#openHRegion(org.apache.hadoop.hbase.regionserver.HRegion,%20org.apache.hadoop.hbase.util.CancelableProgressable)">openHRegion</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;other,
                       <a href="../../../../../org/apache/hadoop/hbase/util/CancelableProgressable.html" title="interface in org.apache.hadoop.hbase.util">CancelableProgressable</a>&nbsp;reporter)</code>
 <div class="block">Useful when reopening a closed region (normally for unit tests)</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#openHRegion(org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.conf.Configuration)">openHRegion</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;info,
                       <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;htd,
@@ -1598,7 +1602,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <div class="block">Open a Region.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#openHRegion(org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.conf.Configuration,%20org.apache.hadoop.hbase.regionserver.RegionServerServices,%20org.apache.hadoop.hbase.util.CancelableProgressable)">openHRegion</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;info,
                       <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;htd,
@@ -1609,7 +1613,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <div class="block">Open a Region.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#openHRegion(org.apache.hadoop.fs.Path,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.conf.Configuration)">openHRegion</a></strong>(org.apache.hadoop.fs.Path&nbsp;rootDir,
                       <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;info,
@@ -1619,7 +1623,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <div class="block">Open a Region.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#openHRegion(org.apache.hadoop.fs.Path,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.conf.Configuration,%20org.apache.hadoop.hbase.regionserver.RegionServerServices,%20org.apache.hadoop.hbase.util.CancelableProgressable)">openHRegion</a></strong>(org.apache.hadoop.fs.Path&nbsp;rootDir,
                       <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;info,
@@ -1631,18 +1635,18 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <div class="block">Open a Region.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#openHRegion(org.apache.hadoop.hbase.regionserver.Region,%20org.apache.hadoop.hbase.util.CancelableProgressable)">openHRegion</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;other,
                       <a href="../../../../../org/apache/hadoop/hbase/util/CancelableProgressable.html" title="interface in org.apache.hadoop.hbase.util">CancelableProgressable</a>&nbsp;reporter)</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/regionserver/HRegion.html#prepareDelete(org.apache.hadoop.hbase.client.Delete)">prepareDelete</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a>&nbsp;delete)</code>
 <div class="block">Prepare a delete for a row mutation processor</div>
 </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/regionserver/HRegion.html#prepareDeleteTimestamps(org.apache.hadoop.hbase.client.Mutation,%20java.util.Map,%20byte[])">prepareDeleteTimestamps</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
                                               <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;byte[],<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/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;familyMap,
@@ -1650,27 +1654,27 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <div class="block">Set up correct timestamps in the KVs in Delete object.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#prepareGet(org.apache.hadoop.hbase.client.Get)">prepareGet</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get)</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/regionserver/HRegion.html#prepareToSplit()">prepareToSplit</a></strong>()</code>
 <div class="block">Give the region a chance to prepare before it is split.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private static void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#printUsageAndExit(java.lang.String)">printUsageAndExit</a></strong>(<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;message)</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/regionserver/HRegion.html#processRowsWithLocks(org.apache.hadoop.hbase.regionserver.RowProcessor)">processRowsWithLocks</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="interface in org.apache.hadoop.hbase.regionserver">RowProcessor</a>&lt;?,?&gt;&nbsp;processor)</code>
 <div class="block">Performs atomic multiple reads and writes on a given row.</div>
 </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/regionserver/HRegion.html#processRowsWithLocks(org.apache.hadoop.hbase.regionserver.RowProcessor,%20long,%20long)">processRowsWithLocks</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="interface in org.apache.hadoop.hbase.regionserver">RowProcessor</a>&lt;?,?&gt;&nbsp;processor,
                                         long&nbsp;nonceGroup,
@@ -1678,7 +1682,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <div class="block">Performs atomic multiple reads and writes on a given row.</div>
 </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/regionserver/HRegion.html#processRowsWithLocks(org.apache.hadoop.hbase.regionserver.RowProcessor,%20long,%20long,%20long)">processRowsWithLocks</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="interface in org.apache.hadoop.hbase.regionserver">RowProcessor</a>&lt;?,?&gt;&nbsp;processor,
                                         long&nbsp;timeout,
@@ -1687,7 +1691,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <div class="block">Performs atomic multiple reads and writes on a given row.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private static void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#processTable(org.apache.hadoop.fs.FileSystem,%20org.apache.hadoop.fs.Path,%20org.apache.hadoop.hbase.wal.WALFactory,%20org.apache.hadoop.conf.Configuration,%20boolean)">processTable</a></strong>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                         org.apache.hadoop.fs.Path&nbsp;p,
@@ -1695,7 +1699,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
                         org.apache.hadoop.conf.Configuration&nbsp;c,
                         boolean&nbsp;majorCompact)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#put(byte[],%20byte[],%20java.util.List)">put</a></strong>(byte[]&nbsp;row,
       byte[]&nbsp;family,
@@ -1703,19 +1707,19 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <div class="block">Add updates first to the wal and then add values to memstore.</div>
 </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/regionserver/HRegion.html#put(org.apache.hadoop.hbase.client.Put)">put</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put)</code>
 <div class="block">Puts some data in the table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#recordMutationWithoutWal(java.util.Map)">recordMutationWithoutWal</a></strong>(<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;byte[],<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/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;familyMap)</code>
 <div class="block">Update counters for number of puts without wal and the size of possible data loss.</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/regionserver/HRegion.html#refreshStoreFiles()">refreshStoreFiles</a></strong>()</code>
 <div class="block">Check the region's underlying store files, open the files that have not
@@ -1723,17 +1727,17 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
  longer available.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#refreshStoreFiles(boolean)">refreshStoreFiles</a></strong>(boolean&nbsp;force)</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/regionserver/HRegion.html#registerChildren(org.apache.hadoop.hbase.conf.ConfigurationManager)">registerChildren</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationManager.html" title="class in org.apache.hadoop.hbase.conf">ConfigurationManager</a>&nbsp;manager)</code>
 <div class="block">Needs to be called to register the children to the manager.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#registerService(com.google.protobuf.Service)">registerService</a></strong>(com.google.protobuf.Service&nbsp;instance)</code>
 <div class="block">Registers a new protocol buffer <code>Service</code> subclass as a coprocessor endpoint to
@@ -1742,20 +1746,20 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
     org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceCall)</code></a>} calls.</div>
 </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/regionserver/HRegion.html#releaseRowLocks(java.util.List)">releaseRowLocks</a></strong>(<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/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a>&gt;&nbsp;rowLocks)</code>
 <div class="block">If the given list of row locks is not null, releases all locks.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#removeNonExistentColumnFamilyForReplay(java.util.Map)">removeNonExistentColumnFamilyForReplay</a></strong>(<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;byte[],<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/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;familyMap)</code>
 <div class="block">During replay, there could exist column families which are removed between region server
  failure and replay</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#replayFlushInStores(org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor,%20org.apache.hadoop.hbase.regionserver.HRegion.PrepareFlushResult,%20boolean)">replayFlushInStores</a></strong>(org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor&nbsp;flush,
                                       <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.PrepareFlushResult</a>&nbsp;prepareFlushResult,
@@ -1764,13 +1768,13 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
  memstore snapshots if requested.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#replayRecoveredEdits(org.apache.hadoop.fs.Path,%20java.util.Map,%20org.apache.hadoop.hbase.util.CancelableProgressable)">replayRecoveredEdits</a></strong>(org.apache.hadoop.fs.Path&nbsp;edits,
                                         <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;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;maxSeqIdInStores,
                                         <a href="../../../../../org/apache/hadoop/hbase/util/CancelableProgressable.html" title="interface in org.apache.hadoop.hbase.util">CancelableProgressable</a>&nbsp;reporter)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#replayRecoveredEditsIfAny(org.apache.hadoop.fs.Path,%20java.util.Map,%20org.apache.hadoop.hbase.util.CancelableProgressable,%20org.apache.hadoop.hbase.monitoring.MonitoredTask)">replayRecoveredEditsIfAny</a></strong>(org.apache.hadoop.fs.Path&nbsp;regiondir,
                                                   <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;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;maxSeqIdInStores,
@@ -1779,11 +1783,11 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <div class="block">Read the edits put under this region by wal splitting process.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#replayWALBulkLoadEventMarker(org.apache.hadoop.hbase.protobuf.generated.WALProtos.BulkLoadDescriptor)">replayWALBulkLoadEventMarker</a></strong>(org.apache.hadoop.hbase.protobuf.generated.WALProtos.BulkLoadDescriptor&nbsp;bulkLoadEvent)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#replayWALCompactionMarker(org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor,%20boolean,%20boolean,%20long)">replayWALCompactionMarker</a></strong>(org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor&nbsp;compaction,
                                                   boolean&nbsp;pickCompactionFiles,
@@ -1792,25 +1796,25 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <div class="block">Call to complete a compaction.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#replayWALFlushAbortMarker(org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor)">replayWALFlushAbortMarker</a></strong>(org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor&nbsp;flush)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#replayWALFlushCannotFlushMarker(org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor,%20long)">replayWALFlushCannotFlushMarker</a></strong>(org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor&nbsp;flush,
                                                               long&nbsp;replaySeqId)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#replayWALFlushCommitMarker(org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor)">replayWALFlushCommitMarker</a></strong>(org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor&nbsp;flush)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#replayWALFlushMarker(org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor,%20long)">replayWALFlushMarker</a></strong>(org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor&nbsp;flush,
                                         long&nbsp;replaySeqId)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.PrepareFlushResult</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#replayWALFlushStartMarker(org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor)">replayWALFlushStartMarker</a></strong>(org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor&nbsp;flush)</code>
 <div class="block">Replay the flush marker from primary region by creating a corresponding snapshot of
@@ -1818,45 +1822,45 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
  edit (because the events may be coming out of order).</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#replayWALRegionEventMarker(org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor)">replayWALRegionEventMarker</a></strong>(org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor&nbsp;regionEvent)</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/regionserver/HRegion.html#reportCompactionRequestEnd(boolean,%20int,%20long)">reportCompactionRequestEnd</a></strong>(boolean&nbsp;isMajor,
                                                     int&nbsp;numFiles,
                                                     long&nbsp;filesSizeCompacted)</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/regionserver/HRegion.html#reportCompactionRequestStart(boolean)">reportCompactionRequestStart</a></strong>(boolean&nbsp;isMajor)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#requestFlush()">requestFlush</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#restoreEdit(org.apache.hadoop.hbase.regionserver.Store,%20org.apache.hadoop.hbase.Cell)">restoreEdit</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&nbsp;s,
                       <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Used by tests</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#rewriteCellTags(java.util.Map,%20org.apache.hadoop.hbase.client.Mutation)">rewriteCellTags</a></strong>(<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;byte[],<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/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;familyMap,
                               <a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;m)</code>
 <div class="block">Possibly rewrite incoming cell tags.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#rollbackMemstore(java.util.List)">rollbackMemstore</a></strong>(<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/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;memstoreCells)</code>
 <div class="block">Remove all the keys listed in the map from the memstore.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#rowIsInRange(org.apache.hadoop.hbase.HRegionInfo,%20byte[])">rowIsInRange</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;info,
                         byte[]&nbsp;row)</code>
@@ -1864,85 +1868,85 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
  specified HRegionInfo</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#rowIsInRange(org.apache.hadoop.hbase.HRegionInfo,%20byte[],%20int,%20short)">rowIsInRange</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;info,
                         byte[]&nbsp;row,
                         int&nbsp;offset,
                         short&nbsp;length)</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/regionserver/HRegion.html#setClosing(boolean)">setClosing</a></strong>(boolean&nbsp;closing)</code>
 <div class="block">Exposed for some very specific unit tests.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.RegionLoad.Builder</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#setCompleteSequenceId(org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.RegionLoad.Builder)">setCompleteSequenceId</a></strong>(org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.RegionLoad.Builder&nbsp;regionLoadBldr)</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/regionserver/HRegion.html#setCoprocessorHost(org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost)">setCoprocessorHost</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver">RegionCoprocessorHost</a>&nbsp;coprocessorHost)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#setHTableSpecificConf()">setHTableSpecificConf</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/regionserver/HRegion.html#setReadsEnabled(boolean)">setReadsEnabled</a></strong>(boolean&nbsp;readsEnabled)</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/regionserver/HRegion.html#setRecovering(boolean)">setRecovering</a></strong>(boolean&nbsp;newState)</code>
 <div class="block">Reset recovering state of current region</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#shouldFlush(java.lang.StringBuffer)">shouldFlush</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</a>&nbsp;whyFlush)</code>
 <div class="block">Should the memstore be flushed now</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#shouldFlushStore(org.apache.hadoop.hbase.regionserver.Store)">shouldFlushStore</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&nbsp;store)</code>
 <div class="block">Should the store be flushed because it is old enough.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#shouldForceSplit()">shouldForceSplit</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#shouldSyncWAL()">shouldSyncWAL</a></strong>()</code>
 <div class="block">Check whether we should sync the wal from the table's durability settings</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#startBulkRegionOperation(boolean)">startBulkRegionOperation</a></strong>(boolean&nbsp;writeLockNeeded)</code>
 <div class="block">This method needs to be called before any public call that reads or
  modifies stores in bulk.</div>
 </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/regionserver/HRegion.html#startRegionOperation()">startRegionOperation</a></strong>()</code>
 <div class="block">This method needs to be called before any public call that reads or
  modifies data.</div>
 </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/regionserver/HRegion.html#startRegionOperation(org.apache.hadoop.hbase.regionserver.Region.Operation)">startRegionOperation</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a>&nbsp;op)</code>
 <div class="block">This method needs to be called before any public call that reads or
  modifies data.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#syncOrDefer(long,%20org.apache.hadoop.hbase.client.Durability)">syncOrDefer</a></strong>(long&nbsp;txid,
                       <a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;durability)</code>
@@ -1950,17 +1954,17 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
  deferring it.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <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/regionserver/HRegion.html#toString()">toString</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/regionserver/HRegion.html#triggerMajorCompaction()">triggerMajorCompaction</a></strong>()</code>
 <div class="block">Trigger major compaction on all stores in the region.</div>
 </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/regionserver/HRegion.html#updateCellTimestamps(java.lang.Iterable,%20byte[])">updateCellTimestamps</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<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/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;cellItr,
                                         byte[]&nbsp;now)</code>
@@ -1968,32 +1972,32 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
  provided current timestamp.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#updateDeleteLatestVersionTimeStamp(org.apache.hadoop.hbase.Cell,%20org.apache.hadoop.hbase.client.Get,%20int,%20byte[])">updateDeleteLatestVersionTimeStamp</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
                                                                     <a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get,
                                                                     int&nbsp;count,
                                                                     byte[]&nbsp;byteNow)</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/regionserver/HRegion.html#updateReadRequestsCount(long)">updateReadRequestsCount</a></strong>(long&nbsp;i)</code>
 <div class="block">Update the read request count for this region</div>
 </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/regionserver/HRegion.html#updateWriteRequestsCount(long)">updateWriteRequestsCount</a></strong>(long&nbsp;i)</code>
 <div class="block">Update the write request count for this region</div>
 </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/regionserver/HRegion.html#waitForFlushesAndCompactions()">waitForFlushesAndCompactions</a></strong>()</code>
 <div class="block">Wait for all current flushes and compactions of the region to complete</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#warmupHRegion(org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.conf.Configuration,%20org.apache.hadoop.hbase.regionserver.RegionServerServices,%20org.apache.hadoop.hbase.util.CancelableProgressable)">warmupHRegion</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;info,
                           <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;htd,
@@ -2002,11 +2006,11 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
                           <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionServerServices</a>&nbsp;rsServices,
                           <a href="../../../../../org/apache/hadoop/hbase/util/CancelableProgressable.html" title="interface in org.apache.hadoop.hbase.util">CancelableProgressable</a>&nbsp;reporter)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#worthPreFlushing()">worthPreFlushing</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#writeFlushRequestMarkerToWAL(org.apache.hadoop.hbase.wal.WAL,%20boolean)">writeFlushRequestMarkerToWAL</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal,
                                                         boolean&nbsp;writeFlushWalMarker)</code>
@@ -2014,11 +2018,11 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
  reasons.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#writeRegionCloseMarker(org.apache.hadoop.hbase.wal.WAL)">writeRegionCloseMarker</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#writeRegionOpenMarker(org.apache.hadoop.hbase.wal.WAL,%20long)">writeRegionOpenMarker</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal,
                                           long&nbsp;openSeqId)</code>&nbsp;</td>
@@ -2735,7 +2739,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>closeLock</h4>
-<pre>private final&nbsp;<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> <a href="../../../../../src-html/org/a

<TRUNCATED>

[39/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/HConstants.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/HConstants.html b/devapidocs/org/apache/hadoop/hbase/HConstants.html
index 7788910..8786570 100644
--- a/devapidocs/org/apache/hadoop/hbase/HConstants.html
+++ b/devapidocs/org/apache/hadoop/hbase/HConstants.html
@@ -1319,405 +1319,398 @@ 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/HConstants.html#NINES">NINES</a></strong></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
-<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#NO_NEXT_INDEXED_KEY">NO_NEXT_INDEXED_KEY</a></strong></code>
-<div class="block">The byte array represents for NO_NEXT_INDEXED_KEY;
- The actual value is irrelevant because this is always compared by reference.</div>
-</td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#NO_NONCE">NO_NONCE</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#NO_SEQNUM">NO_SEQNUM</a></strong></code>
 <div class="block">Value indicating the server name was saved with no sequence number.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#NORMAL_QOS">NORMAL_QOS</a></strong></code>
 <div class="block">QOS attributes: these attributes are used to demarcate RPC call processing
  by different set of handlers.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#OLD_SNAPSHOT_DIR_NAME">OLD_SNAPSHOT_DIR_NAME</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#OLDEST_TIMESTAMP">OLDEST_TIMESTAMP</a></strong></code>
 <div class="block">Timestamp to use when we want to refer to the oldest cell.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#QOS_THRESHOLD">QOS_THRESHOLD</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#RECOVERED_EDITS_DIR">RECOVERED_EDITS_DIR</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#REGION_IMPL">REGION_IMPL</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#REGION_SERVER_HANDLER_ABORT_ON_ERROR_PERCENT">REGION_SERVER_HANDLER_ABORT_ON_ERROR_PERCENT</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#REGION_SERVER_HANDLER_COUNT">REGION_SERVER_HANDLER_COUNT</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#REGION_SERVER_HIGH_PRIORITY_HANDLER_COUNT">REGION_SERVER_HIGH_PRIORITY_HANDLER_COUNT</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#REGION_SERVER_IMPL">REGION_SERVER_IMPL</a></strong></code>
 <div class="block">Parameter name for what region server implementation to use.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#REGION_SERVER_REPLICATION_HANDLER_COUNT">REGION_SERVER_REPLICATION_HANDLER_COUNT</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#REGION_SPLIT_THREADS_MAX">REGION_SPLIT_THREADS_MAX</a></strong></code>
 <div class="block">The max number of threads used for splitting storefiles in parallel during
  the region split process.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#REGIONINFO_QUALIFIER">REGIONINFO_QUALIFIER</a></strong></code>
 <div class="block">The regioninfo column qualifier</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#REGIONINFO_QUALIFIER_STR">REGIONINFO_QUALIFIER_STR</a></strong></code>
 <div class="block">The RegionInfo qualifier as a string</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#REGIONSERVER_INFO_PORT">REGIONSERVER_INFO_PORT</a></strong></code>
 <div class="block">A configuration key for regionserver info port</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#REGIONSERVER_INFO_PORT_AUTO">REGIONSERVER_INFO_PORT_AUTO</a></strong></code>
 <div class="block">A flag that enables automatic selection of regionserver info port</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#REGIONSERVER_METRICS_PERIOD">REGIONSERVER_METRICS_PERIOD</a></strong></code>
 <div class="block">The period (in milliseconds) between computing region server point in time metrics</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#REGIONSERVER_PORT">REGIONSERVER_PORT</a></strong></code>
 <div class="block">Parameter name for port region server listens on.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#REPLAY_QOS">REPLAY_QOS</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#REPLICATION_BULKLOAD_ENABLE_DEFAULT">REPLICATION_BULKLOAD_ENABLE_DEFAULT</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#REPLICATION_BULKLOAD_ENABLE_KEY">REPLICATION_BULKLOAD_ENABLE_KEY</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#REPLICATION_CLUSTER_ID">REPLICATION_CLUSTER_ID</a></strong></code>
 <div class="block">Replication cluster id of source cluster which uniquely identifies itself with peer cluster</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#REPLICATION_CODEC_CONF_KEY">REPLICATION_CODEC_CONF_KEY</a></strong></code>
 <div class="block">Configuration key for setting replication codec class name</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#REPLICATION_CONF_DIR">REPLICATION_CONF_DIR</a></strong></code>
 <div class="block">Directory where the source cluster file system client configuration are placed which is used by
  sink cluster to copy HFiles from source cluster file system</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#REPLICATION_ENABLE_DEFAULT">REPLICATION_ENABLE_DEFAULT</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#REPLICATION_ENABLE_KEY">REPLICATION_ENABLE_KEY</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#REPLICATION_QOS">REPLICATION_QOS</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#REPLICATION_SCOPE_GLOBAL">REPLICATION_SCOPE_GLOBAL</a></strong></code>
 <div class="block">Scope tag for globally scoped data.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#REPLICATION_SCOPE_LOCAL">REPLICATION_SCOPE_LOCAL</a></strong></code>
 <div class="block">Scope tag for locally scoped data.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#REPLICATION_SERVICE_CLASSNAME_DEFAULT">REPLICATION_SERVICE_CLASSNAME_DEFAULT</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#REPLICATION_SINK_SERVICE_CLASSNAME">REPLICATION_SINK_SERVICE_CLASSNAME</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#REPLICATION_SOURCE_MAXTHREADS_DEFAULT">REPLICATION_SOURCE_MAXTHREADS_DEFAULT</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#REPLICATION_SOURCE_MAXTHREADS_KEY">REPLICATION_SOURCE_MAXTHREADS_KEY</a></strong></code>
 <div class="block">Maximum number of threads used by the replication source for shipping edits to the sinks</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#REPLICATION_SOURCE_SERVICE_CLASSNAME">REPLICATION_SOURCE_SERVICE_CLASSNAME</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static int[]</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#RETRY_BACKOFF">RETRY_BACKOFF</a></strong></code>
 <div class="block">Retrying we multiply hbase.client.pause setting by what we have in this array until we
  run out of array items.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#RPC_CODEC_CONF_KEY">RPC_CODEC_CONF_KEY</a></strong></code>
 <div class="block">Configuration key for setting RPC codec class name</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static byte</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#RPC_CURRENT_VERSION">RPC_CURRENT_VERSION</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#RPC_HEADER">RPC_HEADER</a></strong></code>
 <div class="block">The first four bytes of Hadoop RPC connections</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#SEQNUM_QUALIFIER">SEQNUM_QUALIFIER</a></strong></code>
 <div class="block">The open seqnum column qualifier</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#SEQNUM_QUALIFIER_STR">SEQNUM_QUALIFIER_STR</a></strong></code>
 <div class="block">The open seqnum column qualifier</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#SERVER_QUALIFIER">SERVER_QUALIFIER</a></strong></code>
 <div class="block">The server column qualifier</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#SERVER_QUALIFIER_STR">SERVER_QUALIFIER_STR</a></strong></code>
 <div class="block">The server column qualifier</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#SERVERNAME_QUALIFIER">SERVERNAME_QUALIFIER</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#SERVERNAME_QUALIFIER_STR">SERVERNAME_QUALIFIER_STR</a></strong></code>
 <div class="block">The serverName column qualifier.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#SNAPSHOT_DIR_NAME">SNAPSHOT_DIR_NAME</a></strong></code>
 <div class="block">Name of the directory to store all snapshots.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#SOCKET_RETRY_WAIT_MS">SOCKET_RETRY_WAIT_MS</a></strong></code>
 <div class="block">The delay when re-trying a socket operation in a loop (HBASE-4712)</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#SPLIT_LOGDIR_NAME">SPLIT_LOGDIR_NAME</a></strong></code>
 <div class="block">Used to construct the name of the splitlog directory for a region server</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#SPLITA_QUALIFIER">SPLITA_QUALIFIER</a></strong></code>
 <div class="block">The lower-half split region column qualifier</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#SPLITB_QUALIFIER">SPLITB_QUALIFIER</a></strong></code>
 <div class="block">The upper-half split region column qualifier</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#STARTCODE_QUALIFIER">STARTCODE_QUALIFIER</a></strong></code>
 <div class="block">The startcode column qualifier</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#STARTCODE_QUALIFIER_STR">STARTCODE_QUALIFIER_STR</a></strong></code>
 <div class="block">The startcode column qualifier</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#STATE_QUALIFIER">STATE_QUALIFIER</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#STATE_QUALIFIER_STR">STATE_QUALIFIER_STR</a></strong></code>
 <div class="block">The state column qualifier</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#STATUS_MULTICAST_ADDRESS">STATUS_MULTICAST_ADDRESS</a></strong></code>
 <div class="block">IP to use for the multicast status messages between the master and the clients.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#STATUS_MULTICAST_BIND_ADDRESS">STATUS_MULTICAST_BIND_ADDRESS</a></strong></code>
 <div class="block">The address to use for binding the local socket for receiving multicast.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#STATUS_MULTICAST_PORT">STATUS_MULTICAST_PORT</a></strong></code>
 <div class="block">The port to use for the multicast messages.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#STATUS_PUBLISHED">STATUS_PUBLISHED</a></strong></code>
 <div class="block">Setting to activate, or not, the publication of the status by the master.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#STATUS_PUBLISHED_DEFAULT">STATUS_PUBLISHED_DEFAULT</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#SYSTEMTABLE_QOS">SYSTEMTABLE_QOS</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#TABLE_FAMILY">TABLE_FAMILY</a></strong></code>
 <div class="block">The catalog family</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#TABLE_FAMILY_STR">TABLE_FAMILY_STR</a></strong></code>
 <div class="block">The catalog family as a string</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#TABLE_MAX_ROWSIZE_DEFAULT">TABLE_MAX_ROWSIZE_DEFAULT</a></strong></code>
 <div class="block">Default max row size (1 Gb).</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#TABLE_MAX_ROWSIZE_KEY">TABLE_MAX_ROWSIZE_KEY</a></strong></code>
 <div class="block">Max size of single row for Get's or Scan's without in-row scanning flag set.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#TABLE_STATE_QUALIFIER">TABLE_STATE_QUALIFIER</a></strong></code>
 <div class="block">The serialized table state qualifier</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#THREAD_WAKE_FREQUENCY">THREAD_WAKE_FREQUENCY</a></strong></code>
 <div class="block">Parameter name for how often threads should wake up</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#USE_META_REPLICAS">USE_META_REPLICAS</a></strong></code>
 <div class="block">Conf key for enabling meta replication</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/7/docs/api/java/nio/charset/Charset.html?is-external=true" title="class or interface in java.nio.charset">Charset</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#UTF8_CHARSET">UTF8_CHARSET</a></strong></code>
 <div class="block">When we encode strings, we always specify UTF8 encoding</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#UTF8_ENCODING">UTF8_ENCODING</a></strong></code>
 <div class="block">When we encode strings, we always specify UTF8 encoding</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#VERSION_FILE_NAME">VERSION_FILE_NAME</a></strong></code>
 <div class="block">name of version file</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#VERSION_FILE_WRITE_ATTEMPTS">VERSION_FILE_WRITE_ATTEMPTS</a></strong></code>
 <div class="block">Parameter name for how often we should try to write a version file, before failing</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#VERSIONS">VERSIONS</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#WAL_STORAGE_POLICY">WAL_STORAGE_POLICY</a></strong></code>
 <div class="block">Configuration name of WAL storage policy
@@ -1729,100 +1722,100 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
  See http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-hdfs/ArchivalStorage.html</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#WEEK_IN_SECONDS">WEEK_IN_SECONDS</a></strong></code>
 <div class="block">Seconds in a week</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#ZERO_L">ZERO_L</a></strong></code>
 <div class="block">long constant for zero</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#ZEROES">ZEROES</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#ZK_CFG_PROPERTY_PREFIX">ZK_CFG_PROPERTY_PREFIX</a></strong></code>
 <div class="block">Common prefix of ZooKeeper configuration properties</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HConstants.html#ZK_CFG_PROPERTY_PREFIX_LEN">ZK_CFG_PROPERTY_PREFIX_LEN</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#ZK_CLIENT_KERBEROS_PRINCIPAL">ZK_CLIENT_KERBEROS_PRINCIPAL</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#ZK_CLIENT_KEYTAB_FILE">ZK_CLIENT_KEYTAB_FILE</a></strong></code>
 <div class="block">Configuration keys for programmatic JAAS configuration for secured ZK interaction</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#ZK_SERVER_KERBEROS_PRINCIPAL">ZK_SERVER_KERBEROS_PRINCIPAL</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#ZK_SERVER_KEYTAB_FILE">ZK_SERVER_KEYTAB_FILE</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#ZK_SESSION_TIMEOUT">ZK_SESSION_TIMEOUT</a></strong></code>
 <div class="block">Configuration key for ZooKeeper session timeout</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#ZOOKEEPER_CLIENT_PORT">ZOOKEEPER_CLIENT_PORT</a></strong></code>
 <div class="block">Parameter name for the client port that the zookeeper listens on</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#ZOOKEEPER_DATA_DIR">ZOOKEEPER_DATA_DIR</a></strong></code>
 <div class="block">Parameter name for the ZK data directory</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#ZOOKEEPER_MAX_CLIENT_CNXNS">ZOOKEEPER_MAX_CLIENT_CNXNS</a></strong></code>
 <div class="block">Parameter name for the limit on concurrent client-side zookeeper
  connections</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#ZOOKEEPER_QUORUM">ZOOKEEPER_QUORUM</a></strong></code>
 <div class="block">Name of ZooKeeper quorum configuration parameter.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#ZOOKEEPER_RECOVERABLE_WAITTIME">ZOOKEEPER_RECOVERABLE_WAITTIME</a></strong></code>
 <div class="block">Parameter name for the wait time for the recoverable zookeeper</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#ZOOKEEPER_TICK_TIME">ZOOKEEPER_TICK_TIME</a></strong></code>
 <div class="block">Parameter name for the ZK tick time</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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/HConstants.html#ZOOKEEPER_USEMULTI">ZOOKEEPER_USEMULTI</a></strong></code>
 <div class="block">Configuration key for whether to use ZK.multi</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/HConstants.html#ZOOKEEPER_ZNODE_PARENT">ZOOKEEPER_ZNODE_PARENT</a></strong></code>
 <div class="block">Parameter name for the root dir in ZK for this cluster</div>
@@ -4420,24 +4413,13 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.LOAD_BALANCER_SLOP_KEY">Constant Field Values</a></dd></dl>
 </li>
 </ul>
-<a name="NO_NEXT_INDEXED_KEY">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>NO_NEXT_INDEXED_KEY</h4>
-<pre>public static final&nbsp;<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1019">NO_NEXT_INDEXED_KEY</a></pre>
-<div class="block">The byte array represents for NO_NEXT_INDEXED_KEY;
- The actual value is irrelevant because this is always compared by reference.</div>
-</li>
-</ul>
 <a name="DELIMITER">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>DELIMITER</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1021">DELIMITER</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1016">DELIMITER</a></pre>
 <div class="block">delimiter used between portions of a region name</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.DELIMITER">Constant Field Values</a></dd></dl>
 </li>
@@ -4448,7 +4430,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>NORMAL_QOS</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1029">NORMAL_QOS</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1024">NORMAL_QOS</a></pre>
 <div class="block">QOS attributes: these attributes are used to demarcate RPC call processing
  by different set of handlers. For example, HIGH_QOS tagged methods are
  handled by high priority handlers.</div>
@@ -4461,7 +4443,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>QOS_THRESHOLD</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1030">QOS_THRESHOLD</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1025">QOS_THRESHOLD</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.QOS_THRESHOLD">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -4471,7 +4453,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HIGH_QOS</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1031">HIGH_QOS</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1026">HIGH_QOS</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HIGH_QOS">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -4481,7 +4463,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>REPLICATION_QOS</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1032">REPLICATION_QOS</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1027">REPLICATION_QOS</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.REPLICATION_QOS">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -4491,7 +4473,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>REPLAY_QOS</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1033">REPLAY_QOS</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1028">REPLAY_QOS</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.REPLAY_QOS">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -4501,7 +4483,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>ADMIN_QOS</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1034">ADMIN_QOS</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1029">ADMIN_QOS</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.ADMIN_QOS">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -4511,7 +4493,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>SYSTEMTABLE_QOS</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1035">SYSTEMTABLE_QOS</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1030">SYSTEMTABLE_QOS</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.SYSTEMTABLE_QOS">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -4521,7 +4503,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HFILE_ARCHIVE_DIRECTORY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1038">HFILE_ARCHIVE_DIRECTORY</a></pre>
+<pre>public 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/HConstants.html#line.1033">HFILE_ARCHIVE_DIRECTORY</a></pre>
 <div class="block">Directory under /hbase where archived hfiles are stored</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HFILE_ARCHIVE_DIRECTORY">Constant Field Values</a></dd></dl>
 </li>
@@ -4532,7 +4514,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>SNAPSHOT_DIR_NAME</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1045">SNAPSHOT_DIR_NAME</a></pre>
+<pre>public 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/HConstants.html#line.1040">SNAPSHOT_DIR_NAME</a></pre>
 <div class="block">Name of the directory to store all snapshots. See SnapshotDescriptionUtils for
  remaining snapshot constants; this is here to keep HConstants dependencies at a minimum and
  uni-directional.</div>
@@ -4545,7 +4527,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>OLD_SNAPSHOT_DIR_NAME</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1048">OLD_SNAPSHOT_DIR_NAME</a></pre>
+<pre>public 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/HConstants.html#line.1043">OLD_SNAPSHOT_DIR_NAME</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.OLD_SNAPSHOT_DIR_NAME">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -4555,7 +4537,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_TEMP_DIRECTORY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1051">HBASE_TEMP_DIRECTORY</a></pre>
+<pre>public 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/HConstants.html#line.1046">HBASE_TEMP_DIRECTORY</a></pre>
 <div class="block">Temporary directory used for table creation and deletion</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HBASE_TEMP_DIRECTORY">Constant Field Values</a></dd></dl>
 </li>
@@ -4566,7 +4548,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>REGIONSERVER_METRICS_PERIOD</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1055">REGIONSERVER_METRICS_PERIOD</a></pre>
+<pre>public 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/HConstants.html#line.1050">REGIONSERVER_METRICS_PERIOD</a></pre>
 <div class="block">The period (in milliseconds) between computing region server point in time metrics</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.REGIONSERVER_METRICS_PERIOD">Constant Field Values</a></dd></dl>
 </li>
@@ -4577,7 +4559,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_REGIONSERVER_METRICS_PERIOD</h4>
-<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1056">DEFAULT_REGIONSERVER_METRICS_PERIOD</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1051">DEFAULT_REGIONSERVER_METRICS_PERIOD</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.DEFAULT_REGIONSERVER_METRICS_PERIOD">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -4587,7 +4569,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_NON_TABLE_DIRS</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1058">HBASE_NON_TABLE_DIRS</a></pre>
+<pre>public static 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/HConstants.html#line.1053">HBASE_NON_TABLE_DIRS</a></pre>
 <div class="block">Directories that are not HBase table directories</div>
 </li>
 </ul>
@@ -4597,7 +4579,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_NON_USER_TABLE_DIRS</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1064">HBASE_NON_USER_TABLE_DIRS</a></pre>
+<pre>public static 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/HConstants.html#line.1059">HBASE_NON_USER_TABLE_DIRS</a></pre>
 <div class="block">Directories that are not HBase user table directories</div>
 </li>
 </ul>
@@ -4607,7 +4589,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HEALTH_SCRIPT_LOC</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1070">HEALTH_SCRIPT_LOC</a></pre>
+<pre>public 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/HConstants.html#line.1065">HEALTH_SCRIPT_LOC</a></pre>
 <div class="block">Health script related settings.</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HEALTH_SCRIPT_LOC">Constant Field Values</a></dd></dl>
 </li>
@@ -4618,7 +4600,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HEALTH_SCRIPT_TIMEOUT</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1071">HEALTH_SCRIPT_TIMEOUT</a></pre>
+<pre>public 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/HConstants.html#line.1066">HEALTH_SCRIPT_TIMEOUT</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HEALTH_SCRIPT_TIMEOUT">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -4628,7 +4610,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HEALTH_CHORE_WAKE_FREQ</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1072">HEALTH_CHORE_WAKE_FREQ</a></pre>
+<pre>public 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/HConstants.html#line.1067">HEALTH_CHORE_WAKE_FREQ</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HEALTH_CHORE_WAKE_FREQ">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -4638,7 +4620,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HEALTH_SCRIPT_TIMEOUT</h4>
-<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1074">DEFAULT_HEALTH_SCRIPT_TIMEOUT</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1069">DEFAULT_HEALTH_SCRIPT_TIMEOUT</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.DEFAULT_HEALTH_SCRIPT_TIMEOUT">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -4648,7 +4630,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HEALTH_FAILURE_THRESHOLD</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1078">HEALTH_FAILURE_THRESHOLD</a></pre>
+<pre>public 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/HConstants.html#line.1073">HEALTH_FAILURE_THRESHOLD</a></pre>
 <div class="block">The maximum number of health check failures a server can encounter consecutively.</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HEALTH_FAILURE_THRESHOLD">Constant Field Values</a></dd></dl>
 </li>
@@ -4659,7 +4641,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HEALTH_FAILURE_THRESHOLD</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1080">DEFAULT_HEALTH_FAILURE_THRESHOLD</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1075">DEFAULT_HEALTH_FAILURE_THRESHOLD</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.DEFAULT_HEALTH_FAILURE_THRESHOLD">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -4669,7 +4651,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>STATUS_PUBLISHED</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1087">STATUS_PUBLISHED</a></pre>
+<pre>public 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/HConstants.html#line.1082">STATUS_PUBLISHED</a></pre>
 <div class="block">Setting to activate, or not, the publication of the status by the master. Default
   notification is by a multicast message.</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.STATUS_PUBLISHED">Constant Field Values</a></dd></dl>
@@ -4681,7 +4663,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>STATUS_PUBLISHED_DEFAULT</h4>
-<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1088">STATUS_PUBLISHED_DEFAULT</a></pre>
+<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1083">STATUS_PUBLISHED_DEFAULT</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.STATUS_PUBLISHED_DEFAULT">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -4691,7 +4673,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>STATUS_MULTICAST_ADDRESS</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1095">STATUS_MULTICAST_ADDRESS</a></pre>
+<pre>public 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/HConstants.html#line.1090">STATUS_MULTICAST_ADDRESS</a></pre>
 <div class="block">IP to use for the multicast status messages between the master and the clients.
  The default address is chosen as one among others within the ones suitable for multicast
  messages.</div>
@@ -4704,7 +4686,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_STATUS_MULTICAST_ADDRESS</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1096">DEFAULT_STATUS_MULTICAST_ADDRESS</a></pre>
+<pre>public 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/HConstants.html#line.1091">DEFAULT_STATUS_MULTICAST_ADDRESS</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.DEFAULT_STATUS_MULTICAST_ADDRESS">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -4714,7 +4696,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>STATUS_MULTICAST_BIND_ADDRESS</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1103">STATUS_MULTICAST_BIND_ADDRESS</a></pre>
+<pre>public 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/HConstants.html#line.1098">STATUS_MULTICAST_BIND_ADDRESS</a></pre>
 <div class="block">The address to use for binding the local socket for receiving multicast. Defaults to
  0.0.0.0.</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="https://issues.apache.org/jira/browse/HBASE-9961">HBASE-9961</a>, 
@@ -4727,7 +4709,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_STATUS_MULTICAST_BIND_ADDRESS</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1105">DEFAULT_STATUS_MULTICAST_BIND_ADDRESS</a></pre>
+<pre>public 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/HConstants.html#line.1100">DEFAULT_STATUS_MULTICAST_BIND_ADDRESS</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.DEFAULT_STATUS_MULTICAST_BIND_ADDRESS">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -4737,7 +4719,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>STATUS_MULTICAST_PORT</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1110">STATUS_MULTICAST_PORT</a></pre>
+<pre>public 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/HConstants.html#line.1105">STATUS_MULTICAST_PORT</a></pre>
 <div class="block">The port to use for the multicast messages.</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.STATUS_MULTICAST_PORT">Constant Field Values</a></dd></dl>
 </li>
@@ -4748,7 +4730,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_STATUS_MULTICAST_PORT</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1111">DEFAULT_STATUS_MULTICAST_PORT</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1106">DEFAULT_STATUS_MULTICAST_PORT</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.DEFAULT_STATUS_MULTICAST_PORT">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -4758,7 +4740,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>NO_NONCE</h4>
-<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1113">NO_NONCE</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1108">NO_NONCE</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.NO_NONCE">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -4768,7 +4750,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>CIPHER_AES</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1116">CIPHER_AES</a></pre>
+<pre>public 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/HConstants.html#line.1111">CIPHER_AES</a></pre>
 <div class="block">Default cipher for encryption</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.CIPHER_AES">Constant Field Values</a></dd></dl>
 </li>
@@ -4779,7 +4761,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>CRYPTO_CIPHERPROVIDER_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1119">CRYPTO_CIPHERPROVIDER_CONF_KEY</a></pre>
+<pre>public 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/HConstants.html#line.1114">CRYPTO_CIPHERPROVIDER_CONF_KEY</a></pre>
 <div class="block">Configuration key for the crypto algorithm provider, a class name</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.CRYPTO_CIPHERPROVIDER_CONF_KEY">Constant Field Values</a></dd></dl>
 </li>
@@ -4790,7 +4772,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>CRYPTO_KEYPROVIDER_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1122">CRYPTO_KEYPROVIDER_CONF_KEY</a></pre>
+<pre>public 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/HConstants.html#line.1117">CRYPTO_KEYPROVIDER_CONF_KEY</a></pre>
 <div class="block">Configuration key for the crypto key provider, a class name</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.CRYPTO_KEYPROVIDER_CONF_KEY">Constant Field Values</a></dd></dl>
 </li>
@@ -4801,7 +4783,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>CRYPTO_KEYPROVIDER_PARAMETERS_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1125">CRYPTO_KEYPROVIDER_PARAMETERS_KEY</a></pre>
+<pre>public 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/HConstants.html#line.1120">CRYPTO_KEYPROVIDER_PARAMETERS_KEY</a></pre>
 <div class="block">Configuration key for the crypto key provider parameters</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.CRYPTO_KEYPROVIDER_PARAMETERS_KEY">Constant Field Values</a></dd></dl>
 </li>
@@ -4812,7 +4794,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>CRYPTO_MASTERKEY_NAME_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1129">CRYPTO_MASTERKEY_NAME_CONF_KEY</a></pre>
+<pre>public 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/HConstants.html#line.1124">CRYPTO_MASTERKEY_NAME_CONF_KEY</a></pre>
 <div class="block">Configuration key for the name of the master key for the cluster, a string</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.CRYPTO_MASTERKEY_NAME_CONF_KEY">Constant Field Values</a></dd></dl>
 </li>
@@ -4823,7 +4805,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>CRYPTO_MASTERKEY_ALTERNATE_NAME_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1132">CRYPTO_MASTERKEY_ALTERNATE_NAME_CONF_KEY</a></pre>
+<pre>public 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/HConstants.html#line.1127">CRYPTO_MASTERKEY_ALTERNATE_NAME_CONF_KEY</a></pre>
 <div class="block">Configuration key for the name of the alternate master key for the cluster, a string</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.CRYPTO_MASTERKEY_ALTERNATE_NAME_CONF_KEY">Constant Field Values</a></dd></dl>
 </li>
@@ -4834,7 +4816,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>CRYPTO_WAL_ALGORITHM_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1136">CRYPTO_WAL_ALGORITHM_CONF_KEY</a></pre>
+<pre>public 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/HConstants.html#line.1131">CRYPTO_WAL_ALGORITHM_CONF_KEY</a></pre>
 <div class="block">Configuration key for the algorithm to use when encrypting the WAL, a string</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.CRYPTO_WAL_ALGORITHM_CONF_KEY">Constant Field Values</a></dd></dl>
 </li>
@@ -4845,7 +4827,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>CRYPTO_WAL_KEY_NAME_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1139">CRYPTO_WAL_KEY_NAME_CONF_KEY</a></pre>
+<pre>public 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/HConstants.html#line.1134">CRYPTO_WAL_KEY_NAME_CONF_KEY</a></pre>
 <div class="block">Configuration key for the name of the master WAL encryption key for the cluster, a string</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.CRYPTO_WAL_KEY_NAME_CONF_KEY">Constant Field Values</a></dd></dl>
 </li>
@@ -4856,7 +4838,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>CRYPTO_KEY_ALGORITHM_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1142">CRYPTO_KEY_ALGORITHM_CONF_KEY</a></pre>
+<pre>public 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/HConstants.html#line.1137">CRYPTO_KEY_ALGORITHM_CONF_KEY</a></pre>
 <div class="block">Configuration key for the algorithm used for creating jks key, a string</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.CRYPTO_KEY_ALGORITHM_CONF_KEY">Constant Field Values</a></dd></dl>
 </li>
@@ -4867,7 +4849,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>CRYPTO_ALTERNATE_KEY_ALGORITHM_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1145">CRYPTO_ALTERNATE_KEY_ALGORITHM_CONF_KEY</a></pre>
+<pre>public 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/HConstants.html#line.1140">CRYPTO_ALTERNATE_KEY_ALGORITHM_CONF_KEY</a></pre>
 <div class="block">Configuration key for the name of the alternate cipher algorithm for the cluster, a string</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.CRYPTO_ALTERNATE_KEY_ALGORITHM_CONF_KEY">Constant Field Values</a></dd></dl>
 </li>
@@ -4878,7 +4860,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>ENABLE_WAL_ENCRYPTION</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1149">ENABLE_WAL_ENCRYPTION</a></pre>
+<pre>public 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/HConstants.html#line.1144">ENABLE_WAL_ENCRYPTION</a></pre>
 <div class="block">Configuration key for enabling WAL encryption, a boolean</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.ENABLE_WAL_ENCRYPTION">Constant Field Values</a></dd></dl>
 </li>
@@ -4889,7 +4871,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>RPC_CODEC_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1152">RPC_CODEC_CONF_KEY</a></pre>
+<pre>public 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/HConstants.html#line.1147">RPC_CODEC_CONF_KEY</a></pre>
 <div class="block">Configuration key for setting RPC codec class name</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.RPC_CODEC_CONF_KEY">Constant Field Values</a></dd></dl>
 </li>
@@ -4900,7 +4882,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>REPLICATION_CODEC_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1155">REPLICATION_CODEC_CONF_KEY</a></pre>
+<pre>public 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/HConstants.html#line.1150">REPLICATION_CODEC_CONF_KEY</a></pre>
 <div class="block">Configuration key for setting replication codec class name</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.REPLICATION_CODEC_CONF_KEY">Constant Field Values</a></dd></dl>
 </li>
@@ -4911,7 +4893,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>REPLICATION_SOURCE_MAXTHREADS_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1158">REPLICATION_SOURCE_MAXTHREADS_KEY</a></pre>
+<pre>public 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/HConstants.html#line.1153">REPLICATION_SOURCE_MAXTHREADS_KEY</a></pre>
 <div class="block">Maximum number of threads used by the replication source for shipping edits to the sinks</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.REPLICATION_SOURCE_MAXTHREADS_KEY">Constant Field Values</a></dd></dl>
 </li>
@@ -4922,7 +4904,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>REPLICATION_SOURCE_MAXTHREADS_DEFAULT</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1161">REPLICATION_SOURCE_MAXTHREADS_DEFAULT</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1156">REPLICATION_SOURCE_MAXTHREADS_DEFAULT</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.REPLICATION_SOURCE_MAXTHREADS_DEFAULT">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -4932,7 +4914,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_COORDINATED_STATE_MANAGER_CLASS</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1164">HBASE_COORDINATED_STATE_MANAGER_CLASS</a></pre>
+<pre>public 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/HConstants.html#line.1159">HBASE_COORDINATED_STATE_MANAGER_CLASS</a></pre>
 <div class="block">Config for pluggable consensus provider</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HBASE_COORDINATED_STATE_MANAGER_CLASS">Constant Field Values</a></dd></dl>
 </li>
@@ -4943,7 +4925,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_SPLITLOG_MANAGER_TIMEOUT</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1168">HBASE_SPLITLOG_MANAGER_TIMEOUT</a></pre>
+<pre>public 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/HConstants.html#line.1163">HBASE_SPLITLOG_MANAGER_TIMEOUT</a></pre>
 <div class="block">Configuration key for SplitLog manager timeout</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HBASE_SPLITLOG_MANAGER_TIMEOUT">Constant Field Values</a></dd></dl>
 </li>
@@ -4954,7 +4936,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>BUCKET_CACHE_IOENGINE_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1184">BUCKET_CACHE_IOENGINE_KEY</a></pre>
+<pre>public 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/HConstants.html#line.1179">BUCKET_CACHE_IOENGINE_KEY</a></pre>
 <div class="block">Current ioengine options in include: heap, offheap and file:PATH (where PATH is the path
  to the file that will host the file-based cache.  See BucketCache#getIOEngineFromName() for
  list of supported ioengine options.
@@ -4968,7 +4950,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>BUCKET_CACHE_SIZE_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1191">BUCKET_CACHE_SIZE_KEY</a></pre>
+<pre>public 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/HConstants.html#line.1186">BUCKET_CACHE_SIZE_KEY</a></pre>
 <div class="block">When using bucket cache, this is a float that EITHER represents a percentage of total heap
  memory size to give to the cache (if &lt; 1.0) OR, it is the capacity in
  megabytes of the cache.</div>
@@ -4981,7 +4963,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CLIENT_FAST_FAIL_MODE_ENABLED</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/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/HConstants.html#line.1199">HBASE_CLIENT_FAST_FAIL_MODE_ENABLED</a></pre>
+<pre>public 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/HConstants.html#line.1194">HBASE_CLIENT_FAST_FAIL_MODE_ENABLED</a></pre>
 <div class="block">Config for enabling/disabling the fast fail mode.</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HBASE_CLIENT_FAST_FAIL_MODE_ENABLED">Constant Field Values</a></dd></dl>
 </li>
@@ -4992,7 +4974,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CLIENT_ENABLE_FAST_FAIL_MODE_DEFAULT</h4>
-<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1202">HBASE_CLIENT_ENABLE_FAST_FAIL_MODE_DEFAULT</a></pre>
+<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1197">HBASE_CLIENT_ENABLE_FAST_FAIL_MODE_DEFAULT</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HBASE_CLIENT_ENABLE_FAST_FAIL_MODE_DEFAULT">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -5002,7 +4984,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/j

<TRUNCATED>

[12/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.BlockIndexNotLoadedException.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.BlockIndexNotLoadedException.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.BlockIndexNotLoadedException.html
index e8248d4..c36648a 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.BlockIndexNotLoadedException.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.BlockIndexNotLoadedException.html
@@ -59,1847 +59,1848 @@
 <span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.io.encoding.HFileBlockDecodingContext;<a name="line.51"></a>
 <span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.io.hfile.HFile.FileInfo;<a name="line.52"></a>
 <span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.nio.ByteBuff;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.security.EncryptionUtil;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.util.ByteBufferUtils;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.util.IdLock;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.util.ObjectIntPair;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.io.WritableUtils;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.htrace.Trace;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.htrace.TraceScope;<a name="line.61"></a>
-<span class="sourceLineNo">062</span><a name="line.62"></a>
-<span class="sourceLineNo">063</span>import com.google.common.annotations.VisibleForTesting;<a name="line.63"></a>
-<span class="sourceLineNo">064</span><a name="line.64"></a>
-<span class="sourceLineNo">065</span>/**<a name="line.65"></a>
-<span class="sourceLineNo">066</span> * Implementation that can handle all hfile versions of {@link HFile.Reader}.<a name="line.66"></a>
-<span class="sourceLineNo">067</span> */<a name="line.67"></a>
-<span class="sourceLineNo">068</span>@InterfaceAudience.Private<a name="line.68"></a>
-<span class="sourceLineNo">069</span>@edu.umd.cs.findbugs.annotations.SuppressWarnings(value="URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")<a name="line.69"></a>
-<span class="sourceLineNo">070</span>public class HFileReaderImpl implements HFile.Reader, Configurable {<a name="line.70"></a>
-<span class="sourceLineNo">071</span>  // This class is HFileReaderV3 + HFileReaderV2 + AbstractHFileReader all squashed together into<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  // one file.  Ditto for all the HFileReader.ScannerV? implementations. I was running up against<a name="line.72"></a>
-<span class="sourceLineNo">073</span>  // the MaxInlineLevel limit because too many tiers involved reading from an hfile. Was also hard<a name="line.73"></a>
-<span class="sourceLineNo">074</span>  // to navigate the source code when so many classes participating in read.<a name="line.74"></a>
-<span class="sourceLineNo">075</span>  private static final Log LOG = LogFactory.getLog(HFileReaderImpl.class);<a name="line.75"></a>
-<span class="sourceLineNo">076</span><a name="line.76"></a>
-<span class="sourceLineNo">077</span>  /** Data block index reader keeping the root data index in memory */<a name="line.77"></a>
-<span class="sourceLineNo">078</span>  private HFileBlockIndex.CellBasedKeyBlockIndexReader dataBlockIndexReader;<a name="line.78"></a>
-<span class="sourceLineNo">079</span><a name="line.79"></a>
-<span class="sourceLineNo">080</span>  /** Meta block index reader -- always single level */<a name="line.80"></a>
-<span class="sourceLineNo">081</span>  private HFileBlockIndex.ByteArrayKeyBlockIndexReader metaBlockIndexReader;<a name="line.81"></a>
-<span class="sourceLineNo">082</span><a name="line.82"></a>
-<span class="sourceLineNo">083</span>  private final FixedFileTrailer trailer;<a name="line.83"></a>
-<span class="sourceLineNo">084</span><a name="line.84"></a>
-<span class="sourceLineNo">085</span>  /** Filled when we read in the trailer. */<a name="line.85"></a>
-<span class="sourceLineNo">086</span>  private final Compression.Algorithm compressAlgo;<a name="line.86"></a>
-<span class="sourceLineNo">087</span><a name="line.87"></a>
-<span class="sourceLineNo">088</span>  private boolean isPrimaryReplicaReader;<a name="line.88"></a>
-<span class="sourceLineNo">089</span><a name="line.89"></a>
-<span class="sourceLineNo">090</span>  /**<a name="line.90"></a>
-<span class="sourceLineNo">091</span>   * What kind of data block encoding should be used while reading, writing,<a name="line.91"></a>
-<span class="sourceLineNo">092</span>   * and handling cache.<a name="line.92"></a>
-<span class="sourceLineNo">093</span>   */<a name="line.93"></a>
-<span class="sourceLineNo">094</span>  private HFileDataBlockEncoder dataBlockEncoder = NoOpDataBlockEncoder.INSTANCE;<a name="line.94"></a>
-<span class="sourceLineNo">095</span><a name="line.95"></a>
-<span class="sourceLineNo">096</span>  /** Last key in the file. Filled in when we read in the file info */<a name="line.96"></a>
-<span class="sourceLineNo">097</span>  private Cell lastKeyCell = null;<a name="line.97"></a>
-<span class="sourceLineNo">098</span><a name="line.98"></a>
-<span class="sourceLineNo">099</span>  /** Average key length read from file info */<a name="line.99"></a>
-<span class="sourceLineNo">100</span>  private int avgKeyLen = -1;<a name="line.100"></a>
-<span class="sourceLineNo">101</span><a name="line.101"></a>
-<span class="sourceLineNo">102</span>  /** Average value length read from file info */<a name="line.102"></a>
-<span class="sourceLineNo">103</span>  private int avgValueLen = -1;<a name="line.103"></a>
-<span class="sourceLineNo">104</span><a name="line.104"></a>
-<span class="sourceLineNo">105</span>  /** Key comparator */<a name="line.105"></a>
-<span class="sourceLineNo">106</span>  private CellComparator comparator = CellComparator.COMPARATOR;<a name="line.106"></a>
-<span class="sourceLineNo">107</span><a name="line.107"></a>
-<span class="sourceLineNo">108</span>  /** Size of this file. */<a name="line.108"></a>
-<span class="sourceLineNo">109</span>  private final long fileSize;<a name="line.109"></a>
-<span class="sourceLineNo">110</span><a name="line.110"></a>
-<span class="sourceLineNo">111</span>  /** Block cache configuration. */<a name="line.111"></a>
-<span class="sourceLineNo">112</span>  private final CacheConfig cacheConf;<a name="line.112"></a>
-<span class="sourceLineNo">113</span><a name="line.113"></a>
-<span class="sourceLineNo">114</span>  /** Path of file */<a name="line.114"></a>
-<span class="sourceLineNo">115</span>  private final Path path;<a name="line.115"></a>
-<span class="sourceLineNo">116</span><a name="line.116"></a>
-<span class="sourceLineNo">117</span>  /** File name to be used for block names */<a name="line.117"></a>
-<span class="sourceLineNo">118</span>  private final String name;<a name="line.118"></a>
-<span class="sourceLineNo">119</span><a name="line.119"></a>
-<span class="sourceLineNo">120</span>  private FileInfo fileInfo;<a name="line.120"></a>
-<span class="sourceLineNo">121</span><a name="line.121"></a>
-<span class="sourceLineNo">122</span>  private Configuration conf;<a name="line.122"></a>
-<span class="sourceLineNo">123</span><a name="line.123"></a>
-<span class="sourceLineNo">124</span>  private HFileContext hfileContext;<a name="line.124"></a>
-<span class="sourceLineNo">125</span><a name="line.125"></a>
-<span class="sourceLineNo">126</span>  /** Filesystem-level block reader. */<a name="line.126"></a>
-<span class="sourceLineNo">127</span>  private HFileBlock.FSReader fsBlockReader;<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>   * A "sparse lock" implementation allowing to lock on a particular block<a name="line.130"></a>
-<span class="sourceLineNo">131</span>   * identified by offset. The purpose of this is to avoid two clients loading<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   * the same block, and have all but one client wait to get the block from the<a name="line.132"></a>
-<span class="sourceLineNo">133</span>   * cache.<a name="line.133"></a>
-<span class="sourceLineNo">134</span>   */<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  private IdLock offsetLock = new IdLock();<a name="line.135"></a>
-<span class="sourceLineNo">136</span><a name="line.136"></a>
-<span class="sourceLineNo">137</span>  /**<a name="line.137"></a>
-<span class="sourceLineNo">138</span>   * Blocks read from the load-on-open section, excluding data root index, meta<a name="line.138"></a>
-<span class="sourceLineNo">139</span>   * index, and file info.<a name="line.139"></a>
-<span class="sourceLineNo">140</span>   */<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  private List&lt;HFileBlock&gt; loadOnOpenBlocks = new ArrayList&lt;HFileBlock&gt;();<a name="line.141"></a>
-<span class="sourceLineNo">142</span><a name="line.142"></a>
-<span class="sourceLineNo">143</span>  /** Minimum minor version supported by this HFile format */<a name="line.143"></a>
-<span class="sourceLineNo">144</span>  static final int MIN_MINOR_VERSION = 0;<a name="line.144"></a>
-<span class="sourceLineNo">145</span><a name="line.145"></a>
-<span class="sourceLineNo">146</span>  /** Maximum minor version supported by this HFile format */<a name="line.146"></a>
-<span class="sourceLineNo">147</span>  // We went to version 2 when we moved to pb'ing fileinfo and the trailer on<a name="line.147"></a>
-<span class="sourceLineNo">148</span>  // the file. This version can read Writables version 1.<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  static final int MAX_MINOR_VERSION = 3;<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>   * We can read files whose major version is v2 IFF their minor version is at least 3.<a name="line.152"></a>
-<span class="sourceLineNo">153</span>   */<a name="line.153"></a>
-<span class="sourceLineNo">154</span>  private static final int MIN_V2_MINOR_VERSION_WITH_PB = 3;<a name="line.154"></a>
-<span class="sourceLineNo">155</span><a name="line.155"></a>
-<span class="sourceLineNo">156</span>  /** Minor versions starting with this number have faked index key */<a name="line.156"></a>
-<span class="sourceLineNo">157</span>  static final int MINOR_VERSION_WITH_FAKED_KEY = 3;<a name="line.157"></a>
-<span class="sourceLineNo">158</span><a name="line.158"></a>
-<span class="sourceLineNo">159</span>  /**<a name="line.159"></a>
-<span class="sourceLineNo">160</span>   * Opens a HFile. You must load the index before you can use it by calling<a name="line.160"></a>
-<span class="sourceLineNo">161</span>   * {@link #loadFileInfo()}.<a name="line.161"></a>
-<span class="sourceLineNo">162</span>   * @param path<a name="line.162"></a>
-<span class="sourceLineNo">163</span>   *          Path to HFile.<a name="line.163"></a>
-<span class="sourceLineNo">164</span>   * @param trailer<a name="line.164"></a>
-<span class="sourceLineNo">165</span>   *          File trailer.<a name="line.165"></a>
-<span class="sourceLineNo">166</span>   * @param fsdis<a name="line.166"></a>
-<span class="sourceLineNo">167</span>   *          input stream.<a name="line.167"></a>
-<span class="sourceLineNo">168</span>   * @param fileSize<a name="line.168"></a>
-<span class="sourceLineNo">169</span>   *          Length of the stream.<a name="line.169"></a>
-<span class="sourceLineNo">170</span>   * @param cacheConf<a name="line.170"></a>
-<span class="sourceLineNo">171</span>   *          Cache configuration.<a name="line.171"></a>
-<span class="sourceLineNo">172</span>   * @param hfs<a name="line.172"></a>
-<span class="sourceLineNo">173</span>   *          The file system.<a name="line.173"></a>
-<span class="sourceLineNo">174</span>   * @param conf<a name="line.174"></a>
-<span class="sourceLineNo">175</span>   *          Configuration<a name="line.175"></a>
-<span class="sourceLineNo">176</span>   */<a name="line.176"></a>
-<span class="sourceLineNo">177</span>  @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")<a name="line.177"></a>
-<span class="sourceLineNo">178</span>  public HFileReaderImpl(final Path path, FixedFileTrailer trailer,<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      final FSDataInputStreamWrapper fsdis,<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      final long fileSize, final CacheConfig cacheConf, final HFileSystem hfs,<a name="line.180"></a>
-<span class="sourceLineNo">181</span>      final Configuration conf)<a name="line.181"></a>
-<span class="sourceLineNo">182</span>  throws IOException {<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    this.trailer = trailer;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    this.compressAlgo = trailer.getCompressionCodec();<a name="line.184"></a>
-<span class="sourceLineNo">185</span>    this.cacheConf = cacheConf;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    this.fileSize = fileSize;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    this.path = path;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    this.name = path.getName();<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    this.conf = conf;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    checkFileVersion();<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    this.hfileContext = createHFileContext(fsdis, fileSize, hfs, path, trailer);<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    this.fsBlockReader = new HFileBlock.FSReaderImpl(fsdis, fileSize, hfs, path, hfileContext);<a name="line.192"></a>
-<span class="sourceLineNo">193</span><a name="line.193"></a>
-<span class="sourceLineNo">194</span>    // Comparator class name is stored in the trailer in version 2.<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    comparator = trailer.createComparator();<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    dataBlockIndexReader = new HFileBlockIndex.CellBasedKeyBlockIndexReader(comparator,<a name="line.196"></a>
-<span class="sourceLineNo">197</span>        trailer.getNumDataIndexLevels(), this);<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    metaBlockIndexReader = new HFileBlockIndex.ByteArrayKeyBlockIndexReader(1);<a name="line.198"></a>
-<span class="sourceLineNo">199</span><a name="line.199"></a>
-<span class="sourceLineNo">200</span>    // Parse load-on-open data.<a name="line.200"></a>
-<span class="sourceLineNo">201</span><a name="line.201"></a>
-<span class="sourceLineNo">202</span>    HFileBlock.BlockIterator blockIter = fsBlockReader.blockRange(<a name="line.202"></a>
-<span class="sourceLineNo">203</span>        trailer.getLoadOnOpenDataOffset(),<a name="line.203"></a>
-<span class="sourceLineNo">204</span>        fileSize - trailer.getTrailerSize());<a name="line.204"></a>
-<span class="sourceLineNo">205</span><a name="line.205"></a>
-<span class="sourceLineNo">206</span>    // Data index. We also read statistics about the block index written after<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    // the root level.<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    dataBlockIndexReader.readMultiLevelIndexRoot(<a name="line.208"></a>
-<span class="sourceLineNo">209</span>        blockIter.nextBlockWithBlockType(BlockType.ROOT_INDEX),<a name="line.209"></a>
-<span class="sourceLineNo">210</span>        trailer.getDataIndexCount());<a name="line.210"></a>
-<span class="sourceLineNo">211</span><a name="line.211"></a>
-<span class="sourceLineNo">212</span>    // Meta index.<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    metaBlockIndexReader.readRootIndex(<a name="line.213"></a>
-<span class="sourceLineNo">214</span>        blockIter.nextBlockWithBlockType(BlockType.ROOT_INDEX),<a name="line.214"></a>
-<span class="sourceLineNo">215</span>        trailer.getMetaIndexCount());<a name="line.215"></a>
-<span class="sourceLineNo">216</span><a name="line.216"></a>
-<span class="sourceLineNo">217</span>    // File info<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    fileInfo = new FileInfo();<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    fileInfo.read(blockIter.nextBlockWithBlockType(BlockType.FILE_INFO).getByteStream());<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    byte[] creationTimeBytes = fileInfo.get(FileInfo.CREATE_TIME_TS);<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    this.hfileContext.setFileCreateTime(creationTimeBytes == null?  0:<a name="line.221"></a>
-<span class="sourceLineNo">222</span>        Bytes.toLong(creationTimeBytes));<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    if (fileInfo.get(FileInfo.LASTKEY) != null) {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>      lastKeyCell = new KeyValue.KeyOnlyKeyValue(fileInfo.get(FileInfo.LASTKEY));<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    }<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    avgKeyLen = Bytes.toInt(fileInfo.get(FileInfo.AVG_KEY_LEN));<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    avgValueLen = Bytes.toInt(fileInfo.get(FileInfo.AVG_VALUE_LEN));<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    byte [] keyValueFormatVersion = fileInfo.get(HFileWriterImpl.KEY_VALUE_VERSION);<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    includesMemstoreTS = keyValueFormatVersion != null &amp;&amp;<a name="line.229"></a>
-<span class="sourceLineNo">230</span>        Bytes.toInt(keyValueFormatVersion) == HFileWriterImpl.KEY_VALUE_VER_WITH_MEMSTORE;<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    fsBlockReader.setIncludesMemstoreTS(includesMemstoreTS);<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    if (includesMemstoreTS) {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      decodeMemstoreTS = Bytes.toLong(fileInfo.get(HFileWriterImpl.MAX_MEMSTORE_TS_KEY)) &gt; 0;<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    }<a name="line.234"></a>
-<span class="sourceLineNo">235</span><a name="line.235"></a>
-<span class="sourceLineNo">236</span>    // Read data block encoding algorithm name from file info.<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    dataBlockEncoder = HFileDataBlockEncoderImpl.createFromFileInfo(fileInfo);<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    fsBlockReader.setDataBlockEncoder(dataBlockEncoder);<a name="line.238"></a>
-<span class="sourceLineNo">239</span><a name="line.239"></a>
-<span class="sourceLineNo">240</span>    // Store all other load-on-open blocks for further consumption.<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    HFileBlock b;<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    while ((b = blockIter.nextBlock()) != null) {<a name="line.242"></a>
-<span class="sourceLineNo">243</span>      loadOnOpenBlocks.add(b);<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>    // Prefetch file blocks upon open if requested<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    if (cacheConf.shouldPrefetchOnOpen()) {<a name="line.247"></a>
-<span class="sourceLineNo">248</span>      PrefetchExecutor.request(path, new Runnable() {<a name="line.248"></a>
-<span class="sourceLineNo">249</span>        public void run() {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>          try {<a name="line.250"></a>
-<span class="sourceLineNo">251</span>            long offset = 0;<a name="line.251"></a>
-<span class="sourceLineNo">252</span>            long end = fileSize - getTrailer().getTrailerSize();<a name="line.252"></a>
-<span class="sourceLineNo">253</span>            HFileBlock prevBlock = null;<a name="line.253"></a>
-<span class="sourceLineNo">254</span>            while (offset &lt; end) {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>              if (Thread.interrupted()) {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>                break;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>              }<a name="line.257"></a>
-<span class="sourceLineNo">258</span>              long onDiskSize = -1;<a name="line.258"></a>
-<span class="sourceLineNo">259</span>              if (prevBlock != null) {<a name="line.259"></a>
-<span class="sourceLineNo">260</span>                onDiskSize = prevBlock.getNextBlockOnDiskSizeWithHeader();<a name="line.260"></a>
-<span class="sourceLineNo">261</span>              }<a name="line.261"></a>
-<span class="sourceLineNo">262</span>              HFileBlock block = readBlock(offset, onDiskSize, true, false, false, false,<a name="line.262"></a>
-<span class="sourceLineNo">263</span>                null, null);<a name="line.263"></a>
-<span class="sourceLineNo">264</span>              // Need not update the current block. Ideally here the readBlock won't find the<a name="line.264"></a>
-<span class="sourceLineNo">265</span>              // block in cache. We call this readBlock so that block data is read from FS and<a name="line.265"></a>
-<span class="sourceLineNo">266</span>              // cached in BC. So there is no reference count increment that happens here.<a name="line.266"></a>
-<span class="sourceLineNo">267</span>              // The return will ideally be a noop because the block is not of MemoryType SHARED.<a name="line.267"></a>
-<span class="sourceLineNo">268</span>              returnBlock(block);<a name="line.268"></a>
-<span class="sourceLineNo">269</span>              prevBlock = block;<a name="line.269"></a>
-<span class="sourceLineNo">270</span>              offset += block.getOnDiskSizeWithHeader();<a name="line.270"></a>
-<span class="sourceLineNo">271</span>            }<a name="line.271"></a>
-<span class="sourceLineNo">272</span>          } catch (IOException e) {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>            // IOExceptions are probably due to region closes (relocation, etc.)<a name="line.273"></a>
-<span class="sourceLineNo">274</span>            if (LOG.isTraceEnabled()) {<a name="line.274"></a>
-<span class="sourceLineNo">275</span>              LOG.trace("Exception encountered while prefetching " + path + ":", e);<a name="line.275"></a>
-<span class="sourceLineNo">276</span>            }<a name="line.276"></a>
-<span class="sourceLineNo">277</span>          } catch (Exception e) {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>            // Other exceptions are interesting<a name="line.278"></a>
-<span class="sourceLineNo">279</span>            LOG.warn("Exception encountered while prefetching " + path + ":", e);<a name="line.279"></a>
-<span class="sourceLineNo">280</span>          } finally {<a name="line.280"></a>
-<span class="sourceLineNo">281</span>            PrefetchExecutor.complete(path);<a name="line.281"></a>
-<span class="sourceLineNo">282</span>          }<a name="line.282"></a>
-<span class="sourceLineNo">283</span>        }<a name="line.283"></a>
-<span class="sourceLineNo">284</span>      });<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    }<a name="line.285"></a>
-<span class="sourceLineNo">286</span><a name="line.286"></a>
-<span class="sourceLineNo">287</span>    byte[] tmp = fileInfo.get(FileInfo.MAX_TAGS_LEN);<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    // max tag length is not present in the HFile means tags were not at all written to file.<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    if (tmp != null) {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>      hfileContext.setIncludesTags(true);<a name="line.290"></a>
-<span class="sourceLineNo">291</span>      tmp = fileInfo.get(FileInfo.TAGS_COMPRESSED);<a name="line.291"></a>
-<span class="sourceLineNo">292</span>      if (tmp != null &amp;&amp; Bytes.toBoolean(tmp)) {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>        hfileContext.setCompressTags(true);<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      }<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    }<a name="line.295"></a>
-<span class="sourceLineNo">296</span>  }<a name="line.296"></a>
-<span class="sourceLineNo">297</span><a name="line.297"></a>
-<span class="sourceLineNo">298</span>  /**<a name="line.298"></a>
-<span class="sourceLineNo">299</span>   * File version check is a little sloppy. We read v3 files but can also read v2 files if their<a name="line.299"></a>
-<span class="sourceLineNo">300</span>   * content has been pb'd; files written with 0.98.<a name="line.300"></a>
-<span class="sourceLineNo">301</span>   */<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  private void checkFileVersion() {<a name="line.302"></a>
-<span class="sourceLineNo">303</span>    int majorVersion = trailer.getMajorVersion();<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    if (majorVersion == getMajorVersion()) return;<a name="line.304"></a>
-<span class="sourceLineNo">305</span>    int minorVersion = trailer.getMinorVersion();<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    if (majorVersion == 2 &amp;&amp; minorVersion &gt;= MIN_V2_MINOR_VERSION_WITH_PB) return;<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    // We can read v3 or v2 versions of hfile.<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    throw new IllegalArgumentException("Invalid HFile version: major=" +<a name="line.308"></a>
-<span class="sourceLineNo">309</span>      trailer.getMajorVersion() + ", minor=" + trailer.getMinorVersion() + ": expected at least " +<a name="line.309"></a>
-<span class="sourceLineNo">310</span>      "major=2 and minor=" + MAX_MINOR_VERSION);<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  }<a name="line.311"></a>
-<span class="sourceLineNo">312</span><a name="line.312"></a>
-<span class="sourceLineNo">313</span>  @SuppressWarnings("serial")<a name="line.313"></a>
-<span class="sourceLineNo">314</span>  public static class BlockIndexNotLoadedException extends IllegalStateException {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    public BlockIndexNotLoadedException() {<a name="line.315"></a>
-<span class="sourceLineNo">316</span>      // Add a message in case anyone relies on it as opposed to class name.<a name="line.316"></a>
-<span class="sourceLineNo">317</span>      super("Block index not loaded");<a name="line.317"></a>
-<span class="sourceLineNo">318</span>    }<a name="line.318"></a>
-<span class="sourceLineNo">319</span>  }<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>  private String toStringFirstKey() {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    if(getFirstKey() == null)<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      return null;<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    return CellUtil.getCellKeyAsString(getFirstKey());<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  }<a name="line.325"></a>
-<span class="sourceLineNo">326</span><a name="line.326"></a>
-<span class="sourceLineNo">327</span>  private String toStringLastKey() {<a name="line.327"></a>
-<span class="sourceLineNo">328</span>    return CellUtil.toString(getLastKey(), false);<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>  @Override<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  public String toString() {<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    return "reader=" + path.toString() +<a name="line.333"></a>
-<span class="sourceLineNo">334</span>        (!isFileInfoLoaded()? "":<a name="line.334"></a>
-<span class="sourceLineNo">335</span>          ", compression=" + compressAlgo.getName() +<a name="line.335"></a>
-<span class="sourceLineNo">336</span>          ", cacheConf=" + cacheConf +<a name="line.336"></a>
-<span class="sourceLineNo">337</span>          ", firstKey=" + toStringFirstKey() +<a name="line.337"></a>
-<span class="sourceLineNo">338</span>          ", lastKey=" + toStringLastKey()) +<a name="line.338"></a>
-<span class="sourceLineNo">339</span>          ", avgKeyLen=" + avgKeyLen +<a name="line.339"></a>
-<span class="sourceLineNo">340</span>          ", avgValueLen=" + avgValueLen +<a name="line.340"></a>
-<span class="sourceLineNo">341</span>          ", entries=" + trailer.getEntryCount() +<a name="line.341"></a>
-<span class="sourceLineNo">342</span>          ", length=" + fileSize;<a name="line.342"></a>
-<span class="sourceLineNo">343</span>  }<a name="line.343"></a>
-<span class="sourceLineNo">344</span><a name="line.344"></a>
-<span class="sourceLineNo">345</span>  @Override<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  public long length() {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    return fileSize;<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 void returnBlock(HFileBlock block) {<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    BlockCache blockCache = this.cacheConf.getBlockCache();<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    if (blockCache != null &amp;&amp; block != null) {<a name="line.353"></a>
-<span class="sourceLineNo">354</span>      BlockCacheKey cacheKey = new BlockCacheKey(this.getFileContext().getHFileName(),<a name="line.354"></a>
-<span class="sourceLineNo">355</span>          block.getOffset(), this.isPrimaryReplicaReader());<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      blockCache.returnBlock(cacheKey, block);<a name="line.356"></a>
-<span class="sourceLineNo">357</span>    }<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  }<a name="line.358"></a>
-<span class="sourceLineNo">359</span>  /**<a name="line.359"></a>
-<span class="sourceLineNo">360</span>   * @return the first key in the file. May be null if file has no entries. Note<a name="line.360"></a>
-<span class="sourceLineNo">361</span>   *         that this is not the first row key, but rather the byte form of the<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   *         first KeyValue.<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   */<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  @Override<a name="line.364"></a>
-<span class="sourceLineNo">365</span>  public Cell getFirstKey() {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    if (dataBlockIndexReader == null) {<a name="line.366"></a>
-<span class="sourceLineNo">367</span>      throw new BlockIndexNotLoadedException();<a name="line.367"></a>
-<span class="sourceLineNo">368</span>    }<a name="line.368"></a>
-<span class="sourceLineNo">369</span>    return dataBlockIndexReader.isEmpty() ? null<a name="line.369"></a>
-<span class="sourceLineNo">370</span>        : dataBlockIndexReader.getRootBlockKey(0);<a name="line.370"></a>
-<span class="sourceLineNo">371</span>  }<a name="line.371"></a>
-<span class="sourceLineNo">372</span><a name="line.372"></a>
-<span class="sourceLineNo">373</span>  /**<a name="line.373"></a>
-<span class="sourceLineNo">374</span>   * TODO left from {@link HFile} version 1: move this to StoreFile after Ryan's<a name="line.374"></a>
-<span class="sourceLineNo">375</span>   * patch goes in to eliminate {@link KeyValue} here.<a name="line.375"></a>
-<span class="sourceLineNo">376</span>   *<a name="line.376"></a>
-<span class="sourceLineNo">377</span>   * @return the first row key, or null if the file is empty.<a name="line.377"></a>
-<span class="sourceLineNo">378</span>   */<a name="line.378"></a>
-<span class="sourceLineNo">379</span>  @Override<a name="line.379"></a>
-<span class="sourceLineNo">380</span>  public byte[] getFirstRowKey() {<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    Cell firstKey = getFirstKey();<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    // We have to copy the row part to form the row key alone<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    return firstKey == null? null: CellUtil.cloneRow(firstKey);<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>  /**<a name="line.386"></a>
-<span class="sourceLineNo">387</span>   * TODO left from {@link HFile} version 1: move this to StoreFile after<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * Ryan's patch goes in to eliminate {@link KeyValue} here.<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   *<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   * @return the last row key, or null if the file is empty.<a name="line.390"></a>
-<span class="sourceLineNo">391</span>   */<a name="line.391"></a>
-<span class="sourceLineNo">392</span>  @Override<a name="line.392"></a>
-<span class="sourceLineNo">393</span>  public byte[] getLastRowKey() {<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    Cell lastKey = getLastKey();<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    return lastKey == null? null: CellUtil.cloneRow(lastKey);<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  }<a name="line.396"></a>
-<span class="sourceLineNo">397</span><a name="line.397"></a>
-<span class="sourceLineNo">398</span>  /** @return number of KV entries in this HFile */<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  @Override<a name="line.399"></a>
-<span class="sourceLineNo">400</span>  public long getEntries() {<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    return trailer.getEntryCount();<a name="line.401"></a>
-<span class="sourceLineNo">402</span>  }<a name="line.402"></a>
-<span class="sourceLineNo">403</span><a name="line.403"></a>
-<span class="sourceLineNo">404</span>  /** @return comparator */<a name="line.404"></a>
-<span class="sourceLineNo">405</span>  @Override<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  public CellComparator getComparator() {<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    return comparator;<a name="line.407"></a>
-<span class="sourceLineNo">408</span>  }<a name="line.408"></a>
-<span class="sourceLineNo">409</span><a name="line.409"></a>
-<span class="sourceLineNo">410</span>  /** @return compression algorithm */<a name="line.410"></a>
-<span class="sourceLineNo">411</span>  @Override<a name="line.411"></a>
-<span class="sourceLineNo">412</span>  public Compression.Algorithm getCompressionAlgorithm() {<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    return compressAlgo;<a name="line.413"></a>
-<span class="sourceLineNo">414</span>  }<a name="line.414"></a>
-<span class="sourceLineNo">415</span><a name="line.415"></a>
-<span class="sourceLineNo">416</span>  /**<a name="line.416"></a>
-<span class="sourceLineNo">417</span>   * @return the total heap size of data and meta block indexes in bytes. Does<a name="line.417"></a>
-<span class="sourceLineNo">418</span>   *         not take into account non-root blocks of a multilevel data index.<a name="line.418"></a>
-<span class="sourceLineNo">419</span>   */<a name="line.419"></a>
-<span class="sourceLineNo">420</span>  public long indexSize() {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    return (dataBlockIndexReader != null ? dataBlockIndexReader.heapSize() : 0)<a name="line.421"></a>
-<span class="sourceLineNo">422</span>        + ((metaBlockIndexReader != null) ? metaBlockIndexReader.heapSize()<a name="line.422"></a>
-<span class="sourceLineNo">423</span>            : 0);<a name="line.423"></a>
-<span class="sourceLineNo">424</span>  }<a name="line.424"></a>
-<span class="sourceLineNo">425</span><a name="line.425"></a>
-<span class="sourceLineNo">426</span>  @Override<a name="line.426"></a>
-<span class="sourceLineNo">427</span>  public String getName() {<a name="line.427"></a>
-<span class="sourceLineNo">428</span>    return name;<a name="line.428"></a>
-<span class="sourceLineNo">429</span>  }<a name="line.429"></a>
-<span class="sourceLineNo">430</span><a name="line.430"></a>
-<span class="sourceLineNo">431</span>  @Override<a name="line.431"></a>
-<span class="sourceLineNo">432</span>  public HFileBlockIndex.BlockIndexReader getDataBlockIndexReader() {<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    return dataBlockIndexReader;<a name="line.433"></a>
-<span class="sourceLineNo">434</span>  }<a name="line.434"></a>
-<span class="sourceLineNo">435</span><a name="line.435"></a>
-<span class="sourceLineNo">436</span>  @Override<a name="line.436"></a>
-<span class="sourceLineNo">437</span>  public FixedFileTrailer getTrailer() {<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    return trailer;<a name="line.438"></a>
-<span class="sourceLineNo">439</span>  }<a name="line.439"></a>
-<span class="sourceLineNo">440</span><a name="line.440"></a>
-<span class="sourceLineNo">441</span>  @Override<a name="line.441"></a>
-<span class="sourceLineNo">442</span>  public boolean isPrimaryReplicaReader() {<a name="line.442"></a>
-<span class="sourceLineNo">443</span>    return isPrimaryReplicaReader;<a name="line.443"></a>
-<span class="sourceLineNo">444</span>  }<a name="line.444"></a>
-<span class="sourceLineNo">445</span><a name="line.445"></a>
-<span class="sourceLineNo">446</span>  @Override<a name="line.446"></a>
-<span class="sourceLineNo">447</span>  public void setPrimaryReplicaReader(boolean isPrimaryReplicaReader) {<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    this.isPrimaryReplicaReader = isPrimaryReplicaReader;<a name="line.448"></a>
-<span class="sourceLineNo">449</span>  }<a name="line.449"></a>
-<span class="sourceLineNo">450</span><a name="line.450"></a>
-<span class="sourceLineNo">451</span>  @Override<a name="line.451"></a>
-<span class="sourceLineNo">452</span>  public FileInfo loadFileInfo() throws IOException {<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    return fileInfo;<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>   * An exception thrown when an operation requiring a scanner to be seeked<a name="line.457"></a>
-<span class="sourceLineNo">458</span>   * is invoked on a scanner that is not seeked.<a name="line.458"></a>
-<span class="sourceLineNo">459</span>   */<a name="line.459"></a>
-<span class="sourceLineNo">460</span>  @SuppressWarnings("serial")<a name="line.460"></a>
-<span class="sourceLineNo">461</span>  public static class NotSeekedException extends IllegalStateException {<a name="line.461"></a>
-<span class="sourceLineNo">462</span>    public NotSeekedException() {<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      super("Not seeked to a key/value");<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>  protected static class HFileScannerImpl implements HFileScanner {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    private ByteBuff blockBuffer;<a name="line.468"></a>
-<span class="sourceLineNo">469</span>    protected final boolean cacheBlocks;<a name="line.469"></a>
-<span class="sourceLineNo">470</span>    protected final boolean pread;<a name="line.470"></a>
-<span class="sourceLineNo">471</span>    protected final boolean isCompaction;<a name="line.471"></a>
-<span class="sourceLineNo">472</span>    private int currKeyLen;<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    private int currValueLen;<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    private int currMemstoreTSLen;<a name="line.474"></a>
-<span class="sourceLineNo">475</span>    private long currMemstoreTS;<a name="line.475"></a>
-<span class="sourceLineNo">476</span>    // Updated but never read?<a name="line.476"></a>
-<span class="sourceLineNo">477</span>    protected AtomicInteger blockFetches = new AtomicInteger(0);<a name="line.477"></a>
-<span class="sourceLineNo">478</span>    protected final HFile.Reader reader;<a name="line.478"></a>
-<span class="sourceLineNo">479</span>    private int currTagsLen;<a name="line.479"></a>
-<span class="sourceLineNo">480</span>    // buffer backed keyonlyKV<a name="line.480"></a>
-<span class="sourceLineNo">481</span>    private ByteBufferedKeyOnlyKeyValue bufBackedKeyOnlyKv = new ByteBufferedKeyOnlyKeyValue();<a name="line.481"></a>
-<span class="sourceLineNo">482</span>    // A pair for reusing in blockSeek() so that we don't garbage lot of objects<a name="line.482"></a>
-<span class="sourceLineNo">483</span>    final ObjectIntPair&lt;ByteBuffer&gt; pair = new ObjectIntPair&lt;ByteBuffer&gt;();<a name="line.483"></a>
-<span class="sourceLineNo">484</span><a name="line.484"></a>
-<span class="sourceLineNo">485</span>    /**<a name="line.485"></a>
-<span class="sourceLineNo">486</span>     * The next indexed key is to keep track of the indexed key of the next data block.<a name="line.486"></a>
-<span class="sourceLineNo">487</span>     * If the nextIndexedKey is HConstants.NO_NEXT_INDEXED_KEY, it means that the<a name="line.487"></a>
-<span class="sourceLineNo">488</span>     * current data block is the last data block.<a name="line.488"></a>
-<span class="sourceLineNo">489</span>     *<a name="line.489"></a>
-<span class="sourceLineNo">490</span>     * If the nextIndexedKey is null, it means the nextIndexedKey has not been loaded yet.<a name="line.490"></a>
-<span class="sourceLineNo">491</span>     */<a name="line.491"></a>
-<span class="sourceLineNo">492</span>    protected Cell nextIndexedKey;<a name="line.492"></a>
-<span class="sourceLineNo">493</span>    // Current block being used<a name="line.493"></a>
-<span class="sourceLineNo">494</span>    protected HFileBlock curBlock;<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    // Previous blocks that were used in the course of the read<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    protected final ArrayList&lt;HFileBlock&gt; prevBlocks = new ArrayList&lt;HFileBlock&gt;();<a name="line.496"></a>
-<span class="sourceLineNo">497</span><a name="line.497"></a>
-<span class="sourceLineNo">498</span>    public HFileScannerImpl(final HFile.Reader reader, final boolean cacheBlocks,<a name="line.498"></a>
-<span class="sourceLineNo">499</span>        final boolean pread, final boolean isCompaction) {<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      this.reader = reader;<a name="line.500"></a>
-<span class="sourceLineNo">501</span>      this.cacheBlocks = cacheBlocks;<a name="line.501"></a>
-<span class="sourceLineNo">502</span>      this.pread = pread;<a name="line.502"></a>
-<span class="sourceLineNo">503</span>      this.isCompaction = isCompaction;<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>    void updateCurrBlockRef(HFileBlock block) {<a name="line.506"></a>
-<span class="sourceLineNo">507</span>      if (block != null &amp;&amp; this.curBlock != null &amp;&amp;<a name="line.507"></a>
-<span class="sourceLineNo">508</span>          block.getOffset() == this.curBlock.getOffset()) {<a name="line.508"></a>
-<span class="sourceLineNo">509</span>        return;<a name="line.509"></a>
-<span class="sourceLineNo">510</span>      }<a name="line.510"></a>
-<span class="sourceLineNo">511</span>      // We don't have to keep ref to EXCLUSIVE type of block<a name="line.511"></a>
-<span class="sourceLineNo">512</span>      if (this.curBlock != null &amp;&amp; this.curBlock.usesSharedMemory()) {<a name="line.512"></a>
-<span class="sourceLineNo">513</span>        prevBlocks.add(this.curBlock);<a name="line.513"></a>
-<span class="sourceLineNo">514</span>      }<a name="line.514"></a>
-<span class="sourceLineNo">515</span>      this.curBlock = block;<a name="line.515"></a>
-<span class="sourceLineNo">516</span>    }<a name="line.516"></a>
-<span class="sourceLineNo">517</span><a name="line.517"></a>
-<span class="sourceLineNo">518</span>    void reset() {<a name="line.518"></a>
-<span class="sourceLineNo">519</span>      // We don't have to keep ref to EXCLUSIVE type of block<a name="line.519"></a>
-<span class="sourceLineNo">520</span>      if (this.curBlock != null &amp;&amp; this.curBlock.usesSharedMemory()) {<a name="line.520"></a>
-<span class="sourceLineNo">521</span>        this.prevBlocks.add(this.curBlock);<a name="line.521"></a>
-<span class="sourceLineNo">522</span>      }<a name="line.522"></a>
-<span class="sourceLineNo">523</span>      this.curBlock = null;<a name="line.523"></a>
-<span class="sourceLineNo">524</span>    }<a name="line.524"></a>
-<span class="sourceLineNo">525</span><a name="line.525"></a>
-<span class="sourceLineNo">526</span>    private void returnBlockToCache(HFileBlock block) {<a name="line.526"></a>
-<span class="sourceLineNo">527</span>      if (LOG.isTraceEnabled()) {<a name="line.527"></a>
-<span class="sourceLineNo">528</span>        LOG.trace("Returning the block : " + block);<a name="line.528"></a>
-<span class="sourceLineNo">529</span>      }<a name="line.529"></a>
-<span class="sourceLineNo">530</span>      this.reader.returnBlock(block);<a name="line.530"></a>
-<span class="sourceLineNo">531</span>    }<a name="line.531"></a>
-<span class="sourceLineNo">532</span><a name="line.532"></a>
-<span class="sourceLineNo">533</span>    private void returnBlocks(boolean returnAll) {<a name="line.533"></a>
-<span class="sourceLineNo">534</span>      for (int i = 0; i &lt; this.prevBlocks.size(); i++) {<a name="line.534"></a>
-<span class="sourceLineNo">535</span>        returnBlockToCache(this.prevBlocks.get(i));<a name="line.535"></a>
-<span class="sourceLineNo">536</span>      }<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      this.prevBlocks.clear();<a name="line.537"></a>
-<span class="sourceLineNo">538</span>      if (returnAll &amp;&amp; this.curBlock != null) {<a name="line.538"></a>
-<span class="sourceLineNo">539</span>        returnBlockToCache(this.curBlock);<a name="line.539"></a>
-<span class="sourceLineNo">540</span>        this.curBlock = null;<a name="line.540"></a>
-<span class="sourceLineNo">541</span>      }<a name="line.541"></a>
-<span class="sourceLineNo">542</span>    }<a name="line.542"></a>
-<span class="sourceLineNo">543</span>    @Override<a name="line.543"></a>
-<span class="sourceLineNo">544</span>    public boolean isSeeked(){<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      return blockBuffer != null;<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>    @Override<a name="line.548"></a>
-<span class="sourceLineNo">549</span>    public String toString() {<a name="line.549"></a>
-<span class="sourceLineNo">550</span>      return "HFileScanner for reader " + String.valueOf(getReader());<a name="line.550"></a>
-<span class="sourceLineNo">551</span>    }<a name="line.551"></a>
-<span class="sourceLineNo">552</span><a name="line.552"></a>
-<span class="sourceLineNo">553</span>    protected void assertSeeked() {<a name="line.553"></a>
-<span class="sourceLineNo">554</span>      if (!isSeeked())<a name="line.554"></a>
-<span class="sourceLineNo">555</span>        throw new NotSeekedException();<a name="line.555"></a>
-<span class="sourceLineNo">556</span>    }<a name="line.556"></a>
-<span class="sourceLineNo">557</span><a name="line.557"></a>
-<span class="sourceLineNo">558</span>    @Override<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    public HFile.Reader getReader() {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>      return reader;<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    }<a name="line.561"></a>
-<span class="sourceLineNo">562</span><a name="line.562"></a>
-<span class="sourceLineNo">563</span>    protected int getCellBufSize() {<a name="line.563"></a>
-<span class="sourceLineNo">564</span>      int kvBufSize = KEY_VALUE_LEN_SIZE + currKeyLen + currValueLen;<a name="line.564"></a>
-<span class="sourceLineNo">565</span>      if (this.reader.getFileContext().isIncludesTags()) {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>        kvBufSize += Bytes.SIZEOF_SHORT + currTagsLen;<a name="line.566"></a>
-<span class="sourceLineNo">567</span>      }<a name="line.567"></a>
-<span class="sourceLineNo">568</span>      return kvBufSize;<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>    @Override<a name="line.571"></a>
-<span class="sourceLineNo">572</span>    public void close() {<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      this.returnBlocks(true);<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    }<a name="line.574"></a>
-<span class="sourceLineNo">575</span><a name="line.575"></a>
-<span class="sourceLineNo">576</span>    protected int getCurCellSize() {<a name="line.576"></a>
-<span class="sourceLineNo">577</span>      int curCellSize =  KEY_VALUE_LEN_SIZE + currKeyLen + currValueLen<a name="line.577"></a>
-<span class="sourceLineNo">578</span>          + currMemstoreTSLen;<a name="line.578"></a>
-<span class="sourceLineNo">579</span>      if (this.reader.getFileContext().isIncludesTags()) {<a name="line.579"></a>
-<span class="sourceLineNo">580</span>        curCellSize += Bytes.SIZEOF_SHORT + currTagsLen;<a name="line.580"></a>
-<span class="sourceLineNo">581</span>      }<a name="line.581"></a>
-<span class="sourceLineNo">582</span>      return curCellSize;<a name="line.582"></a>
-<span class="sourceLineNo">583</span>    }<a name="line.583"></a>
-<span class="sourceLineNo">584</span><a name="line.584"></a>
-<span class="sourceLineNo">585</span>    protected void readKeyValueLen() {<a name="line.585"></a>
-<span class="sourceLineNo">586</span>      // This is a hot method. We go out of our way to make this method short so it can be<a name="line.586"></a>
-<span class="sourceLineNo">587</span>      // inlined and is not too big to compile. We also manage position in ByteBuffer ourselves<a name="line.587"></a>
-<span class="sourceLineNo">588</span>      // because it is faster than going via range-checked ByteBuffer methods or going through a<a name="line.588"></a>
-<span class="sourceLineNo">589</span>      // byte buffer array a byte at a time.<a name="line.589"></a>
-<span class="sourceLineNo">590</span>      // Get a long at a time rather than read two individual ints. In micro-benchmarking, even<a name="line.590"></a>
-<span class="sourceLineNo">591</span>      // with the extra bit-fiddling, this is order-of-magnitude faster than getting two ints.<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      // Trying to imitate what was done - need to profile if this is better or<a name="line.592"></a>
-<span class="sourceLineNo">593</span>      // earlier way is better by doing mark and reset?<a name="line.593"></a>
-<span class="sourceLineNo">594</span>      // But ensure that you read long instead of two ints<a name="line.594"></a>
-<span class="sourceLineNo">595</span>      long ll = blockBuffer.getLongAfterPosition(0);<a name="line.595"></a>
-<span class="sourceLineNo">596</span>      // Read top half as an int of key length and bottom int as value length<a name="line.596"></a>
-<span class="sourceLineNo">597</span>      this.currKeyLen = (int)(ll &gt;&gt; Integer.SIZE);<a name="line.597"></a>
-<span class="sourceLineNo">598</span>      this.currValueLen = (int)(Bytes.MASK_FOR_LOWER_INT_IN_LONG ^ ll);<a name="line.598"></a>
-<span class="sourceLineNo">599</span>      checkKeyValueLen();<a name="line.599"></a>
-<span class="sourceLineNo">600</span>      // Move position past the key and value lengths and then beyond the key and value<a name="line.600"></a>
-<span class="sourceLineNo">601</span>      int p = (Bytes.SIZEOF_LONG + currKeyLen + currValueLen);<a name="line.601"></a>
-<span class="sourceLineNo">602</span>      if (reader.getFileContext().isIncludesTags()) {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>        // Tags length is a short.<a name="line.603"></a>
-<span class="sourceLineNo">604</span>        this.currTagsLen = blockBuffer.getShortAfterPosition(p);<a name="line.604"></a>
-<span class="sourceLineNo">605</span>        checkTagsLen();<a name="line.605"></a>
-<span class="sourceLineNo">606</span>        p += (Bytes.SIZEOF_SHORT + currTagsLen);<a name="line.606"></a>
-<span class="sourceLineNo">607</span>      }<a name="line.607"></a>
-<span class="sourceLineNo">608</span>      readMvccVersion(p);<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>    private final void checkTagsLen() {<a name="line.611"></a>
-<span class="sourceLineNo">612</span>      if (checkLen(this.currTagsLen)) {<a name="line.612"></a>
-<span class="sourceLineNo">613</span>        throw new IllegalStateException("Invalid currTagsLen " + this.currTagsLen +<a name="line.613"></a>
-<span class="sourceLineNo">614</span>          ". Block offset: " + curBlock.getOffset() + ", block length: " +<a name="line.614"></a>
-<span class="sourceLineNo">615</span>            this.blockBuffer.limit() +<a name="line.615"></a>
-<span class="sourceLineNo">616</span>          ", position: " + this.blockBuffer.position() + " (without header).");<a name="line.616"></a>
-<span class="sourceLineNo">617</span>      }<a name="line.617"></a>
-<span class="sourceLineNo">618</span>    }<a name="line.618"></a>
-<span class="sourceLineNo">619</span><a name="line.619"></a>
-<span class="sourceLineNo">620</span>    /**<a name="line.620"></a>
-<span class="sourceLineNo">621</span>     * Read mvcc. Does checks to see if we even need to read the mvcc at all.<a name="line.621"></a>
-<span class="sourceLineNo">622</span>     * @param offsetFromPos<a name="line.622"></a>
-<span class="sourceLineNo">623</span>     */<a name="line.623"></a>
-<span class="sourceLineNo">624</span>    protected void readMvccVersion(final int offsetFromPos) {<a name="line.624"></a>
-<span class="sourceLineNo">625</span>      // See if we even need to decode mvcc.<a name="line.625"></a>
-<span class="sourceLineNo">626</span>      if (!this.reader.shouldIncludeMemstoreTS()) return;<a name="line.626"></a>
-<span class="sourceLineNo">627</span>      if (!this.reader.isDecodeMemstoreTS()) {<a name="line.627"></a>
-<span class="sourceLineNo">628</span>        currMemstoreTS = 0;<a name="line.628"></a>
-<span class="sourceLineNo">629</span>        currMemstoreTSLen = 1;<a name="line.629"></a>
-<span class="sourceLineNo">630</span>        return;<a name="line.630"></a>
-<span class="sourceLineNo">631</span>      }<a name="line.631"></a>
-<span class="sourceLineNo">632</span>      _readMvccVersion(offsetFromPos);<a name="line.632"></a>
-<span class="sourceLineNo">633</span>    }<a name="line.633"></a>
-<span class="sourceLineNo">634</span><a name="line.634"></a>
-<span class="sourceLineNo">635</span>    /**<a name="line.635"></a>
-<span class="sourceLineNo">636</span>     * Actually do the mvcc read. Does no checks.<a name="line.636"></a>
-<span class="sourceLineNo">637</span>     * @param offsetFromPos<a name="line.637"></a>
-<span class="sourceLineNo">638</span>     */<a name="line.638"></a>
-<span class="sourceLineNo">639</span>    private void _readMvccVersion(int offsetFromPos) {<a name="line.639"></a>
-<span class="sourceLineNo">640</span>      // This is Bytes#bytesToVint inlined so can save a few instructions in this hot method; i.e.<a name="line.640"></a>
-<span class="sourceLineNo">641</span>      // previous if one-byte vint, we'd redo the vint call to find int size.<a name="line.641"></a>
-<span class="sourceLineNo">642</span>      // Also the method is kept small so can be inlined.<a name="line.642"></a>
-<span class="sourceLineNo">643</span>      byte firstByte = blockBuffer.getByteAfterPosition(offsetFromPos);<a name="line.643"></a>
-<span class="sourceLineNo">644</span>      int len = WritableUtils.decodeVIntSize(firstByte);<a name="line.644"></a>
-<span class="sourceLineNo">645</span>      if (len == 1) {<a name="line.645"></a>
-<span class="sourceLineNo">646</span>        this.currMemstoreTS = firstByte;<a name="line.646"></a>
-<span class="sourceLineNo">647</span>      } else {<a name="line.647"></a>
-<span class="sourceLineNo">648</span>        int remaining = len -1;<a name="line.648"></a>
-<span class="sourceLineNo">649</span>        long i = 0;<a name="line.649"></a>
-<span class="sourceLineNo">650</span>        offsetFromPos++;<a name="line.650"></a>
-<span class="sourceLineNo">651</span>        if (remaining &gt;= Bytes.SIZEOF_INT) {<a name="line.651"></a>
-<span class="sourceLineNo">652</span>          i = blockBuffer.getIntAfterPosition(offsetFromPos);<a name="line.652"></a>
-<span class="sourceLineNo">653</span>          remaining -= Bytes.SIZEOF_INT;<a name="line.653"></a>
-<span class="sourceLineNo">654</span>          offsetFromPos += Bytes.SIZEOF_INT;<a name="line.654"></a>
-<span class="sourceLineNo">655</span>        }<a name="line.655"></a>
-<span class="sourceLineNo">656</span>        if (remaining &gt;= Bytes.SIZEOF_SHORT) {<a name="line.656"></a>
-<span class="sourceLineNo">657</span>          short s = blockBuffer.getShortAfterPosition(offsetFromPos);<a name="line.657"></a>
-<span class="sourceLineNo">658</span>          i = i &lt;&lt; 16;<a name="line.658"></a>
-<span class="sourceLineNo">659</span>          i = i | (s &amp; 0xFFFF);<a name="line.659"></a>
-<span class="sourceLineNo">660</span>          remaining -= Bytes.SIZEOF_SHORT;<a name="line.660"></a>
-<span class="sourceLineNo">661</span>          offsetFromPos += Bytes.SIZEOF_SHORT;<a name="line.661"></a>
-<span class="sourceLineNo">662</span>        }<a name="line.662"></a>
-<span class="sourceLineNo">663</span>        for (int idx = 0; idx &lt; remaining; idx++) {<a name="line.663"></a>
-<span class="sourceLineNo">664</span>          byte b = blockBuffer.getByteAfterPosition(offsetFromPos + idx);<a name="line.664"></a>
-<span class="sourceLineNo">665</span>          i = i &lt;&lt; 8;<a name="line.665"></a>
-<span class="sourceLineNo">666</span>          i = i | (b &amp; 0xFF);<a name="line.666"></a>
-<span class="sourceLineNo">667</span>        }<a name="line.667"></a>
-<span class="sourceLineNo">668</span>        currMemstoreTS = (WritableUtils.isNegativeVInt(firstByte) ? ~i : i);<a name="line.668"></a>
-<span class="sourceLineNo">669</span>      }<a name="line.669"></a>
-<span class="sourceLineNo">670</span>      this.currMemstoreTSLen = len;<a name="line.670"></a>
-<span class="sourceLineNo">671</span>    }<a name="line.671"></a>
-<span class="sourceLineNo">672</span><a name="line.672"></a>
-<span class="sourceLineNo">673</span>    /**<a name="line.673"></a>
-<span class="sourceLineNo">674</span>     * Within a loaded block, seek looking for the last key that is smaller than<a name="line.674"></a>
-<span class="sourceLineNo">675</span>     * (or equal to?) the key we are interested in.<a name="line.675"></a>
-<span class="sourceLineNo">676</span>     * A note on the seekBefore: if you have seekBefore = true, AND the first<a name="line.676"></a>
-<span class="sourceLineNo">677</span>     * key in the block = key, then you'll get thrown exceptions. The caller has<a name="line.677"></a>
-<span class="sourceLineNo">678</span>     * to check for that case and load the previous block as appropriate.<a name="line.678"></a>
-<span class="sourceLineNo">679</span>     * @param key<a name="line.679"></a>
-<span class="sourceLineNo">680</span>     *          the key to find<a name="line.680"></a>
-<span class="sourceLineNo">681</span>     * @param seekBefore<a name="line.681"></a>
-<span class="sourceLineNo">682</span>     *          find the key before the given key in case of exact match.<a name="line.682"></a>
-<span class="sourceLineNo">683</span>     * @return 0 in case of an exact key match, 1 in case of an inexact match,<a name="line.683"></a>
-<span class="sourceLineNo">684</span>     *         -2 in case of an inexact match and furthermore, the input key<a name="line.684"></a>
-<span class="sourceLineNo">685</span>     *         less than the first key of current block(e.g. using a faked index<a name="line.685"></a>
-<span class="sourceLineNo">686</span>     *         key)<a name="line.686"></a>
-<span class="sourceLineNo">687</span>     */<a name="line.687"></a>
-<span class="sourceLineNo">688</span>    protected int blockSeek(Cell key, boolean seekBefore) {<a name="line.688"></a>
-<span class="sourceLineNo">689</span>      int klen, vlen, tlen = 0;<a name="line.689"></a>
-<span class="sourceLineNo">690</span>      int lastKeyValueSize = -1;<a name="line.690"></a>
-<span class="sourceLineNo">691</span>      int offsetFromPos;<a name="line.691"></a>
-<span class="sourceLineNo">692</span>      do {<a name="line.692"></a>
-<span class="sourceLineNo">693</span>        offsetFromPos = 0;<a name="line.693"></a>
-<span class="sourceLineNo">694</span>        // Better to ensure that we use the BB Utils here<a name="line.694"></a>
-<span class="sourceLineNo">695</span>        long ll = blockBuffer.getLongAfterPosition(offsetFromPos);<a name="line.695"></a>
-<span class="sourceLineNo">696</span>        klen = (int)(ll &gt;&gt; Integer.SIZE);<a name="line.696"></a>
-<span class="sourceLineNo">697</span>        vlen = (int)(Bytes.MASK_FOR_LOWER_INT_IN_LONG ^ ll);<a name="line.697"></a>
-<span class="sourceLineNo">698</span>        if (klen &lt; 0 || vlen &lt; 0 || klen &gt; blockBuffer.limit()<a name="line.698"></a>
-<span class="sourceLineNo">699</span>            || vlen &gt; blockBuffer.limit()) {<a name="line.699"></a>
-<span class="sourceLineNo">700</span>          throw new IllegalStateException("Invalid klen " + klen + " or vlen "<a name="line.700"></a>
-<span class="sourceLineNo">701</span>              + vlen + ". Block offset: "<a name="line.701"></a>
-<span class="sourceLineNo">702</span>              + curBlock.getOffset() + ", block length: " + blockBuffer.limit() + ", position: "<a name="line.702"></a>
-<span class="sourceLineNo">703</span>              + blockBuffer.position() + " (without header).");<a name="line.703"></a>
-<span class="sourceLineNo">704</span>        }<a name="line.704"></a>
-<span class="sourceLineNo">705</span>        offsetFromPos += Bytes.SIZEOF_LONG;<a name="line.705"></a>
-<span class="sourceLineNo">706</span>        blockBuffer.asSubByteBuffer(blockBuffer.position() + offsetFromPos, klen, pair);<a name="line.706"></a>
-<span class="sourceLineNo">707</span>        bufBackedKeyOnlyKv.setKey(pair.getFirst(), pair.getSecond(), klen);<a name="line.707"></a>
-<span class="sourceLineNo">708</span>        int comp = reader.getComparator().compareKeyIgnoresMvcc(key, bufBackedKeyOnlyKv);<a name="line.708"></a>
-<span class="sourceLineNo">709</span>        offsetFromPos += klen + vlen;<a name="line.709"></a>
-<span class="sourceLineNo">710</span>        if (this.reader.getFileContext().isIncludesTags()) {<a name="line.710"></a>
-<span class="sourceLineNo">711</span>          // Read short as unsigned, high byte first<a name="line.711"></a>
-<span class="sourceLineNo">712</span>          tlen = ((blockBuffer.getByteAfterPosition(offsetFromPos) &amp; 0xff) &lt;&lt; 8)<a name="line.712"></a>
-<span class="sourceLineNo">713</span>              ^ (blockBuffer.getByteAfterPosition(offsetFromPos + 1) &amp; 0xff);<a name="line.713"></a>
-<span class="sourceLineNo">714</span>          if (tlen &lt; 0 || tlen &gt; blockBuffer.limit()) {<a name="line.714"></a>
-<span class="sourceLineNo">715</span>            throw new IllegalStateException("Invalid tlen " + tlen + ". Block offset: "<a name="line.715"></a>
-<span class="sourceLineNo">716</span>                + curBlock.getOffset() + ", block length: " + blockBuffer.limit() + ", position: "<a name="line.716"></a>
-<span class="sourceLineNo">717</span>                + blockBuffer.position() + " (without header).");<a name="line.717"></a>
-<span class="sourceLineNo">718</span>          }<a name="line.718"></a>
-<span class="sourceLineNo">719</span>          // add the two bytes read for the tags.<a name="line.719"></a>
-<span class="sourceLineNo">720</span>          offsetFromPos += tlen + (Bytes.SIZEOF_SHORT);<a name="line.720"></a>
-<span class="sourceLineNo">721</span>        }<a name="line.721"></a>
-<span class="sourceLineNo">722</span>        if (this.reader.shouldIncludeMemstoreTS()) {<a name="line.722"></a>
-<span class="sourceLineNo">723</span>          // Directly read the mvcc based on current position<a name="line.723"></a>
-<span class="sourceLineNo">724</span>          readMvccVersion(offsetFromPos);<a name="line.724"></a>
-<span class="sourceLineNo">725</span>        }<a name="line.725"></a>
-<span class="sourceLineNo">726</span>        if (comp == 0) {<a name="line.726"></a>
-<span class="sourceLineNo">727</span>          if (seekBefore) {<a name="line.727"></a>
-<span class="sourceLineNo">728</span>            if (lastKeyValueSize &lt; 0) {<a name="line.728"></a>
-<span class="sourceLineNo">729</span>              throw new IllegalStateException("blockSeek with seekBefore "<a name="line.729"></a>
-<span class="sourceLineNo">730</span>                  + "at the first key of the block: key=" + CellUtil.getCellKeyAsString(key)<a name="line.730"></a>
-<span class="sourceLineNo">731</span>                  + ", blockOffset=" + curBlock.getOffset() + ", onDiskSize="<a name="line.731"></a>
-<span class="sourceLineNo">732</span>                  + curBlock.getOnDiskSizeWithHeader());<a name="line.732"></a>
-<span class="sourceLineNo">733</span>            }<a name="line.733"></a>
-<span class="sourceLineNo">734</span>            blockBuffer.moveBack(lastKeyValueSize);<a name="line.734"></a>
-<span class="sourceLineNo">735</span>            readKeyValueLen();<a name="line.735"></a>
-<span class="sourceLineNo">736</span>            return 1; // non exact match.<a name="line.736"></a>
-<span class="sourceLineNo">737</span>          }<a name="line.737"></a>
-<span class="sourceLineNo">738</span>          currKeyLen = klen;<a name="line.738"></a>
-<span class="sourceLineNo">739</span>          currValueLen = vlen;<a name="line.739"></a>
-<span class="sourceLineNo">740</span>          currTagsLen = tlen;<a name="line.740"></a>
-<span class="sourceLineNo">741</span>          return 0; // indicate exact match<a name="line.741"></a>
-<span class="sourceLineNo">742</span>        } else if (comp &lt; 0) {<a name="line.742"></a>
-<span class="sourceLineNo">743</span>          if (lastKeyValueSize &gt; 0) {<a name="line.743"></a>
-<span class="sourceLineNo">744</span>            blockBuffer.moveBack(lastKeyValueSize);<a name="line.744"></a>
-<span class="sourceLineNo">745</span>          }<a name="line.745"></a>
-<span class="sourceLineNo">746</span>          readKeyValueLen();<a name="line.746"></a>
-<span class="sourceLineNo">747</span>          if (lastKeyValueSize == -1 &amp;&amp; blockBuffer.position() == 0) {<a name="line.747"></a>
-<span class="sourceLineNo">748</span>            return HConstants.INDEX_KEY_MAGIC;<a name="line.748"></a>
-<span class="sourceLineNo">749</span>          }<a name="line.749"></a>
-<span class="sourceLineNo">750</span>          return 1;<a name="line.750"></a>
-<span class="sourceLineNo">751</span>        }<a name="line.751"></a>
-<span class="sourceLineNo">752</span>        // The size of this key/value tuple, including key/value length fields.<a name="line.752"></a>
-<span class="sourceLineNo">753</span>        lastKeyValueSize = klen + vlen + currMemstoreTSLen + KEY_VALUE_LEN_SIZE;<a name="line.753"></a>
-<span class="sourceLineNo">754</span>        // include tag length also if tags included with KV<a name="line.754"></a>
-<span class="sourceLineNo">755</span>        if (reader.getFileContext().isIncludesTags()) {<a name="line.755"></a>
-<span class="sourceLineNo">756</span>          lastKeyValueSize += tlen + Bytes.SIZEOF_SHORT;<a name="line.756"></a>
-<span class="sourceLineNo">757</span>        }<a name="line.757"></a>
-<span class="sourceLineNo">758</span>        blockBuffer.skip(lastKeyValueSize);<a name="line.758"></a>
-<span class="sourceLineNo">759</span>      } while (blockBuffer.hasRemaining());<a name="line.759"></a>
-<span class="sourceLineNo">760</span><a name="line.760"></a>
-<span class="sourceLineNo">761</span>      // Seek to the last key we successfully read. This will happen if this is<a name="line.761"></a>
-<span class="sourceLineNo">762</span>      // the last key/value pair in the file, in which case the following call<a name="line.762"></a>
-<span class="sourceLineNo">763</span>      // to next() has to return false.<a name="line.763"></a>
-<span class="sourceLineNo">764</span>      blockBuffer.moveBack(lastKeyValueSize);<a name="line.764"></a>
-<span class="sourceLineNo">765</span>      readKeyValueLen();<a name="line.765"></a>
-<span class="sourceLineNo">766</span>      return 1; // didn't exactly find it.<a name="line.766"></a>
-<span class="sourceLineNo">767</span>    }<a name="line.767"></a>
-<span class="sourceLineNo">768</span><a name="line.768"></a>
-<span class="sourceLineNo">769</span>    @Override<a name="line.769"></a>
-<span class="sourceLineNo">770</span>    public Cell getNextIndexedKey() {<a name="line.770"></a>
-<span class="sourceLineNo">771</span>      return nextIndexedKey;<a name="line.771"></a>
-<span class="sourceLineNo">772</span>    }<a name="line.772"></a>
-<span class="sourceLineNo">773</span><a name="line.773"></a>
-<span class="sourceLineNo">774</span>    @Override<a name="line.774"></a>
-<span class="sourceLineNo">775</span>    public int seekTo(Cell key) throws IOException {<a name="line.775"></a>
-<span class="sourceLineNo">776</span>      return seekTo(key, true);<a name="line.776"></a>
-<span class="sourceLineNo">777</span>    }<a name="line.777"></a>
-<span class="sourceLineNo">778</span><a name="line.778"></a>
-<span class="sourceLineNo">779</span>    @Override<a name="line.779"></a>
-<span class="sourceLineNo">780</span>    public int reseekTo(Cell key) throws IOException {<a name="line.780"></a>
-<span class="sourceLineNo">781</span>      int compared;<a name="line.781"></a>
-<span class="sourceLineNo">782</span>      if (isSeeked()) {<a name="line.782"></a>
-<span class="sourceLineNo">783</span>        compared = compareKey(reader.getComparator(), key);<a name="line.783"></a>
-<span class="sourceLineNo">784</span>        if (compared &lt; 1) {<a name="line.784"></a>
-<span class="sourceLineNo">785</span>          // If the required key is less than or equal to current key, then<a name="line.785"></a>
-<span class="sourceLineNo">786</span>          // don't do anything.<a name="line.786"></a>
-<span class="sourceLineNo">787</span>          return compared;<a name="line.787"></a>
-<span class="sourceLineNo">788</span>        } else {<a name="line.788"></a>
-<span class="sourceLineNo">789</span>          // The comparison with no_next_index_key has to be checked<a name="line.789"></a>
-<span class="sourceLineNo">790</span>          if (this.nextIndexedKey != null &amp;&amp;<a name="line.790"></a>
-<span class="sourceLineNo">791</span>              (this.nextIndexedKey == HConstants.NO_NEXT_INDEXED_KEY || reader<a name="line.791"></a>
-<span class="sourceLineNo">792</span>              .getComparator().compareKeyIgnoresMvcc(key, nextIndexedKey) &lt; 0)) {<a name="line.792"></a>
-<span class="sourceLineNo">793</span>            // The reader shall continue to scan the current data block instead<a name="line.793"></a>
-<span class="sourceLineNo">794</span>            // of querying the<a name="line.794"></a>
-<span class="sourceLineNo">795</span>            // block index as long as it knows the target key is strictly<a name="line.795"></a>
-<span class="sourceLineNo">796</span>            // smaller than<a name="line.796"></a>
-<span class="sourceLineNo">797</span>            // the next indexed key or the current data block is the last data<a name="line.797"></a>
-<span class="sourceLineNo">798</span>            // block.<a name="line.798"></a>
-<span class="sourceLineNo">799</span>            return loadBlockAndSeekToKey(this.curBlock, nextIndexedKey, false, key,<a name="line.799"></a>
-<span class="sourceLineNo">800</span>                false);<a name="line.800"></a>
-<span class="sourceLineNo">801</span>          }<a name="line.801"></a>
-<span class="sourceLineNo">802</span><a name="line.802"></a>
-<span class="sourceLineNo">803</span>        }<a name="line.803"></a>
-<span class="sourceLineNo">804</span>      }<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      // Don't rewind on a reseek operation, because reseek implies that we are<a name="line.805"></a>
-<span class="sourceLineNo">806</span>      // always going forward in the file.<a name="line.806"></a>
-<span class="sourceLineNo">807</span>      return seekTo(key, false);<a name="line.807"></a>
-<span class="sourceLineNo">808</span>    }<a name="line.808"></a>
-<span class="sourceLineNo">809</span><a name="line.809"></a>
-<span class="sourceLineNo">810</span>    /**<a name="line.810"></a>
-<span class="sourceLineNo">811</span>     * An internal API function. Seek to the given key, optionally rewinding to<a name="line.811"></a>
-<span class="sourceLineNo">812</span>     * the first key of the block before doing the seek.<a name="line.812"></a>
-<span class="sourceLineNo">813</span>     *<a name="line.813"></a>
-<span class="sourceLineNo">814</span>     * @param key - a cell representing the key that we need to fetch<a name="line.814"></a>
-<span class="sourceLineNo">815</span>     * @param rewind whether to rewind to the first key of the block before<a name="line.815"></a>
-<span class="sourceLineNo">816</span>     *        doing the seek. If this is false, we are assuming we never go<a name="line.816"></a>
-<span class="sourceLineNo">817</span>     *        back, otherwise the result is undefined.<a name="line.817"></a>
-<span class="sourceLineNo">818</span>     * @return -1 if the key is earlier than the first key of the file,<a name="line.818"></a>
-<span class="sourceLineNo">819</span>     *         0 if we are at the given key, 1 if we are past the given key<a name="line.819"></a>
-<span class="sourceLineNo">820</span>     *         -2 if the key is earlier than the first key of the file while<a name="line.820"></a>
-<span class="sourceLineNo">821</span>     *         using a faked index key<a name="line.821"></a>
-<span class="sourceLineNo">822</span>     * @throws IOException<a name="line.822"></a>
-<span class="sourceLineNo">823</span>     */<a name="line.823"></a>
-<span class="sourceLineNo">824</span>    public int seekTo(Cell key, boolean rewind) throws IOException {<a name="line.824"></a>
-<span class="sourceLineNo">825</span>      HFileBlockIndex.BlockIndexReader indexReader = reader.getDataBlockIndexReader();<a name="line.825"></a>
-<span class="sourceLineNo">826</span>      BlockWithScanInfo blockWithScanInfo = indexReader.loadDataBlockWithScanInfo(key, curBlock,<a name="line.826"></a>
-<span class="sourceLineNo">827</span>          cacheBlocks, pread, isCompaction, getEffectiveDataBlockEncoding());<a name="line.827"></a>
-<span class="sourceLineNo">828</span>      if (blockWithScanInfo == null || blockWithScanInfo.getHFileBlock() == null) {<a name="line.828"></a>
-<span class="sourceLineNo">829</span>        // This happens if the key e.g. falls before the beginning of the<a name="line.829"></a>
-<span class="sourceLineNo">830</span>        // file.<a name="line.830"></a>
-<span class="sourceLineNo">831</span>        return -1;<a name="line.831"></a>
-<span class="sourceLineNo">832</span>      }<a name="line.832"></a>
-<span class="sourceLineNo">833</span>      return loadBlockAndSeekToKey(blockWithScanInfo.getHFileBlock(),<a name="line.833"></a>
-<span class="sourceLineNo">834</span>          blockWithScanInfo.getNextIndexedKey(), rewind, key, false);<a name="line.834"></a>
-<span class="sourceLineNo">835</span>    }<a name="line.835"></a>
-<span class="sourceLineNo">836</span><a name="line.836"></a>
-<span class="sourceLineNo">837</span>    @Override<a name="line.837"></a>
-<span class="sourceLineNo">838</span>    public boolean seekBefore(Cell key) throws IOException {<a name="line.838"></a>
-<span class="sourceLineNo">839</span>      HFileBlock seekToBlock = reader.getDataBlockIndexReader().seekToDataBlock(key, curBlock,<a name="line.839"></a>
-<span class="sourceLineNo">840</span>          cacheBlocks, pread, isCompaction, reader.getEffectiveEncodingInCache(isCompaction));<a name="line.840"></a>
-<span class="sourceLineNo">841</span>      if (seekToBlock == null) {<a name="line.841"></a>
-<span class="sourceLineNo">842</span>        return false;<a name="line.842"></a>
-<span class="sourceLineNo">843</span>      }<a name="line.843"></a>
-<span class="sourceLineNo">844</span>      Cell firstKey = getFirstKeyCellInBlock(seekToBlock);<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      if (reader.getComparator()<a name="line.845"></a>
-<span class="sourceLineNo">846</span>           .compareKeyIgnoresMvcc(firstKey, key) &gt;= 0) {<a name="line.846"></a>
-<span class="sourceLineNo">847</span>        long previousBlockOffset = seekToBlock.getPrevBlockOffset();<a name="line.847"></a>
-<span class="sourceLineNo">848</span>        // The key we are interested in<a name="line.848"></a>
-<span class="sourceLineNo">849</span>        if (previousBlockOffset == -1) {<a name="line.849"></a>
-<span class="sourceLineNo">850</span>          // we have a 'problem', the key we want is the first of the file.<a name="line.850"></a>
-<span class="sourceLineNo">851</span>          return false;<a name="line.851"></a>
-<span class="sourceLineNo">852</span>        }<a name="line.852"></a>
-<span class="sourceLineNo">853</span><a name="line.853"></a>
-<span class="sourceLineNo">854</span>        // The first key in the current block 'seekToBlock' is greater than the given <a name="line.854"></a>
-<span class="sourceLineNo">855</span>        // seekBefore key. We will go ahead by reading the next block that satisfies the<a name="line.855"></a>
-<span class="sourceLineNo">856</span>        // given key. Return the current block before reading the next one.<a name="line.856"></a>
-<span class="sourceLineNo">857</span>        reader.returnBlock(seekToBlock);<a name="line.857"></a>
-<span class="sourceLineNo">858</span>        // It is important that we compute and pass onDiskSize to the block<a name="line.858"></a>
-<span class="sourceLineNo">859</span>        // reader so that it does not have to read the header separately to<a name="line.859"></a>
-<span class="sourceLineNo">860</span>        // figure out the size.  Currently, we do not have a way to do this<a name="line.860"></a>
-<span class="sourceLineNo">861</span>        // correctly in the general case however.<a name="line.861"></a>
-<span class="sourceLineNo">862</span>        // TODO: See https://issues.apache.org/jira/browse/HBASE-14576<a name="line.862"></a>
-<span class="sourceLineNo">863</span>        int prevBlockSize = -1;<a name="line.863"></a>
-<span class="sourceLineNo">864</span>        seekToBlock = reader.readBlock(previousBlockOffset,<a name="line.864"></a>
-<span class="sourceLineNo">865</span>            prevBlockSize, cacheBlocks,<a name="line.865"></a>
-<span class="sourceLineNo">866</span>            pread, isCompaction, true, BlockType.DATA, getEffectiveDataBlockEncoding());<a name="line.866"></a>
-<span class="sourceLineNo">867</span>        // TODO shortcut: seek forward in this block to the last key of the<a name="line.867"></a>
-<span class="sourceLineNo">868</span>        // block.<a name="line.868"></a>
-<span class="sourceLineNo">869</span>      }<a name="line.869"></a>
-<span class="sourceLineNo">870</span>      loadBlockAndSeekToKey(seekToBlock, firstKey, true, key, true);<a name="line.870"></a>
-<span class="sourceLineNo">871</span>      return true;<a name="line.871"></a>
-<span class="sourceLineNo">872</span>    }<a name="line.872"></a>
-<span class="sourceLineNo">873</span><a name="line.873"></a>
-<span class="sourceLineNo">874</span>    /**<a name="line.874"></a>
-<span class="sourceLineNo">875</span>     * Scans blocks in the "scanned" section of the {@link HFile} until the next<a name="line.875"></a>
-<span class="sourceLineNo">876</span>     * data block is found.<a name="line.876"></a>
-<span class="sourceLineNo">877</span>     *<a name="line.877"></a>
-<span class="sourceLineNo">878</span>     * @return the next block, or null if there are no more data blocks<a name="line.878"></a>
-<span class="sourceLineNo">879</span>     * @throws IOException<a name="line.879"></a>
-<span class="sourceLineNo">880</span>     */<a name="line.880"></a>
-<span class="sourceLineNo">881</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="NP_NULL_ON_SOME_PATH",<a name="line.881"></a>
-<span class="sourceLineNo">882</span>        justification="Yeah, unnecessary null check; could do w/ clean up")<a name="line.882"></a>
-<span class="sourceLineNo">883</span>    protected HFileBlock readNextDataBlock() throws IOException {<a name="line.883"></a>
-<span class="sourceLineNo">884</span>      long lastDataBlockOffset = reader.getTrailer().getLastDataBlockOffset();<a name="line.884"></a>
-<span class="sourceLineNo">885</span>      if (curBlock == null)<a name="line.885"></a>
-<span class="sourceLineNo">886</span>        return null;<a name="line.886"></a>
-<span class="sourceLineNo">887</span><a name="line.887"></a>
-<span class="sourceLineNo">888</span>      HFileBlock block = this.curBlock;<a name="line.888"></a>
-<span class="sourceLineNo">889</span><a name="line.889"></a>
-<span class="sourceLineNo">890</span>      do {<a name="line.890"></a>
-<span class="sourceLineNo">891</span>        if (block.getOffset() &gt;= lastDataBlockOffset) {<a name="line.891"></a>
-<span class="sourceLineNo">892</span>          return null;<a name="line.892"></a>
-<span class="sourceLineNo">893</span>        }<a name="line.893"></a>
-<span class="sourceLineNo">894</span><a name="line.894"></a>
-<span class="sourceLineNo">895</span>        if (block.getOffset() &lt; 0) {<a name="line.895"></a>
-<span class="sourceLineNo">896</span>          throw new IOException("Invalid block file offset: " + block);<a name="line.896"></a>
-<span class="sourceLineNo">897</span>        }<a name="line.897"></a>
-<span class="sourceLineNo">898</span><a name="line.898"></a>
-<span class="sourceLineNo">899</span>        // We are reading the next block without block type validation, because<a name="line.899"></a>
-<span class="sourceLineNo">900</span>        // it might turn out to be a non-data block.<a name="line.900"></a>
-<span class="sourceLineNo">901</span>        block = reader.readBlock(block.getOffset()<a name="line.901"></a>
-<span class="sourceLineNo">902</span>            + block.getOnDiskSizeWithHeader(),<a name="line.902"></a>
-<span class="sourceLineNo">903</span>            block.getNextBlockOnDiskSizeWithHeader(), cacheBlocks, pread,<a name="line.903"></a>
-<span class="sourceLineNo">904</span>            isCompaction, true, null, getEffectiveDataBlockEncoding());<a name="line.904"></a>
-<span class="sourceLineNo">905</span>        if (block != null &amp;&amp; !block.getBlockType().isData()) { // Findbugs: NP_NULL_ON_SOME_PATH<a name="line.905"></a>
-<span class="sourceLineNo">906</span>          // Whatever block we read we will be returning it unless<a name="line.906"></a>
-<span class="sourceLineNo">907</span>          // it is a datablock. Just in case the blocks are non data blocks<a name="line.907"></a>
-<span class="sourceLineNo">908</span>          reader.returnBlock(block);<a name="line.908"></a>
-<span class="sourceLineNo">909</span>        }<a name="line.909"></a>
-<span class="sourceLineNo">910</span>      } while (!block.getBlockType().isData());<a name="line.910"></a>
-<span class="sourceLineNo">911</span><a name="line.911"></a>
-<span class="sourceLineNo">912</span>      return block;<a name="line.912"></a>
-<span class="sourceLineNo">913</span>    }<a name="line.913"></a>
-<span class="sourceLineNo">914</span><a name="line.914"></a>
-<span class="sourceLineNo">915</span>    public DataBlockEncoding getEffectiveDataBlockEncoding() {<a name="line.915"></a>
-<span class="sourceLineNo">916</span>      return this.reader.getEffectiveEncodingInCache(isCompaction);<a name="line.916"></a>
-<span class="sourceLineNo">917</span>    }<a name="line.917"></a>
-<span class="sourceLineNo">918</span><a name="line.918"></a>
-<span class="sourceLineNo">919</span>    @Override<a name="line.919"></a>
-<span class="sourceLineNo">920</span>    public Cell getCell() {<a name="line.920"></a>
-<span class="sourceLineNo">921</span>      if (!isSeeked())<a name="line.921"></a>
-<span class="sourceLineNo">922</span>        return null;<a name="line.922"></a>
-<span class="sourceLineNo">923</span><a name="line.923"></a>
-<span class="sourceLineNo">924</span>      Cell ret;<a name="line.924"></a>
-<span class="sourceLineNo">925</span>      int cellBufSize = getCellBufSize();<a name="line.925"></a>
-<span class="sourceLineNo">926</span>      long seqId = 0l;<a name="line.926"></a>
-<span class="sourceLineNo">927</span>      if (this.reader.shouldIncludeMemstoreTS()) {<a name="line.927"></a>
-<span class="sourceLineNo">928</span>        seqId = currMemstoreTS;<a name="line.928"></a>
-<span class="sourceLineNo">929</span>      }<a name="line.929"></a>
-<span class="sourceLineNo">930</span>      if (blockBuffer.hasArray()) {<a name="line.930"></a>
-<span class="sourceLineNo">931</span>        // TODO : reduce the varieties of KV here. Check if based on a boolean<a name="line.931"></a>
-<span class="sourceLineNo">932</span>        // we can handle the 'no tags' case.<a name="line.932"></a>
-<span class="sourceLineNo">933</span>        if (currTagsLen &gt; 0) {<a name="line.933"></a>
-<span class="sourceLineNo">934</span>          if (this.curBlock.usesSharedMemory()) {<a name="line.934"></a>
-<span class="sourceLineNo">935</span>            ret = new ShareableMemoryKeyValue(blockBuffer.array(), blockBuffer.arrayOffset()<a name="line.935"></a>
-<span class="sourceLineNo">936</span>              + blockBuffer.position(), getCellBufSize(), seqId);<a name="line.936"></a>
-<span class="sourceLineNo">937</span>          } else {<a name="line.937"></a>
-<span class="sourceLineNo">938</span>            ret = new SizeCachedKeyValue(blockBuffer.array(), blockBuffer.arrayOffset()<a name="line.938"></a>
-<span class="sourceLineNo">939</span>                    + blockBuffer.position(), cellBufSize, seqId);<a name="line.939"></a>
-<span class="sourceLineNo">940</span>          }<a name="line.940"></a>
-<span class="sourceLineNo">941</span>        } else {<a name="line.941"></a>
-<span class="sourceLineNo">942</span>          if (this.curBlock.usesSharedMemory()) {<a name="line.942"></a>
-<span c

<TRUNCATED>

[21/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/regionserver/wal/FSWALEntry.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/FSWALEntry.html b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/FSWALEntry.html
index f52dd21..691fae0 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/FSWALEntry.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/FSWALEntry.html
@@ -374,9 +374,11 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" t
 <ul class="blockList">
 <li class="blockList">
 <h4>stampRegionSequenceId</h4>
-<pre>long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSWALEntry.html#line.112">stampRegionSequenceId</a>()
+<pre>long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSWALEntry.html#line.114">stampRegionSequenceId</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">Here is where a WAL edit gets its sequenceid.</div>
+<div class="block">Here is where a WAL edit gets its sequenceid.
+ SIDE-EFFECT is our stamping the sequenceid into every Cell AND setting the sequenceid into the
+ MVCC WriteEntry!!!!</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>The sequenceid we stamped on this edit.</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>
@@ -388,7 +390,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" t
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getFamilyNames</h4>
-<pre><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;byte[]&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSWALEntry.html#line.138">getFamilyNames</a>()</pre>
+<pre><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;byte[]&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSWALEntry.html#line.140">getFamilyNames</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the family names which are effected by this edit.</dd></dl>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/regionserver/wal/class-use/WALEdit.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/class-use/WALEdit.html b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/class-use/WALEdit.html
index 9fe9bdd..20bd47c 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/class-use/WALEdit.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/class-use/WALEdit.html
@@ -700,7 +700,10 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
             <a href="../../../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri,
             <a href="../../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a>&nbsp;key,
             <a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;edits,
-            boolean&nbsp;inMemstore)</code>&nbsp;</td>
+            boolean&nbsp;inMemstore)</code>
+<div class="block">NOTE: This append, at a time that is usually after this call returns, starts an
+ mvcc transaction by calling 'begin' wherein which we assign this update a sequenceid.</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/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 bdae472..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,9 +140,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.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>
 <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>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/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 6aea795..1929e33 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
@@ -152,9 +152,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.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/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/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/a7e5a8ce/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 cfd1df0..b720014 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/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/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/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/MetricsThriftServerSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="strong">MetricsThriftServerSourceFactoryImpl.FactoryStorage</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/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 3a73978..32cdfa1 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
@@ -379,22 +379,22 @@ 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_serverManager">
+<a name="m_format">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_serverManager</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.122">m_serverManager</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.122">m_format</a></pre>
 </li>
 </ul>
-<a name="m_serverManager__IsNotDefault">
+<a name="m_format__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_serverManager__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.127">m_serverManager__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.127">m_format__IsNotDefault</a></pre>
 </li>
 </ul>
 <a name="m_catalogJanitorEnabled">
@@ -415,130 +415,130 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
 <pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.144">m_catalogJanitorEnabled__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_metaLocation">
+<a name="m_assignmentManager">
 <!--   -->
 </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.156">m_metaLocation</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.156">m_assignmentManager</a></pre>
 </li>
 </ul>
-<a name="m_metaLocation__IsNotDefault">
+<a name="m_assignmentManager__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.161">m_metaLocation__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.161">m_assignmentManager__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_deadServers">
+<a name="m_servers">
 <!--   -->
 </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.173">m_deadServers</a></pre>
+<h4>m_servers</h4>
+<pre>private&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.ImplData.html#line.173">m_servers</a></pre>
 </li>
 </ul>
-<a name="m_deadServers__IsNotDefault">
+<a name="m_servers__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_deadServers__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.178">m_deadServers__IsNotDefault</a></pre>
+<h4>m_servers__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.178">m_servers__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_format">
+<a name="m_serverManager">
 <!--   -->
 </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.190">m_format</a></pre>
+<h4>m_serverManager</h4>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.190">m_serverManager</a></pre>
 </li>
 </ul>
-<a name="m_format__IsNotDefault">
+<a name="m_serverManager__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.195">m_format__IsNotDefault</a></pre>
+<h4>m_serverManager__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.195">m_serverManager__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_filter">
+<a name="m_deadServers">
 <!--   -->
 </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.207">m_filter</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.207">m_deadServers</a></pre>
 </li>
 </ul>
-<a name="m_filter__IsNotDefault">
+<a name="m_deadServers__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.212">m_filter__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.212">m_deadServers__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_frags">
+<a name="m_filter">
 <!--   -->
 </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.224">m_frags</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.224">m_filter</a></pre>
 </li>
 </ul>
-<a name="m_frags__IsNotDefault">
+<a name="m_filter__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.229">m_frags__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.229">m_filter__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_assignmentManager">
+<a name="m_metaLocation">
 <!--   -->
 </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.241">m_assignmentManager</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.241">m_metaLocation</a></pre>
 </li>
 </ul>
-<a name="m_assignmentManager__IsNotDefault">
+<a name="m_metaLocation__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.246">m_assignmentManager__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.246">m_metaLocation__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_servers">
+<a name="m_frags">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_servers</h4>
-<pre>private&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.ImplData.html#line.258">m_servers</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_servers__IsNotDefault">
+<a name="m_frags__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>m_servers__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.263">m_servers__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,31 +584,31 @@ 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="setServerManager(org.apache.hadoop.hbase.master.ServerManager)">
+<a name="setFormat(java.lang.String)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setServerManager</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.112">setServerManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a>&nbsp;serverManager)</pre>
+<h4>setFormat</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.112">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="getServerManager()">
+<a name="getFormat()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getServerManager</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.118">getServerManager</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.118">getFormat</a>()</pre>
 </li>
 </ul>
-<a name="getServerManager__IsNotDefault()">
+<a name="getFormat__IsNotDefault()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getServerManager__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.123">getServerManager__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.123">getFormat__IsNotDefault</a>()</pre>
 </li>
 </ul>
 <a name="setCatalogJanitorEnabled(boolean)">
@@ -638,193 +638,193 @@ 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.140">getCatalogJanitorEnabled__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setMetaLocation(org.apache.hadoop.hbase.ServerName)">
+<a name="setAssignmentManager(org.apache.hadoop.hbase.master.AssignmentManager)">
 <!--   -->
 </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.146">setMetaLocation</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;metaLocation)</pre>
+<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>
 </li>
 </ul>
-<a name="getMetaLocation()">
+<a name="getAssignmentManager()">
 <!--   -->
 </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.152">getMetaLocation</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.152">getAssignmentManager</a>()</pre>
 </li>
 </ul>
-<a name="getMetaLocation__IsNotDefault()">
+<a name="getAssignmentManager__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.157">getMetaLocation__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.157">getAssignmentManager__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setDeadServers(java.util.Set)">
+<a name="setServers(java.util.List)">
 <!--   -->
 </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.163">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>setServers</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.163">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;servers)</pre>
 </li>
 </ul>
-<a name="getDeadServers()">
+<a name="getServers()">
 <!--   -->
 </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.169">getDeadServers</a>()</pre>
+<h4>getServers</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="../../../../../../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.169">getServers</a>()</pre>
 </li>
 </ul>
-<a name="getDeadServers__IsNotDefault()">
+<a name="getServers__IsNotDefault()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getDeadServers__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.174">getDeadServers__IsNotDefault</a>()</pre>
+<h4>getServers__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.174">getServers__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setFormat(java.lang.String)">
+<a name="setServerManager(org.apache.hadoop.hbase.master.ServerManager)">
 <!--   -->
 </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.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>
+<h4>setServerManager</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.180">setServerManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a>&nbsp;serverManager)</pre>
 </li>
 </ul>
-<a name="getFormat()">
+<a name="getServerManager()">
 <!--   -->
 </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.186">getFormat</a>()</pre>
+<h4>getServerManager</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.186">getServerManager</a>()</pre>
 </li>
 </ul>
-<a name="getFormat__IsNotDefault()">
+<a name="getServerManager__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.191">getFormat__IsNotDefault</a>()</pre>
+<h4>getServerManager__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.191">getServerManager__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setFilter(java.lang.String)">
+<a name="setDeadServers(java.util.Set)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFilter</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.197">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>setDeadServers</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.197">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="getFilter()">
+<a name="getDeadServers()">
 <!--   -->
 </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.203">getFilter</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.203">getDeadServers</a>()</pre>
 </li>
 </ul>
-<a name="getFilter__IsNotDefault()">
+<a name="getDeadServers__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.208">getFilter__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.208">getDeadServers__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setFrags(java.util.Map)">
+<a name="setFilter(java.lang.String)">
 <!--   -->
 </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.214">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>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>
 </li>
 </ul>
-<a name="getFrags()">
+<a name="getFilter()">
 <!--   -->
 </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.220">getFrags</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.220">getFilter</a>()</pre>
 </li>
 </ul>
-<a name="getFrags__IsNotDefault()">
+<a name="getFilter__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.225">getFrags__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.225">getFilter__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setAssignmentManager(org.apache.hadoop.hbase.master.AssignmentManager)">
+<a name="setMetaLocation(org.apache.hadoop.hbase.ServerName)">
 <!--   -->
 </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.231">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>setMetaLocation</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.231">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="getAssignmentManager()">
+<a name="getMetaLocation()">
 <!--   -->
 </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.237">getAssignmentManager</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.237">getMetaLocation</a>()</pre>
 </li>
 </ul>
-<a name="getAssignmentManager__IsNotDefault()">
+<a name="getMetaLocation__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.242">getAssignmentManager__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.242">getMetaLocation__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setServers(java.util.List)">
+<a name="setFrags(java.util.Map)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setServers</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.248">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;servers)</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="getServers()">
+<a name="getFrags()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getServers</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="../../../../../../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">getServers</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="getServers__IsNotDefault()">
+<a name="getFrags__IsNotDefault()">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>getServers__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.259">getServers__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>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/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 d9891e1..3938fb5 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
@@ -323,13 +323,13 @@ extends org.jamon.AbstractTemplateProxy</pre>
 <!--   -->
 </a>
 <h3>Field Detail</h3>
-<a name="serverManager">
+<a name="format">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>serverManager</h4>
-<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.275">serverManager</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.275">format</a></pre>
 </li>
 </ul>
 <a name="catalogJanitorEnabled">
@@ -341,67 +341,67 @@ extends org.jamon.AbstractTemplateProxy</pre>
 <pre>protected&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.282">catalogJanitorEnabled</a></pre>
 </li>
 </ul>
-<a name="metaLocation">
+<a name="assignmentManager">
 <!--   -->
 </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.289">metaLocation</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.289">assignmentManager</a></pre>
 </li>
 </ul>
-<a name="deadServers">
+<a name="servers">
 <!--   -->
 </a>
 <ul class="blockList">
 <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.296">deadServers</a></pre>
+<h4>servers</h4>
+<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.296">servers</a></pre>
 </li>
 </ul>
-<a name="format">
+<a name="serverManager">
 <!--   -->
 </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.303">format</a></pre>
+<h4>serverManager</h4>
+<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.303">serverManager</a></pre>
 </li>
 </ul>
-<a name="filter">
+<a name="deadServers">
 <!--   -->
 </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.310">filter</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.310">deadServers</a></pre>
 </li>
 </ul>
-<a name="frags">
+<a name="filter">
 <!--   -->
 </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.317">frags</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.317">filter</a></pre>
 </li>
 </ul>
-<a name="assignmentManager">
+<a name="metaLocation">
 <!--   -->
 </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.324">assignmentManager</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.324">metaLocation</a></pre>
 </li>
 </ul>
-<a name="servers">
+<a name="frags">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>servers</h4>
-<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.331">servers</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,13 +473,13 @@ extends org.jamon.AbstractTemplateProxy</pre>
 </dl>
 </li>
 </ul>
-<a name="setServerManager(org.apache.hadoop.hbase.master.ServerManager)">
+<a name="setFormat(java.lang.String)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setServerManager</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.276">setServerManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a>&nbsp;p_serverManager)</pre>
+<h4>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.276">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="setCatalogJanitorEnabled(boolean)">
@@ -491,67 +491,67 @@ 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.283">setCatalogJanitorEnabled</a>(boolean&nbsp;p_catalogJanitorEnabled)</pre>
 </li>
 </ul>
-<a name="setMetaLocation(org.apache.hadoop.hbase.ServerName)">
+<a name="setAssignmentManager(org.apache.hadoop.hbase.master.AssignmentManager)">
 <!--   -->
 </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.290">setMetaLocation</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;p_metaLocation)</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.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>
 </li>
 </ul>
-<a name="setDeadServers(java.util.Set)">
+<a name="setServers(java.util.List)">
 <!--   -->
 </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.297">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>setServers</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.297">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="setFormat(java.lang.String)">
+<a name="setServerManager(org.apache.hadoop.hbase.master.ServerManager)">
 <!--   -->
 </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.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>
+<h4>setServerManager</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.304">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="setFilter(java.lang.String)">
+<a name="setDeadServers(java.util.Set)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFilter</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.311">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>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.311">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="setFrags(java.util.Map)">
+<a name="setFilter(java.lang.String)">
 <!--   -->
 </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.318">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>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>
 </li>
 </ul>
-<a name="setAssignmentManager(org.apache.hadoop.hbase.master.AssignmentManager)">
+<a name="setMetaLocation(org.apache.hadoop.hbase.ServerName)">
 <!--   -->
 </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.325">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>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.325">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="setServers(java.util.List)">
+<a name="setFrags(java.util.Map)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setServers</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.332">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>
+<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/a7e5a8ce/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 e688d6c..1867e39 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
@@ -264,13 +264,13 @@ 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="serverManager">
+<a name="format">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>serverManager</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.63">serverManager</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.63">format</a></pre>
 </li>
 </ul>
 <a name="catalogJanitorEnabled">
@@ -282,67 +282,67 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/Master
 <pre>private final&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.64">catalogJanitorEnabled</a></pre>
 </li>
 </ul>
-<a name="metaLocation">
+<a name="assignmentManager">
 <!--   -->
 </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.65">metaLocation</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.65">assignmentManager</a></pre>
 </li>
 </ul>
-<a name="deadServers">
+<a name="servers">
 <!--   -->
 </a>
 <ul class="blockList">
 <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.66">deadServers</a></pre>
+<h4>servers</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/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.66">servers</a></pre>
 </li>
 </ul>
-<a name="format">
+<a name="serverManager">
 <!--   -->
 </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.67">format</a></pre>
+<h4>serverManager</h4>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.67">serverManager</a></pre>
 </li>
 </ul>
-<a name="filter">
+<a name="deadServers">
 <!--   -->
 </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.68">filter</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.68">deadServers</a></pre>
 </li>
 </ul>
-<a name="frags">
+<a name="filter">
 <!--   -->
 </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.69">frags</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.69">filter</a></pre>
 </li>
 </ul>
-<a name="assignmentManager">
+<a name="metaLocation">
 <!--   -->
 </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.70">assignmentManager</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.70">metaLocation</a></pre>
 </li>
 </ul>
-<a name="servers">
+<a name="frags">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>servers</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/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">servers</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/a7e5a8ce/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 1058a36..f9c2985 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
@@ -315,40 +315,40 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
 <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_filter">
+<a name="m_bcn">
 <!--   -->
 </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.117">m_filter</a></pre>
+<h4>m_bcn</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_bcn</a></pre>
 </li>
 </ul>
-<a name="m_filter__IsNotDefault">
+<a name="m_bcn__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.122">m_filter__IsNotDefault</a></pre>
+<h4>m_bcn__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.122">m_bcn__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_bcn">
+<a name="m_filter">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_bcn</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.134">m_bcn</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.134">m_filter</a></pre>
 </li>
 </ul>
-<a name="m_bcn__IsNotDefault">
+<a name="m_filter__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>m_bcn__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.139">m_bcn__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.139">m_filter__IsNotDefault</a></pre>
 </li>
 </ul>
 </li>
@@ -448,58 +448,58 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
 <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="setFilter(java.lang.String)">
+<a name="setBcn(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.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>
+<h4>setBcn</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.107">setBcn</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;bcn)</pre>
 </li>
 </ul>
-<a name="getFilter()">
+<a name="getBcn()">
 <!--   -->
 </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.113">getFilter</a>()</pre>
+<h4>getBcn</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">getBcn</a>()</pre>
 </li>
 </ul>
-<a name="getFilter__IsNotDefault()">
+<a name="getBcn__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.118">getFilter__IsNotDefault</a>()</pre>
+<h4>getBcn__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.118">getBcn__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setBcn(java.lang.String)">
+<a name="setFilter(java.lang.String)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setBcn</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.124">setBcn</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;bcn)</pre>
+<h4>setFilter</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.124">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="getBcn()">
+<a name="getFilter()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getBcn</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.130">getBcn</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.130">getFilter</a>()</pre>
 </li>
 </ul>
-<a name="getBcn__IsNotDefault()">
+<a name="getFilter__IsNotDefault()">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>getBcn__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.135">getBcn__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.135">getFilter__IsNotDefault</a>()</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/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 584f59e..5f54bf8 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
@@ -301,22 +301,22 @@ extends org.jamon.AbstractTemplateProxy</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/tmpl/regionserver/RSStatusTmpl.html#line.158">format</a></pre>
 </li>
 </ul>
-<a name="filter">
+<a name="bcn">
 <!--   -->
 </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.165">filter</a></pre>
+<h4>bcn</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">bcn</a></pre>
 </li>
 </ul>
-<a name="bcn">
+<a name="filter">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>bcn</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.172">bcn</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.172">filter</a></pre>
 </li>
 </ul>
 </li>
@@ -406,22 +406,22 @@ extends org.jamon.AbstractTemplateProxy</pre>
 <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="setFilter(java.lang.String)">
+<a name="setBcn(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.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>
+<h4>setBcn</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">setBcn</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_bcn)</pre>
 </li>
 </ul>
-<a name="setBcn(java.lang.String)">
+<a name="setFilter(java.lang.String)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setBcn</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.173">setBcn</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_bcn)</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.173">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="constructImpl(java.lang.Class)">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/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 e187548..521d67d 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
@@ -242,22 +242,22 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/
 <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="filter">
+<a name="bcn">
 <!--   -->
 </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.31">filter</a></pre>
+<h4>bcn</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">bcn</a></pre>
 </li>
 </ul>
-<a name="bcn">
+<a name="filter">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>bcn</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.32">bcn</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.32">filter</a></pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/util/CollectionBackedScanner.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/CollectionBackedScanner.html b/devapidocs/org/apache/hadoop/hbase/util/CollectionBackedScanner.html
index 2890e08..7d868c7 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/CollectionBackedScanner.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/CollectionBackedScanner.html
@@ -149,6 +149,13 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/NonReversed
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/util/CollectionBackedScanner.html#iter">iter</a></strong></code>&nbsp;</td>
 </tr>
 </table>
+<ul class="blockList">
+<li class="blockList"><a name="fields_inherited_from_class_org.apache.hadoop.hbase.regionserver.KeyValueScanner">
+<!--   -->
+</a>
+<h3>Fields inherited from interface&nbsp;org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a></h3>
+<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#NO_NEXT_INDEXED_KEY">NO_NEXT_INDEXED_KEY</a></code></li>
+</ul>
 </li>
 </ul>
 <!-- ======== CONSTRUCTOR SUMMARY ======== -->


[22/51] [partial] hbase-site git commit: Published site at 2cc48e039d1f800832ac8880bbc820982e0ac8a5.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a7e5a8ce/devapidocs/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html
index a6bec3c..0f6f2dd 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html
@@ -100,7 +100,7 @@
 <hr>
 <br>
 <pre><a href="../../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.128">FSHLog</a>
+public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.129">FSHLog</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/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a></pre>
 <div class="block">Implementation of <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal"><code>WAL</code></a> to go against <code>FileSystem</code>; i.e. keep WALs in HDFS.
@@ -344,65 +344,61 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#minTolerableReplication">minTolerableReplication</a></strong></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>private static <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></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#NO_ARGS">NO_ARGS</a></strong></code>&nbsp;</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/regionserver/wal/FSHLog.html#numEntries">numEntries</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private org.apache.hadoop.fs.PathFilter</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#ourFiles">ourFiles</a></strong></code>
 <div class="block">Matches just those wal files that belong to this wal instance.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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/regionserver/wal/FSHLog.html#prefixPathStr">prefixPathStr</a></strong></code>
 <div class="block">Prefix used when checking for wal membership.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferEventHandler.html" title="class in org.apache.hadoop.hbase.regionserver.wal">FSHLog.RingBufferEventHandler</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#ringBufferEventHandler">ringBufferEventHandler</a></strong></code>
 <div class="block">This fellow is run by the above appendExecutor service but it is all about batching up appends
  and syncs; it may shutdown without cleaning out the last few appends or syncs.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/ReentrantLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReentrantLock</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#rollWriterLock">rollWriterLock</a></strong></code>
 <div class="block">This lock makes sure only one log roll runs at a time.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/SequenceIdAccounting.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SequenceIdAccounting</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#sequenceIdAccounting">sequenceIdAccounting</a></strong></code>
 <div class="block">Class that does accounting of sequenceids in WAL subsystem.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#shutdown">shutdown</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private int</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#slowSyncNs">slowSyncNs</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <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/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a>,<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/SyncFuture.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SyncFuture</a>&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#syncFuturesByHandler">syncFuturesByHandler</a></strong></code>
 <div class="block">Map of <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/SyncFuture.html" title="class in org.apache.hadoop.hbase.regionserver.wal"><code>SyncFuture</code></a>s keyed by Handler objects.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#totalLogSize">totalLogSize</a></strong></code>
 <div class="block">The total size of wal</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.Writer.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.Writer</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#writer">writer</a></strong></code>
 <div class="block">Current log file.</div>
@@ -477,7 +473,8 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
             <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a>&nbsp;key,
             <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;edits,
             boolean&nbsp;inMemstore)</code>
-<div class="block">Append a set of edits to the WAL.</div>
+<div class="block">NOTE: This append, at a time that is usually after this call returns, starts an
+ mvcc transaction by calling 'begin' wherein which we assign this update a sequenceid.</div>
 </td>
 </tr>
 <tr class="rowColor">
@@ -821,7 +818,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <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/regionserver/wal/FSHLog.html#line.163">LOG</a></pre>
+<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.164">LOG</a></pre>
 </li>
 </ul>
 <a name="DEFAULT_SLOW_SYNC_TIME_MS">
@@ -830,7 +827,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_SLOW_SYNC_TIME_MS</h4>
-<pre>private static final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.165">DEFAULT_SLOW_SYNC_TIME_MS</a></pre>
+<pre>private static final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.166">DEFAULT_SLOW_SYNC_TIME_MS</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.wal.FSHLog.DEFAULT_SLOW_SYNC_TIME_MS">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -840,7 +837,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>disruptor</h4>
-<pre>private final&nbsp;com.lmax.disruptor.dsl.Disruptor&lt;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/RingBufferTruck.html" title="class in org.apache.hadoop.hbase.regionserver.wal">RingBufferTruck</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.175">disruptor</a></pre>
+<pre>private final&nbsp;com.lmax.disruptor.dsl.Disruptor&lt;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/RingBufferTruck.html" title="class in org.apache.hadoop.hbase.regionserver.wal">RingBufferTruck</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.176">disruptor</a></pre>
 <div class="block">The nexus at which all incoming handlers meet.  Does appends and sync with an ordering.
  Appends and syncs are each put on the ring which means handlers need to
  smash up against the ring twice (can we make it once only? ... maybe not since time to append
@@ -855,7 +852,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>appendExecutor</h4>
-<pre>private final&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/regionserver/wal/FSHLog.html#line.180">appendExecutor</a></pre>
+<pre>private final&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/regionserver/wal/FSHLog.html#line.181">appendExecutor</a></pre>
 <div class="block">An executorservice that runs the disruptor AppendEventHandler append executor.</div>
 </li>
 </ul>
@@ -865,7 +862,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>ringBufferEventHandler</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferEventHandler.html" title="class in org.apache.hadoop.hbase.regionserver.wal">FSHLog.RingBufferEventHandler</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.188">ringBufferEventHandler</a></pre>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/FSHLog.RingBufferEventHandler.html" title="class in org.apache.hadoop.hbase.regionserver.wal">FSHLog.RingBufferEventHandler</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.189">ringBufferEventHandler</a></pre>
 <div class="block">This fellow is run by the above appendExecutor service but it is all about batching up appends
  and syncs; it may shutdown without cleaning out the last few appends or syncs.  To guard
  against this, keep a reference to this handler and do explicit close on way out to make sure
@@ -878,7 +875,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>syncFuturesByHandler</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/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a>,<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/SyncFuture.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SyncFuture</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.196">syncFuturesByHandler</a></pre>
+<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/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a>,<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/SyncFuture.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SyncFuture</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.197">syncFuturesByHandler</a></pre>
 <div class="block">Map of <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/SyncFuture.html" title="class in org.apache.hadoop.hbase.regionserver.wal"><code>SyncFuture</code></a>s keyed by Handler objects.  Used so we reuse SyncFutures.
  TODO: Reus FSWALEntry's rather than create them anew each time as we do SyncFutures here.
  TODO: Add a FSWalEntry and SyncFuture as thread locals on handlers rather than have them
@@ -891,7 +888,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>highestUnsyncedSequence</h4>
-<pre>private volatile&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.202">highestUnsyncedSequence</a></pre>
+<pre>private volatile&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.203">highestUnsyncedSequence</a></pre>
 <div class="block">The highest known outstanding unsync'd WALEdit sequence number where sequence number is the
  ring buffer sequence.  Maintained by the ring buffer consumer.</div>
 </li>
@@ -902,7 +899,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>highestSyncedSequence</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.209">highestSyncedSequence</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.210">highestSyncedSequence</a></pre>
 <div class="block">Updated to the ring buffer sequence of the last successful sync call.  This can be less than
  <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#highestUnsyncedSequence"><code>highestUnsyncedSequence</code></a> for case where we have an append where a sync has not yet
  come in for it.  Maintained by the syncing threads.</div>
@@ -914,7 +911,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>fs</h4>
-<pre>protected final&nbsp;org.apache.hadoop.fs.FileSystem <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.214">fs</a></pre>
+<pre>protected final&nbsp;org.apache.hadoop.fs.FileSystem <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.215">fs</a></pre>
 <div class="block">file system instance</div>
 </li>
 </ul>
@@ -924,7 +921,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>fullPathLogDir</h4>
-<pre>private final&nbsp;org.apache.hadoop.fs.Path <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.219">fullPathLogDir</a></pre>
+<pre>private final&nbsp;org.apache.hadoop.fs.Path <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.220">fullPathLogDir</a></pre>
 <div class="block">WAL directory, where all WAL files would be placed.</div>
 </li>
 </ul>
@@ -934,7 +931,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>fullPathArchiveDir</h4>
-<pre>private final&nbsp;org.apache.hadoop.fs.Path <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.224">fullPathArchiveDir</a></pre>
+<pre>private final&nbsp;org.apache.hadoop.fs.Path <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.225">fullPathArchiveDir</a></pre>
 <div class="block">dir path where old logs are kept.</div>
 </li>
 </ul>
@@ -944,7 +941,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>ourFiles</h4>
-<pre>private final&nbsp;org.apache.hadoop.fs.PathFilter <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.229">ourFiles</a></pre>
+<pre>private final&nbsp;org.apache.hadoop.fs.PathFilter <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.230">ourFiles</a></pre>
 <div class="block">Matches just those wal files that belong to this wal instance.</div>
 </li>
 </ul>
@@ -954,7 +951,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>logFilePrefix</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/regionserver/wal/FSHLog.html#line.234">logFilePrefix</a></pre>
+<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/regionserver/wal/FSHLog.html#line.235">logFilePrefix</a></pre>
 <div class="block">Prefix of a WAL file, usually the region server name it is hosted on.</div>
 </li>
 </ul>
@@ -964,7 +961,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>logFileSuffix</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/regionserver/wal/FSHLog.html#line.239">logFileSuffix</a></pre>
+<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/regionserver/wal/FSHLog.html#line.240">logFileSuffix</a></pre>
 <div class="block">Suffix included on generated wal file names</div>
 </li>
 </ul>
@@ -974,7 +971,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>prefixPathStr</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/regionserver/wal/FSHLog.html#line.244">prefixPathStr</a></pre>
+<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/regionserver/wal/FSHLog.html#line.245">prefixPathStr</a></pre>
 <div class="block">Prefix used when checking for wal membership.</div>
 </li>
 </ul>
@@ -984,7 +981,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>coprocessorHost</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALCoprocessorHost</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.246">coprocessorHost</a></pre>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALCoprocessorHost</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.247">coprocessorHost</a></pre>
 </li>
 </ul>
 <a name="conf">
@@ -993,7 +990,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <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/regionserver/wal/FSHLog.html#line.251">conf</a></pre>
+<pre>protected final&nbsp;org.apache.hadoop.conf.Configuration <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.252">conf</a></pre>
 <div class="block">conf object</div>
 </li>
 </ul>
@@ -1003,7 +1000,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>listeners</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/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.254">listeners</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/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.255">listeners</a></pre>
 <div class="block">Listeners that are called on WAL events.</div>
 </li>
 </ul>
@@ -1013,7 +1010,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>hdfs_out</h4>
-<pre>private&nbsp;org.apache.hadoop.fs.FSDataOutputStream <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.275">hdfs_out</a></pre>
+<pre>private&nbsp;org.apache.hadoop.fs.FSDataOutputStream <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.276">hdfs_out</a></pre>
 <div class="block">FSDataOutputStream associated with the current SequenceFile.writer</div>
 </li>
 </ul>
@@ -1023,7 +1020,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>minTolerableReplication</h4>
-<pre>private final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.280">minTolerableReplication</a></pre>
+<pre>private final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.281">minTolerableReplication</a></pre>
 </li>
 </ul>
 <a name="slowSyncNs">
@@ -1032,16 +1029,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>slowSyncNs</h4>
-<pre>private final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.282">slowSyncNs</a></pre>
-</li>
-</ul>
-<a name="NO_ARGS">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>NO_ARGS</h4>
-<pre>private static final&nbsp;<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>[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.284">NO_ARGS</a></pre>
+<pre>private final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.283">slowSyncNs</a></pre>
 </li>
 </ul>
 <a name="consecutiveLogRolls">
@@ -1050,7 +1038,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>consecutiveLogRolls</h4>
-<pre>private final&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/regionserver/wal/FSHLog.html#line.290">consecutiveLogRolls</a></pre>
+<pre>private final&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/regionserver/wal/FSHLog.html#line.289">consecutiveLogRolls</a></pre>
 </li>
 </ul>
 <a name="lowReplicationRollLimit">
@@ -1059,7 +1047,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>lowReplicationRollLimit</h4>
-<pre>private final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.292">lowReplicationRollLimit</a></pre>
+<pre>private final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.291">lowReplicationRollLimit</a></pre>
 </li>
 </ul>
 <a name="lowReplicationRollEnabled">
@@ -1068,7 +1056,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>lowReplicationRollEnabled</h4>
-<pre>private volatile&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.297">lowReplicationRollEnabled</a></pre>
+<pre>private volatile&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.296">lowReplicationRollEnabled</a></pre>
 </li>
 </ul>
 <a name="sequenceIdAccounting">
@@ -1077,7 +1065,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>sequenceIdAccounting</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/SequenceIdAccounting.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SequenceIdAccounting</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.304">sequenceIdAccounting</a></pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/SequenceIdAccounting.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SequenceIdAccounting</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.303">sequenceIdAccounting</a></pre>
 <div class="block">Class that does accounting of sequenceids in WAL subsystem. Holds oldest outstanding
  sequence id as yet not flushed as well as the most recent edit sequence id appended to the
  WAL. Has facility for answering questions such as "Is it safe to GC a WAL?".</div>
@@ -1089,7 +1077,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>writer</h4>
-<pre>volatile&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.Writer.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.Writer</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.309">writer</a></pre>
+<pre>volatile&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.Writer.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.Writer</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.308">writer</a></pre>
 <div class="block">Current log file.</div>
 </li>
 </ul>
@@ -1099,7 +1087,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>closeBarrier</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/util/DrainBarrier.html" title="class in org.apache.hadoop.hbase.util">DrainBarrier</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.312">closeBarrier</a></pre>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/util/DrainBarrier.html" title="class in org.apache.hadoop.hbase.util">DrainBarrier</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.311">closeBarrier</a></pre>
 <div class="block">The barrier used to ensure that close() waits for all log rolls and flushes to finish.</div>
 </li>
 </ul>
@@ -1109,7 +1097,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>rollWriterLock</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/ReentrantLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReentrantLock</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.321">rollWriterLock</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/ReentrantLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReentrantLock</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.320">rollWriterLock</a></pre>
 <div class="block">This lock makes sure only one log roll runs at a time. Should not be taken while any other
  lock is held. We don't just use synchronized because that results in bogus and tedious
  findbugs warning when it thinks synchronized controls writer thread safety.  It is held when
@@ -1123,7 +1111,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>closed</h4>
-<pre>private volatile&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.323">closed</a></pre>
+<pre>private volatile&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.322">closed</a></pre>
 </li>
 </ul>
 <a name="shutdown">
@@ -1132,7 +1120,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>shutdown</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.324">shutdown</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.323">shutdown</a></pre>
 </li>
 </ul>
 <a name="filenum">
@@ -1141,7 +1129,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>filenum</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.327">filenum</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.326">filenum</a></pre>
 </li>
 </ul>
 <a name="numEntries">
@@ -1150,7 +1138,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>numEntries</h4>
-<pre>private final&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/regionserver/wal/FSHLog.html#line.330">numEntries</a></pre>
+<pre>private final&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/regionserver/wal/FSHLog.html#line.329">numEntries</a></pre>
 </li>
 </ul>
 <a name="logrollsize">
@@ -1159,7 +1147,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>logrollsize</h4>
-<pre>private final&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.333">logrollsize</a></pre>
+<pre>private final&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.332">logrollsize</a></pre>
 </li>
 </ul>
 <a name="totalLogSize">
@@ -1168,7 +1156,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>totalLogSize</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.338">totalLogSize</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.337">totalLogSize</a></pre>
 <div class="block">The total size of wal</div>
 </li>
 </ul>
@@ -1178,7 +1166,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>maxLogs</h4>
-<pre>private final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.345">maxLogs</a></pre>
+<pre>private final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.344">maxLogs</a></pre>
 </li>
 </ul>
 <a name="closeErrorsTolerated">
@@ -1187,7 +1175,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>closeErrorsTolerated</h4>
-<pre>private final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.348">closeErrorsTolerated</a></pre>
+<pre>private final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.347">closeErrorsTolerated</a></pre>
 <div class="block">Number of log close errors tolerated before we abort</div>
 </li>
 </ul>
@@ -1197,7 +1185,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>closeErrorCount</h4>
-<pre>private final&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/regionserver/wal/FSHLog.html#line.350">closeErrorCount</a></pre>
+<pre>private final&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/regionserver/wal/FSHLog.html#line.349">closeErrorCount</a></pre>
 </li>
 </ul>
 <a name="LOG_NAME_COMPARATOR">
@@ -1206,7 +1194,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>LOG_NAME_COMPARATOR</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;org.apache.hadoop.fs.Path&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.357">LOG_NAME_COMPARATOR</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;org.apache.hadoop.fs.Path&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.356">LOG_NAME_COMPARATOR</a></pre>
 <div class="block">WAL Comparator; it compares the timestamp (log filenum), present in the log file name.
  Throws an IllegalArgumentException if used to compare paths from different wals.</div>
 </li>
@@ -1217,7 +1205,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>byWalRegionSequenceIds</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util">NavigableMap</a>&lt;org.apache.hadoop.fs.Path,<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;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.371">byWalRegionSequenceIds</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util">NavigableMap</a>&lt;org.apache.hadoop.fs.Path,<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;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.370">byWalRegionSequenceIds</a></pre>
 <div class="block">Map of WAL log file to the latest sequence ids of all regions it has entries of.
  The map is sorted by the log file creation timestamp (contained in the log file name).</div>
 </li>
@@ -1228,7 +1216,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockListLast">
 <li class="blockList">
 <h4>FIXED_OVERHEAD</h4>
-<pre>public static final&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1529">FIXED_OVERHEAD</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1541">FIXED_OVERHEAD</a></pre>
 </li>
 </ul>
 </li>
@@ -1245,7 +1233,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>FSHLog</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.407">FSHLog</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.406">FSHLog</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
       org.apache.hadoop.fs.Path&nbsp;root,
       <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;logDir,
       org.apache.hadoop.conf.Configuration&nbsp;conf)
@@ -1262,7 +1250,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockListLast">
 <li class="blockList">
 <h4>FSHLog</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.436">FSHLog</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.435">FSHLog</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
       org.apache.hadoop.fs.Path&nbsp;rootDir,
       <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;logDir,
       <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;archiveDir,
@@ -1302,7 +1290,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>registerWALActionsListener</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.258">registerWALActionsListener</a>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&nbsp;listener)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.259">registerWALActionsListener</a>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&nbsp;listener)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#registerWALActionsListener(org.apache.hadoop.hbase.regionserver.wal.WALActionsListener)">WAL</a></code></strong></div>
 <div class="block">Registers WALActionsListener</div>
 <dl>
@@ -1317,7 +1305,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>unregisterWALActionsListener</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.263">unregisterWALActionsListener</a>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&nbsp;listener)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.264">unregisterWALActionsListener</a>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&nbsp;listener)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#unregisterWALActionsListener(org.apache.hadoop.hbase.regionserver.wal.WALActionsListener)">WAL</a></code></strong></div>
 <div class="block">Unregisters WALActionsListener</div>
 <dl>
@@ -1332,7 +1320,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>getCoprocessorHost</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALCoprocessorHost</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.268">getCoprocessorHost</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALCoprocessorHost</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.269">getCoprocessorHost</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#getCoprocessorHost()">getCoprocessorHost</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a></code></dd>
@@ -1345,7 +1333,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>calculateMaxLogFiles</h4>
-<pre>private&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.571">calculateMaxLogFiles</a>(float&nbsp;memstoreSizeRatio,
+<pre>private&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.570">calculateMaxLogFiles</a>(float&nbsp;memstoreSizeRatio,
                        long&nbsp;logRollSize)</pre>
 </li>
 </ul>
@@ -1355,7 +1343,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>getFiles</h4>
-<pre>protected&nbsp;org.apache.hadoop.fs.FileStatus[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.581">getFiles</a>()
+<pre>protected&nbsp;org.apache.hadoop.fs.FileStatus[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.580">getFiles</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">Get the backing files associated with this WAL.</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>may be null if there are no files.</dd>
@@ -1369,7 +1357,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>getOutputStream</h4>
-<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.594">getOutputStream</a>()</pre>
+<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.593">getOutputStream</a>()</pre>
 <div class="block">Currently, we need to expose the writer's OutputStream to tests so that they can manipulate
  the default behavior (such as setting the maxRecoveryErrorCount value for example (see
  <code>TestWALReplay.testReplayEditsWrittenIntoWAL()</code>). This is done using reflection on the
@@ -1384,7 +1372,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>rollWriter</h4>
-<pre>public&nbsp;byte[][]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.601">rollWriter</a>()
+<pre>public&nbsp;byte[][]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.600">rollWriter</a>()
                     throws <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/FailedLogCloseException.html" title="class in org.apache.hadoop.hbase.regionserver.wal">FailedLogCloseException</a>,
                            <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/wal/WAL.html#rollWriter()">WAL</a></code></strong></div>
@@ -1410,7 +1398,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>getNewPath</h4>
-<pre>private&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.609">getNewPath</a>()
+<pre>private&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.608">getNewPath</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">retrieve the next path to use for writing.
  Increments the internal filenum.</div>
@@ -1424,7 +1412,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>getOldPath</h4>
-<pre>org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.619">getOldPath</a>()</pre>
+<pre>org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.618">getOldPath</a>()</pre>
 </li>
 </ul>
 <a name="tellListenersAboutPreLogRoll(org.apache.hadoop.fs.Path, org.apache.hadoop.fs.Path)">
@@ -1433,7 +1421,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>tellListenersAboutPreLogRoll</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.633">tellListenersAboutPreLogRoll</a>(org.apache.hadoop.fs.Path&nbsp;oldPath,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.632">tellListenersAboutPreLogRoll</a>(org.apache.hadoop.fs.Path&nbsp;oldPath,
                                 org.apache.hadoop.fs.Path&nbsp;newPath)
                                    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">Tell listeners about pre log roll.</div>
@@ -1447,7 +1435,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>tellListenersAboutPostLogRoll</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.646">tellListenersAboutPostLogRoll</a>(org.apache.hadoop.fs.Path&nbsp;oldPath,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.645">tellListenersAboutPostLogRoll</a>(org.apache.hadoop.fs.Path&nbsp;oldPath,
                                  org.apache.hadoop.fs.Path&nbsp;newPath)
                                     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">Tell listeners about post log roll.</div>
@@ -1461,7 +1449,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>preemptiveSync</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.660">preemptiveSync</a>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/ProtobufLogWriter.html" title="class in org.apache.hadoop.hbase.regionserver.wal">ProtobufLogWriter</a>&nbsp;nextWriter)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.659">preemptiveSync</a>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/ProtobufLogWriter.html" title="class in org.apache.hadoop.hbase.regionserver.wal">ProtobufLogWriter</a>&nbsp;nextWriter)</pre>
 <div class="block">Run a sync after opening to set up the pipeline.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>nextWriter</code> - </dd><dd><code>startTimeNanos</code> - </dd></dl>
 </li>
@@ -1472,7 +1460,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>rollWriter</h4>
-<pre>public&nbsp;byte[][]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.672">rollWriter</a>(boolean&nbsp;force)
+<pre>public&nbsp;byte[][]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.671">rollWriter</a>(boolean&nbsp;force)
                     throws <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/FailedLogCloseException.html" title="class in org.apache.hadoop.hbase.regionserver.wal">FailedLogCloseException</a>,
                            <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/wal/WAL.html#rollWriter(boolean)">WAL</a></code></strong></div>
@@ -1500,7 +1488,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>createWriterInstance</h4>
-<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.Writer.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.Writer</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.725">createWriterInstance</a>(org.apache.hadoop.fs.Path&nbsp;path)
+<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.Writer.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.Writer</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.724">createWriterInstance</a>(org.apache.hadoop.fs.Path&nbsp;path)
                                            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 method allows subclasses to inject different writers without having to
  extend other methods like rollWriter().</div>
@@ -1515,7 +1503,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>cleanOldLogs</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.733">cleanOldLogs</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.732">cleanOldLogs</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">Archive old logs. A WAL is eligible for archiving if all its WALEdits have been flushed.</div>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -1528,7 +1516,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>findRegionsToForceFlush</h4>
-<pre>byte[][]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.762">findRegionsToForceFlush</a>()
+<pre>byte[][]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.761">findRegionsToForceFlush</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 the number of un-archived WAL files is greater than maximum allowed, check the first
  (oldest) WAL file, and returns those regions which should be flushed so that it can
@@ -1544,7 +1532,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>afterCreatingZigZagLatch</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.787">afterCreatingZigZagLatch</a>()</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.786">afterCreatingZigZagLatch</a>()</pre>
 <div class="block">Used to manufacture race condition reliably. For testing only.</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#beforeWaitOnSafePoint()"><code>beforeWaitOnSafePoint()</code></a></dd></dl>
 </li>
@@ -1555,7 +1543,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>beforeWaitOnSafePoint</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.793">beforeWaitOnSafePoint</a>()</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.792">beforeWaitOnSafePoint</a>()</pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#afterCreatingZigZagLatch()"><code>afterCreatingZigZagLatch()</code></a></dd></dl>
 </li>
 </ul>
@@ -1565,7 +1553,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>replaceWriter</h4>
-<pre>org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.813">replaceWriter</a>(org.apache.hadoop.fs.Path&nbsp;oldPath,
+<pre>org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.812">replaceWriter</a>(org.apache.hadoop.fs.Path&nbsp;oldPath,
                                       org.apache.hadoop.fs.Path&nbsp;newPath,
                                       <a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.Writer.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.Writer</a>&nbsp;nextWriter,
                                       org.apache.hadoop.fs.FSDataOutputStream&nbsp;nextHdfsOut)
@@ -1591,7 +1579,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>getUnflushedEntriesCount</h4>
-<pre>long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.911">getUnflushedEntriesCount</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.910">getUnflushedEntriesCount</a>()</pre>
 </li>
 </ul>
 <a name="isUnflushedEntries()">
@@ -1600,7 +1588,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>isUnflushedEntries</h4>
-<pre>boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.917">isUnflushedEntries</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.916">isUnflushedEntries</a>()</pre>
 </li>
 </ul>
 <a name="getWALArchivePath(org.apache.hadoop.fs.Path, org.apache.hadoop.fs.Path)">
@@ -1609,7 +1597,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>getWALArchivePath</h4>
-<pre>public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.925">getWALArchivePath</a>(org.apache.hadoop.fs.Path&nbsp;archiveDir,
+<pre>public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.924">getWALArchivePath</a>(org.apache.hadoop.fs.Path&nbsp;archiveDir,
                                           org.apache.hadoop.fs.Path&nbsp;p)</pre>
 </li>
 </ul>
@@ -1619,7 +1607,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>archiveLogFile</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.929">archiveLogFile</a>(org.apache.hadoop.fs.Path&nbsp;p)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.928">archiveLogFile</a>(org.apache.hadoop.fs.Path&nbsp;p)
                      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>
@@ -1631,7 +1619,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>computeFilename</h4>
-<pre>protected&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.955">computeFilename</a>(long&nbsp;filenum)</pre>
+<pre>protected&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.954">computeFilename</a>(long&nbsp;filenum)</pre>
 <div class="block">This is a convenience method that computes a new filename with a given
  file-number.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>filenum</code> - to use</dd>
@@ -1644,7 +1632,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>getCurrentFileName</h4>
-<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.968">getCurrentFileName</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.967">getCurrentFileName</a>()</pre>
 <div class="block">This is a convenience method that computes a new filename with a given
  using the current WAL file-number</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>Path</dd></dl>
@@ -1656,7 +1644,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <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/regionserver/wal/FSHLog.html#line.973">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/regionserver/wal/FSHLog.html#line.972">toString</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#toString()">WAL</a></code></strong></div>
 <div class="block">Human readable identifying information about the state of this WAL.
  Implementors are encouraged to include information appropriate for debugging.
@@ -1676,7 +1664,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>getFileNumFromFileName</h4>
-<pre>protected&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.985">getFileNumFromFileName</a>(org.apache.hadoop.fs.Path&nbsp;fileName)</pre>
+<pre>protected&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.984">getFileNumFromFileName</a>(org.apache.hadoop.fs.Path&nbsp;fileName)</pre>
 <div class="block">A log file has a creation timestamp (in ms) in its file name (<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#filenum"><code>filenum</code></a>.
  This helper method returns the creation timestamp from a given log file.
  It extracts the timestamp assuming the filename is created with the
@@ -1691,7 +1679,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>close</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.998">close</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.997">close</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/wal/WAL.html#close()">WAL</a></code></strong></div>
 <div class="block">Caller no longer needs any edits from this WAL. Implementers are free to reclaim
@@ -1710,7 +1698,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>shutdown</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1028">shutdown</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1027">shutdown</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/wal/WAL.html#shutdown()">WAL</a></code></strong></div>
 <div class="block">Stop accepting new writes. If we have unsynced writes still in buffer, sync them.
@@ -1728,17 +1716,23 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>append</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1075">append</a>(<a href="../../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;htd,
+<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1087">append</a>(<a href="../../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;htd,
           <a href="../../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri,
           <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a>&nbsp;key,
           <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;edits,
           boolean&nbsp;inMemstore)
             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/wal/WAL.html#append(org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.wal.WALKey,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20boolean)">WAL</a></code></strong></div>
-<div class="block">Append a set of edits to the WAL. The WAL is not flushed/sync'd after this transaction
- completes BUT on return this edit must have its region edit/sequence id assigned
- else it messes up our unification of mvcc and sequenceid.  On return <code>key</code> will
- have the region edit/sequence id filled in.</div>
+<div class="block">NOTE: This append, at a time that is usually after this call returns, starts an
+ mvcc transaction by calling 'begin' wherein which we assign this update a sequenceid. At
+ assignment time, we stamp all the passed in Cells inside WALEdit with their sequenceId.
+ You must 'complete' the transaction this mvcc transaction by calling
+ MultiVersionConcurrencyControl#complete(...) or a variant otherwise mvcc will get stuck. Do it
+ in the finally of a try/finally
+ block within which this append lives and any subsequent operations like sync or
+ update of memstore, etc. Get the WriteEntry to pass mvcc out of the passed in WALKey
+ <code>walKey</code> parameter. Be warned that the WriteEntry is not immediately available
+ on return from this method. It WILL be available subsequent to a sync of this append;
+ otherwise, you will just have to wait on the WriteEntry to get filled in.</div>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#append(org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.wal.WALKey,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20boolean)">append</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a></code></dd>
@@ -1759,7 +1753,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>checkLogRoll</h4>
-<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1272">checkLogRoll</a>()</pre>
+<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1284">checkLogRoll</a>()</pre>
 <div class="block">Schedule a log roll if needed.</div>
 </li>
 </ul>
@@ -1769,7 +1763,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>checkLowReplication</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1293">checkLowReplication</a>()</pre>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1305">checkLowReplication</a>()</pre>
 </li>
 </ul>
 <a name="publishSyncOnRingBuffer()">
@@ -1778,7 +1772,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>publishSyncOnRingBuffer</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/SyncFuture.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SyncFuture</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1340">publishSyncOnRingBuffer</a>()</pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/SyncFuture.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SyncFuture</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1352">publishSyncOnRingBuffer</a>()</pre>
 </li>
 </ul>
 <a name="publishSyncOnRingBuffer(org.apache.htrace.Span)">
@@ -1787,7 +1781,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>publishSyncOnRingBuffer</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/SyncFuture.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SyncFuture</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1344">publishSyncOnRingBuffer</a>(org.apache.htrace.Span&nbsp;span)</pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/SyncFuture.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SyncFuture</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1356">publishSyncOnRingBuffer</a>(org.apache.htrace.Span&nbsp;span)</pre>
 </li>
 </ul>
 <a name="publishSyncThenBlockOnCompletion(org.apache.htrace.Span)">
@@ -1796,7 +1790,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>publishSyncThenBlockOnCompletion</h4>
-<pre>private&nbsp;org.apache.htrace.Span&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1357">publishSyncThenBlockOnCompletion</a>(org.apache.htrace.Span&nbsp;span)
+<pre>private&nbsp;org.apache.htrace.Span&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1369">publishSyncThenBlockOnCompletion</a>(org.apache.htrace.Span&nbsp;span)
                                                          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>
@@ -1808,7 +1802,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>blockOnSync</h4>
-<pre>private&nbsp;org.apache.htrace.Span&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1361">blockOnSync</a>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/SyncFuture.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SyncFuture</a>&nbsp;syncFuture)
+<pre>private&nbsp;org.apache.htrace.Span&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1373">blockOnSync</a>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/SyncFuture.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SyncFuture</a>&nbsp;syncFuture)
                                     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>
@@ -1820,7 +1814,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>convertInterruptedExceptionToIOException</h4>
-<pre>private&nbsp;<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>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1374">convertInterruptedExceptionToIOException</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>&nbsp;ie)</pre>
+<pre>private&nbsp;<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>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1386">convertInterruptedExceptionToIOException</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>&nbsp;ie)</pre>
 </li>
 </ul>
 <a name="getSyncFuture(long, org.apache.htrace.Span)">
@@ -1829,7 +1823,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>getSyncFuture</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/SyncFuture.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SyncFuture</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1381">getSyncFuture</a>(long&nbsp;sequence,
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/SyncFuture.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SyncFuture</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1393">getSyncFuture</a>(long&nbsp;sequence,
                        org.apache.htrace.Span&nbsp;span)</pre>
 </li>
 </ul>
@@ -1839,7 +1833,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>postSync</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1390">postSync</a>(long&nbsp;timeInNanos,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1402">postSync</a>(long&nbsp;timeInNanos,
             int&nbsp;handlerSyncs)</pre>
 </li>
 </ul>
@@ -1849,7 +1843,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>postAppend</h4>
-<pre>private&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1406">postAppend</a>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;e,
+<pre>private&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1418">postAppend</a>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;e,
               long&nbsp;elapsedTime)</pre>
 </li>
 </ul>
@@ -1859,7 +1853,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>getLogReplication</h4>
-<pre>int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1433">getLogReplication</a>()</pre>
+<pre>int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1445">getLogReplication</a>()</pre>
 <div class="block">This method gets the datanode replication count for the current WAL.
 
  If the pipeline isn't started yet or is empty, you will get the default
@@ -1878,7 +1872,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>sync</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1446">sync</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1458">sync</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/wal/WAL.html#sync()">WAL</a></code></strong></div>
 <div class="block">Sync what we have in the WAL.</div>
@@ -1895,7 +1889,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>sync</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1457">sync</a>(long&nbsp;txid)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1469">sync</a>(long&nbsp;txid)
           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/wal/WAL.html#sync(long)">WAL</a></code></strong></div>
 <div class="block">Sync the WAL if the txId was not already sync'd.</div>
@@ -1913,7 +1907,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>requestLogRoll</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1472">requestLogRoll</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1484">requestLogRoll</a>()</pre>
 </li>
 </ul>
 <a name="requestLogRoll(boolean)">
@@ -1922,7 +1916,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>requestLogRoll</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1476">requestLogRoll</a>(boolean&nbsp;tooFewReplicas)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1488">requestLogRoll</a>(boolean&nbsp;tooFewReplicas)</pre>
 </li>
 </ul>
 <a name="getNumRolledLogFiles()">
@@ -1931,7 +1925,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>getNumRolledLogFiles</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1486">getNumRolledLogFiles</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1498">getNumRolledLogFiles</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the number of rolled log files</dd></dl>
 </li>
 </ul>
@@ -1941,7 +1935,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>getNumLogFiles</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1492">getNumLogFiles</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1504">getNumLogFiles</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the number of log files in use</dd></dl>
 </li>
 </ul>
@@ -1951,7 +1945,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>getLogFileSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1499">getLogFileSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1511">getLogFileSize</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the size of log files in use</dd></dl>
 </li>
 </ul>
@@ -1961,7 +1955,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>startCacheFlush</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1504">startCacheFlush</a>(byte[]&nbsp;encodedRegionName,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#line.1516">startCacheFlush</a>(byte[]&nbsp;encodedRegionName,
                    <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;byte[]&gt;&nbsp;families)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html#startCacheFlush(byte[],%20java.util.Set)">WAL</a></code></strong></div>
 <div class="block">WAL keeps track of the sequence numbers that are as yet not flushed im memstores
@@ -1989,7 +1983,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>completeCacheFlush</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/FSHLog

<TRUNCATED>