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/09 18:27:47 UTC

[01/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Repository: hbase-site
Updated Branches:
  refs/heads/asf-site 689b88b04 -> 358717f69


http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/replication.html
----------------------------------------------------------------------
diff --git a/replication.html b/replication.html
index 68ea30b..c52837a 100644
--- a/replication.html
+++ b/replication.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Apache HBase (TM) Replication
@@ -302,7 +302,7 @@ under the License. -->
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-02-07</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-09</li>
             </p>
                 </div>
 


[04/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/src-html/org/apache/hadoop/hbase/wal/WALKey.Version.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/wal/WALKey.Version.html b/devapidocs/src-html/org/apache/hadoop/hbase/wal/WALKey.Version.html
index fa2326f..26033db 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/wal/WALKey.Version.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/wal/WALKey.Version.html
@@ -38,641 +38,630 @@
 <span class="sourceLineNo">030</span>import java.util.TreeMap;<a name="line.30"></a>
 <span class="sourceLineNo">031</span>import java.util.UUID;<a name="line.31"></a>
 <span class="sourceLineNo">032</span>import java.util.concurrent.CountDownLatch;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import java.util.concurrent.TimeUnit;<a name="line.33"></a>
-<span class="sourceLineNo">034</span><a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.util.ByteStringer;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.commons.logging.Log;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.commons.logging.LogFactory;<a name="line.38"></a>
+<span class="sourceLineNo">033</span><a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.commons.logging.Log;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.commons.logging.LogFactory;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.HBaseInterfaceAudience;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.HConstants;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.TableName;<a name="line.38"></a>
 <span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.exceptions.TimeoutIOException;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.HBaseInterfaceAudience;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.HConstants;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.TableName;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FamilyScope;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.ScopeType;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.regionserver.SequenceId;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.49"></a>
-<span class="sourceLineNo">050</span><a name="line.50"></a>
-<span class="sourceLineNo">051</span>import com.google.common.annotations.VisibleForTesting;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import com.google.protobuf.ByteString;<a name="line.52"></a>
-<span class="sourceLineNo">053</span><a name="line.53"></a>
-<span class="sourceLineNo">054</span>// imports for things that haven't moved from regionserver.wal yet.<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.regionserver.wal.CompressionContext;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.regionserver.wal.WALCellCodec;<a name="line.56"></a>
-<span class="sourceLineNo">057</span><a name="line.57"></a>
-<span class="sourceLineNo">058</span>/**<a name="line.58"></a>
-<span class="sourceLineNo">059</span> * A Key for an entry in the change log.<a name="line.59"></a>
-<span class="sourceLineNo">060</span> *<a name="line.60"></a>
-<span class="sourceLineNo">061</span> * The log intermingles edits to many tables and rows, so each log entry<a name="line.61"></a>
-<span class="sourceLineNo">062</span> * identifies the appropriate table and row.  Within a table and row, they're<a name="line.62"></a>
-<span class="sourceLineNo">063</span> * also sorted.<a name="line.63"></a>
-<span class="sourceLineNo">064</span> *<a name="line.64"></a>
-<span class="sourceLineNo">065</span> * &lt;p&gt;Some Transactional edits (START, COMMIT, ABORT) will not have an<a name="line.65"></a>
-<span class="sourceLineNo">066</span> * associated row.<a name="line.66"></a>
-<span class="sourceLineNo">067</span> *<a name="line.67"></a>
-<span class="sourceLineNo">068</span> * Note that protected members marked @InterfaceAudience.Private are only protected<a name="line.68"></a>
-<span class="sourceLineNo">069</span> * to support the legacy HLogKey class, which is in a different package.<a name="line.69"></a>
-<span class="sourceLineNo">070</span> * <a name="line.70"></a>
-<span class="sourceLineNo">071</span> * &lt;p&gt;<a name="line.71"></a>
-<span class="sourceLineNo">072</span> */<a name="line.72"></a>
-<span class="sourceLineNo">073</span>// TODO: Key and WALEdit are never used separately, or in one-to-many relation, for practical<a name="line.73"></a>
-<span class="sourceLineNo">074</span>//       purposes. They need to be merged into WALEntry.<a name="line.74"></a>
-<span class="sourceLineNo">075</span>// TODO: Cleanup. We have logSeqNum and then WriteEntry, both are sequence id'ing. Fix.<a name="line.75"></a>
-<span class="sourceLineNo">076</span>@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.REPLICATION)<a name="line.76"></a>
-<span class="sourceLineNo">077</span>public class WALKey implements SequenceId, Comparable&lt;WALKey&gt; {<a name="line.77"></a>
-<span class="sourceLineNo">078</span>  private static final Log LOG = LogFactory.getLog(WALKey.class);<a name="line.78"></a>
-<span class="sourceLineNo">079</span><a name="line.79"></a>
-<span class="sourceLineNo">080</span>  @InterfaceAudience.Private // For internal use only.<a name="line.80"></a>
-<span class="sourceLineNo">081</span>  public MultiVersionConcurrencyControl getMvcc() {<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    return mvcc;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>  }<a name="line.83"></a>
-<span class="sourceLineNo">084</span><a name="line.84"></a>
-<span class="sourceLineNo">085</span>  /**<a name="line.85"></a>
-<span class="sourceLineNo">086</span>   * Will block until a write entry has been assigned by they WAL subsystem.<a name="line.86"></a>
-<span class="sourceLineNo">087</span>   * @return A WriteEntry gotten from local WAL subsystem. Must be completed by calling<a name="line.87"></a>
-<span class="sourceLineNo">088</span>   *     {@link MultiVersionConcurrencyControl#complete(MultiVersionConcurrencyControl.WriteEntry)}<a name="line.88"></a>
-<span class="sourceLineNo">089</span>   *     or<a name="line.89"></a>
-<span class="sourceLineNo">090</span>   *     {@link MultiVersionConcurrencyControl#complete(MultiVersionConcurrencyControl.WriteEntry)}<a name="line.90"></a>
-<span class="sourceLineNo">091</span>   * @see #setWriteEntry(MultiVersionConcurrencyControl.WriteEntry)<a name="line.91"></a>
-<span class="sourceLineNo">092</span>   */<a name="line.92"></a>
-<span class="sourceLineNo">093</span>  @InterfaceAudience.Private // For internal use only.<a name="line.93"></a>
-<span class="sourceLineNo">094</span>  public MultiVersionConcurrencyControl.WriteEntry getWriteEntry() throws InterruptedIOException {<a name="line.94"></a>
-<span class="sourceLineNo">095</span>    try {<a name="line.95"></a>
-<span class="sourceLineNo">096</span>      this.seqNumAssignedLatch.await();<a name="line.96"></a>
-<span class="sourceLineNo">097</span>    } catch (InterruptedException ie) {<a name="line.97"></a>
-<span class="sourceLineNo">098</span>      // If interrupted... clear out our entry else we can block up mvcc.<a name="line.98"></a>
-<span class="sourceLineNo">099</span>      MultiVersionConcurrencyControl mvcc = getMvcc();<a name="line.99"></a>
-<span class="sourceLineNo">100</span>      LOG.debug("mvcc=" + mvcc + ", writeEntry=" + this.writeEntry);<a name="line.100"></a>
-<span class="sourceLineNo">101</span>      if (mvcc != null) {<a name="line.101"></a>
-<span class="sourceLineNo">102</span>        if (this.writeEntry != null) {<a name="line.102"></a>
-<span class="sourceLineNo">103</span>          mvcc.complete(this.writeEntry);<a name="line.103"></a>
-<span class="sourceLineNo">104</span>        }<a name="line.104"></a>
-<span class="sourceLineNo">105</span>      }<a name="line.105"></a>
-<span class="sourceLineNo">106</span>      InterruptedIOException iie = new InterruptedIOException();<a name="line.106"></a>
-<span class="sourceLineNo">107</span>      iie.initCause(ie);<a name="line.107"></a>
-<span class="sourceLineNo">108</span>      throw iie;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    }<a name="line.109"></a>
-<span class="sourceLineNo">110</span>    return this.writeEntry;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  }<a name="line.111"></a>
-<span class="sourceLineNo">112</span><a name="line.112"></a>
-<span class="sourceLineNo">113</span>  @InterfaceAudience.Private // For internal use only.<a name="line.113"></a>
-<span class="sourceLineNo">114</span>  public void setWriteEntry(MultiVersionConcurrencyControl.WriteEntry writeEntry) {<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    this.writeEntry = writeEntry;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    this.seqNumAssignedLatch.countDown();<a name="line.116"></a>
-<span class="sourceLineNo">117</span>  }<a name="line.117"></a>
-<span class="sourceLineNo">118</span><a name="line.118"></a>
-<span class="sourceLineNo">119</span>  // should be &lt; 0 (@see HLogKey#readFields(DataInput))<a name="line.119"></a>
-<span class="sourceLineNo">120</span>  // version 2 supports WAL compression<a name="line.120"></a>
-<span class="sourceLineNo">121</span>  // public members here are only public because of HLogKey<a name="line.121"></a>
-<span class="sourceLineNo">122</span>  @InterfaceAudience.Private<a name="line.122"></a>
-<span class="sourceLineNo">123</span>  protected enum Version {<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    UNVERSIONED(0),<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    // Initial number we put on WALKey when we introduced versioning.<a name="line.125"></a>
-<span class="sourceLineNo">126</span>    INITIAL(-1),<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    // Version -2 introduced a dictionary compression facility.  Only this<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    // dictionary-based compression is available in version -2.<a name="line.128"></a>
-<span class="sourceLineNo">129</span>    COMPRESSED(-2);<a name="line.129"></a>
-<span class="sourceLineNo">130</span><a name="line.130"></a>
-<span class="sourceLineNo">131</span>    public final int code;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    static final Version[] byCode;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    static {<a name="line.133"></a>
-<span class="sourceLineNo">134</span>      byCode = Version.values();<a name="line.134"></a>
-<span class="sourceLineNo">135</span>      for (int i = 0; i &lt; byCode.length; i++) {<a name="line.135"></a>
-<span class="sourceLineNo">136</span>        if (byCode[i].code != -1 * i) {<a name="line.136"></a>
-<span class="sourceLineNo">137</span>          throw new AssertionError("Values in this enum should be descending by one");<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>    }<a name="line.140"></a>
-<span class="sourceLineNo">141</span><a name="line.141"></a>
-<span class="sourceLineNo">142</span>    Version(int code) {<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      this.code = code;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    }<a name="line.144"></a>
-<span class="sourceLineNo">145</span><a name="line.145"></a>
-<span class="sourceLineNo">146</span>    public boolean atLeast(Version other) {<a name="line.146"></a>
-<span class="sourceLineNo">147</span>      return code &lt;= other.code;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    }<a name="line.148"></a>
-<span class="sourceLineNo">149</span><a name="line.149"></a>
-<span class="sourceLineNo">150</span>    public static Version fromCode(int code) {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>      return byCode[code * -1];<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    }<a name="line.152"></a>
-<span class="sourceLineNo">153</span>  }<a name="line.153"></a>
-<span class="sourceLineNo">154</span><a name="line.154"></a>
-<span class="sourceLineNo">155</span>  /*<a name="line.155"></a>
-<span class="sourceLineNo">156</span>   * This is used for reading the log entries created by the previous releases<a name="line.156"></a>
-<span class="sourceLineNo">157</span>   * (0.94.11) which write the clusters information to the scopes of WALEdit.<a name="line.157"></a>
-<span class="sourceLineNo">158</span>   */<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  private static final String PREFIX_CLUSTER_KEY = ".";<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>  // visible for deprecated HLogKey<a name="line.162"></a>
-<span class="sourceLineNo">163</span>  @InterfaceAudience.Private<a name="line.163"></a>
-<span class="sourceLineNo">164</span>  protected static final Version VERSION = Version.COMPRESSED;<a name="line.164"></a>
-<span class="sourceLineNo">165</span><a name="line.165"></a>
-<span class="sourceLineNo">166</span>  /** Used to represent when a particular wal key doesn't know/care about the sequence ordering. */<a name="line.166"></a>
-<span class="sourceLineNo">167</span>  public static final long NO_SEQUENCE_ID = -1;<a name="line.167"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FamilyScope;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.ScopeType;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.regionserver.SequenceId;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>// imports for things that haven't moved from regionserver.wal yet.<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.regionserver.wal.CompressionContext;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.regionserver.wal.WALCellCodec;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.util.ByteStringer;<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.EnvironmentEdgeManager;<a name="line.50"></a>
+<span class="sourceLineNo">051</span><a name="line.51"></a>
+<span class="sourceLineNo">052</span>import com.google.common.annotations.VisibleForTesting;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import com.google.protobuf.ByteString;<a name="line.53"></a>
+<span class="sourceLineNo">054</span><a name="line.54"></a>
+<span class="sourceLineNo">055</span>/**<a name="line.55"></a>
+<span class="sourceLineNo">056</span> * A Key for an entry in the WAL.<a name="line.56"></a>
+<span class="sourceLineNo">057</span> *<a name="line.57"></a>
+<span class="sourceLineNo">058</span> * The log intermingles edits to many tables and rows, so each log entry<a name="line.58"></a>
+<span class="sourceLineNo">059</span> * identifies the appropriate table and row.  Within a table and row, they're<a name="line.59"></a>
+<span class="sourceLineNo">060</span> * also sorted.<a name="line.60"></a>
+<span class="sourceLineNo">061</span> *<a name="line.61"></a>
+<span class="sourceLineNo">062</span> * &lt;p&gt;Some Transactional edits (START, COMMIT, ABORT) will not have an associated row.<a name="line.62"></a>
+<span class="sourceLineNo">063</span> *<a name="line.63"></a>
+<span class="sourceLineNo">064</span> * Note that protected members marked @InterfaceAudience.Private are only protected<a name="line.64"></a>
+<span class="sourceLineNo">065</span> * to support the legacy HLogKey class, which is in a different package.<a name="line.65"></a>
+<span class="sourceLineNo">066</span> */<a name="line.66"></a>
+<span class="sourceLineNo">067</span>// TODO: Key and WALEdit are never used separately, or in one-to-many relation, for practical<a name="line.67"></a>
+<span class="sourceLineNo">068</span>//       purposes. They need to be merged into WALEntry.<a name="line.68"></a>
+<span class="sourceLineNo">069</span>@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.REPLICATION)<a name="line.69"></a>
+<span class="sourceLineNo">070</span>public class WALKey implements SequenceId, Comparable&lt;WALKey&gt; {<a name="line.70"></a>
+<span class="sourceLineNo">071</span>  private static final Log LOG = LogFactory.getLog(WALKey.class);<a name="line.71"></a>
+<span class="sourceLineNo">072</span>  private final CountDownLatch sequenceIdAssignedLatch = new CountDownLatch(1);<a name="line.72"></a>
+<span class="sourceLineNo">073</span>  /**<a name="line.73"></a>
+<span class="sourceLineNo">074</span>   * Used to represent when a particular wal key doesn't know/care about the sequence ordering.<a name="line.74"></a>
+<span class="sourceLineNo">075</span>   */<a name="line.75"></a>
+<span class="sourceLineNo">076</span>  public static final long NO_SEQUENCE_ID = -1;<a name="line.76"></a>
+<span class="sourceLineNo">077</span><a name="line.77"></a>
+<span class="sourceLineNo">078</span>  @InterfaceAudience.Private // For internal use only.<a name="line.78"></a>
+<span class="sourceLineNo">079</span>  public MultiVersionConcurrencyControl getMvcc() {<a name="line.79"></a>
+<span class="sourceLineNo">080</span>    return mvcc;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>  }<a name="line.81"></a>
+<span class="sourceLineNo">082</span><a name="line.82"></a>
+<span class="sourceLineNo">083</span>  /**<a name="line.83"></a>
+<span class="sourceLineNo">084</span>   * Use it to complete mvcc transaction. This WALKey was part of<a name="line.84"></a>
+<span class="sourceLineNo">085</span>   * (the transaction is started when you call append; see the comment on FSHLog#append). To<a name="line.85"></a>
+<span class="sourceLineNo">086</span>   * complete call<a name="line.86"></a>
+<span class="sourceLineNo">087</span>   * {@link MultiVersionConcurrencyControl#complete(MultiVersionConcurrencyControl.WriteEntry)}<a name="line.87"></a>
+<span class="sourceLineNo">088</span>   * or {@link MultiVersionConcurrencyControl#complete(MultiVersionConcurrencyControl.WriteEntry)}<a name="line.88"></a>
+<span class="sourceLineNo">089</span>   * @return A WriteEntry gotten from local WAL subsystem.<a name="line.89"></a>
+<span class="sourceLineNo">090</span>   * @see #setWriteEntry(MultiVersionConcurrencyControl.WriteEntry)<a name="line.90"></a>
+<span class="sourceLineNo">091</span>   */<a name="line.91"></a>
+<span class="sourceLineNo">092</span>  @InterfaceAudience.Private // For internal use only.<a name="line.92"></a>
+<span class="sourceLineNo">093</span>  public MultiVersionConcurrencyControl.WriteEntry getWriteEntry() throws InterruptedIOException {<a name="line.93"></a>
+<span class="sourceLineNo">094</span>    try {<a name="line.94"></a>
+<span class="sourceLineNo">095</span>      this.sequenceIdAssignedLatch.await();<a name="line.95"></a>
+<span class="sourceLineNo">096</span>    } catch (InterruptedException ie) {<a name="line.96"></a>
+<span class="sourceLineNo">097</span>      MultiVersionConcurrencyControl mvcc = getMvcc();<a name="line.97"></a>
+<span class="sourceLineNo">098</span>      if (LOG.isDebugEnabled()) {<a name="line.98"></a>
+<span class="sourceLineNo">099</span>        LOG.debug("mvcc=" + mvcc + ", writeEntry=" + this.writeEntry);<a name="line.99"></a>
+<span class="sourceLineNo">100</span>      }<a name="line.100"></a>
+<span class="sourceLineNo">101</span>      InterruptedIOException iie = new InterruptedIOException();<a name="line.101"></a>
+<span class="sourceLineNo">102</span>      iie.initCause(ie);<a name="line.102"></a>
+<span class="sourceLineNo">103</span>      throw iie;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>    }<a name="line.104"></a>
+<span class="sourceLineNo">105</span>    return this.writeEntry;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>  }<a name="line.106"></a>
+<span class="sourceLineNo">107</span><a name="line.107"></a>
+<span class="sourceLineNo">108</span>  @InterfaceAudience.Private // For internal use only.<a name="line.108"></a>
+<span class="sourceLineNo">109</span>  public void setWriteEntry(MultiVersionConcurrencyControl.WriteEntry writeEntry) {<a name="line.109"></a>
+<span class="sourceLineNo">110</span>    if (this.writeEntry != null) {<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      throw new RuntimeException("Non-null!!!");<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    }<a name="line.112"></a>
+<span class="sourceLineNo">113</span>    this.writeEntry = writeEntry;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    // Set our sequenceid now using WriteEntry.<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    if (this.writeEntry != null) {<a name="line.115"></a>
+<span class="sourceLineNo">116</span>      this.sequenceId = this.writeEntry.getWriteNumber();<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    }<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    this.sequenceIdAssignedLatch.countDown();<a name="line.118"></a>
+<span class="sourceLineNo">119</span>  }<a name="line.119"></a>
+<span class="sourceLineNo">120</span><a name="line.120"></a>
+<span class="sourceLineNo">121</span>  // REMOVE!!!! No more Writables!!!!<a name="line.121"></a>
+<span class="sourceLineNo">122</span>  // Should be &lt; 0 (@see HLogKey#readFields(DataInput))<a name="line.122"></a>
+<span class="sourceLineNo">123</span>  // version 2 supports WAL compression<a name="line.123"></a>
+<span class="sourceLineNo">124</span>  // public members here are only public because of HLogKey<a name="line.124"></a>
+<span class="sourceLineNo">125</span>  @InterfaceAudience.Private<a name="line.125"></a>
+<span class="sourceLineNo">126</span>  protected enum Version {<a name="line.126"></a>
+<span class="sourceLineNo">127</span>    UNVERSIONED(0),<a name="line.127"></a>
+<span class="sourceLineNo">128</span>    // Initial number we put on WALKey when we introduced versioning.<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    INITIAL(-1),<a name="line.129"></a>
+<span class="sourceLineNo">130</span>    // Version -2 introduced a dictionary compression facility.  Only this<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    // dictionary-based compression is available in version -2.<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    COMPRESSED(-2);<a name="line.132"></a>
+<span class="sourceLineNo">133</span><a name="line.133"></a>
+<span class="sourceLineNo">134</span>    public final int code;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>    static final Version[] byCode;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>    static {<a name="line.136"></a>
+<span class="sourceLineNo">137</span>      byCode = Version.values();<a name="line.137"></a>
+<span class="sourceLineNo">138</span>      for (int i = 0; i &lt; byCode.length; i++) {<a name="line.138"></a>
+<span class="sourceLineNo">139</span>        if (byCode[i].code != -1 * i) {<a name="line.139"></a>
+<span class="sourceLineNo">140</span>          throw new AssertionError("Values in this enum should be descending by one");<a name="line.140"></a>
+<span class="sourceLineNo">141</span>        }<a name="line.141"></a>
+<span class="sourceLineNo">142</span>      }<a name="line.142"></a>
+<span class="sourceLineNo">143</span>    }<a name="line.143"></a>
+<span class="sourceLineNo">144</span><a name="line.144"></a>
+<span class="sourceLineNo">145</span>    Version(int code) {<a name="line.145"></a>
+<span class="sourceLineNo">146</span>      this.code = code;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    }<a name="line.147"></a>
+<span class="sourceLineNo">148</span><a name="line.148"></a>
+<span class="sourceLineNo">149</span>    public boolean atLeast(Version other) {<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      return code &lt;= other.code;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    }<a name="line.151"></a>
+<span class="sourceLineNo">152</span><a name="line.152"></a>
+<span class="sourceLineNo">153</span>    public static Version fromCode(int code) {<a name="line.153"></a>
+<span class="sourceLineNo">154</span>      return byCode[code * -1];<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>  /*<a name="line.158"></a>
+<span class="sourceLineNo">159</span>   * This is used for reading the log entries created by the previous releases<a name="line.159"></a>
+<span class="sourceLineNo">160</span>   * (0.94.11) which write the clusters information to the scopes of WALEdit.<a name="line.160"></a>
+<span class="sourceLineNo">161</span>   */<a name="line.161"></a>
+<span class="sourceLineNo">162</span>  private static final String PREFIX_CLUSTER_KEY = ".";<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>  // visible for deprecated HLogKey<a name="line.165"></a>
+<span class="sourceLineNo">166</span>  @InterfaceAudience.Private<a name="line.166"></a>
+<span class="sourceLineNo">167</span>  protected static final Version VERSION = Version.COMPRESSED;<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>  // visible for deprecated HLogKey<a name="line.170"></a>
-<span class="sourceLineNo">171</span>  @InterfaceAudience.Private<a name="line.171"></a>
-<span class="sourceLineNo">172</span>  protected byte [] encodedRegionName;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>  // visible for deprecated HLogKey<a name="line.173"></a>
-<span class="sourceLineNo">174</span>  @InterfaceAudience.Private<a name="line.174"></a>
-<span class="sourceLineNo">175</span>  protected TableName tablename;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>  // visible for deprecated HLogKey<a name="line.176"></a>
-<span class="sourceLineNo">177</span>  @InterfaceAudience.Private<a name="line.177"></a>
-<span class="sourceLineNo">178</span>  protected long logSeqNum;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>  private long origLogSeqNum = 0;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>  private CountDownLatch seqNumAssignedLatch = new CountDownLatch(1);<a name="line.180"></a>
-<span class="sourceLineNo">181</span>  // Time at which this edit was written.<a name="line.181"></a>
-<span class="sourceLineNo">182</span>  // visible for deprecated HLogKey<a name="line.182"></a>
-<span class="sourceLineNo">183</span>  @InterfaceAudience.Private<a name="line.183"></a>
-<span class="sourceLineNo">184</span>  protected long writeTime;<a name="line.184"></a>
+<span class="sourceLineNo">169</span>  // visible for deprecated HLogKey<a name="line.169"></a>
+<span class="sourceLineNo">170</span>  @InterfaceAudience.Private<a name="line.170"></a>
+<span class="sourceLineNo">171</span>  protected byte [] encodedRegionName;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>  // visible for deprecated HLogKey<a name="line.172"></a>
+<span class="sourceLineNo">173</span>  @InterfaceAudience.Private<a name="line.173"></a>
+<span class="sourceLineNo">174</span>  protected TableName tablename;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>  /**<a name="line.175"></a>
+<span class="sourceLineNo">176</span>   * SequenceId for this edit. Set post-construction at write-to-WAL time. Until then it is<a name="line.176"></a>
+<span class="sourceLineNo">177</span>   * NO_SEQUENCE_ID. Change it so multiple threads can read it -- e.g. access is synchronized.<a name="line.177"></a>
+<span class="sourceLineNo">178</span>   */<a name="line.178"></a>
+<span class="sourceLineNo">179</span>  private long sequenceId;<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>   * Used during WAL replay; the sequenceId of the edit when it came into the system.<a name="line.182"></a>
+<span class="sourceLineNo">183</span>   */<a name="line.183"></a>
+<span class="sourceLineNo">184</span>  private long origLogSeqNum = 0;<a name="line.184"></a>
 <span class="sourceLineNo">185</span><a name="line.185"></a>
-<span class="sourceLineNo">186</span>  // The first element in the list is the cluster id on which the change has originated<a name="line.186"></a>
+<span class="sourceLineNo">186</span>  // Time at which this edit was written.<a name="line.186"></a>
 <span class="sourceLineNo">187</span>  // visible for deprecated HLogKey<a name="line.187"></a>
 <span class="sourceLineNo">188</span>  @InterfaceAudience.Private<a name="line.188"></a>
-<span class="sourceLineNo">189</span>  protected List&lt;UUID&gt; clusterIds;<a name="line.189"></a>
+<span class="sourceLineNo">189</span>  protected long writeTime;<a name="line.189"></a>
 <span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span>  private NavigableMap&lt;byte[], Integer&gt; scopes;<a name="line.191"></a>
-<span class="sourceLineNo">192</span><a name="line.192"></a>
-<span class="sourceLineNo">193</span>  private long nonceGroup = HConstants.NO_NONCE;<a name="line.193"></a>
-<span class="sourceLineNo">194</span>  private long nonce = HConstants.NO_NONCE;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  private MultiVersionConcurrencyControl mvcc;<a name="line.195"></a>
-<span class="sourceLineNo">196</span>  private MultiVersionConcurrencyControl.WriteEntry writeEntry;<a name="line.196"></a>
-<span class="sourceLineNo">197</span>  public static final List&lt;UUID&gt; EMPTY_UUIDS = Collections.unmodifiableList(new ArrayList&lt;UUID&gt;());<a name="line.197"></a>
-<span class="sourceLineNo">198</span><a name="line.198"></a>
-<span class="sourceLineNo">199</span>  // visible for deprecated HLogKey<a name="line.199"></a>
-<span class="sourceLineNo">200</span>  @InterfaceAudience.Private<a name="line.200"></a>
-<span class="sourceLineNo">201</span>  protected CompressionContext compressionContext;<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>  public WALKey() {<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    init(null, null, 0L, HConstants.LATEST_TIMESTAMP,<a name="line.204"></a>
-<span class="sourceLineNo">205</span>        new ArrayList&lt;UUID&gt;(), HConstants.NO_NONCE, HConstants.NO_NONCE, null);<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>  @VisibleForTesting<a name="line.208"></a>
-<span class="sourceLineNo">209</span>  public WALKey(final byte[] encodedRegionName, final TableName tablename,<a name="line.209"></a>
-<span class="sourceLineNo">210</span>                long logSeqNum,<a name="line.210"></a>
-<span class="sourceLineNo">211</span>      final long now, UUID clusterId) {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    List&lt;UUID&gt; clusterIds = new ArrayList&lt;UUID&gt;();<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    clusterIds.add(clusterId);<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    init(encodedRegionName, tablename, logSeqNum, now, clusterIds,<a name="line.214"></a>
-<span class="sourceLineNo">215</span>        HConstants.NO_NONCE, HConstants.NO_NONCE, null);<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span>  public WALKey(final byte[] encodedRegionName, final TableName tablename) {<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    this(encodedRegionName, tablename, System.currentTimeMillis());<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>  public WALKey(final byte[] encodedRegionName, final TableName tablename, final long now) {<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    init(encodedRegionName,<a name="line.223"></a>
-<span class="sourceLineNo">224</span>        tablename,<a name="line.224"></a>
-<span class="sourceLineNo">225</span>        NO_SEQUENCE_ID,<a name="line.225"></a>
-<span class="sourceLineNo">226</span>        now,<a name="line.226"></a>
-<span class="sourceLineNo">227</span>        EMPTY_UUIDS,<a name="line.227"></a>
-<span class="sourceLineNo">228</span>        HConstants.NO_NONCE,<a name="line.228"></a>
-<span class="sourceLineNo">229</span>        HConstants.NO_NONCE,<a name="line.229"></a>
-<span class="sourceLineNo">230</span>        null);<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>  public WALKey(final byte[] encodedRegionName,<a name="line.233"></a>
-<span class="sourceLineNo">234</span>                final TableName tablename,<a name="line.234"></a>
-<span class="sourceLineNo">235</span>                final long now,<a name="line.235"></a>
-<span class="sourceLineNo">236</span>                MultiVersionConcurrencyControl mvcc) {<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    init(encodedRegionName,<a name="line.237"></a>
-<span class="sourceLineNo">238</span>        tablename,<a name="line.238"></a>
-<span class="sourceLineNo">239</span>        NO_SEQUENCE_ID,<a name="line.239"></a>
-<span class="sourceLineNo">240</span>        now,<a name="line.240"></a>
-<span class="sourceLineNo">241</span>        EMPTY_UUIDS,<a name="line.241"></a>
+<span class="sourceLineNo">191</span>  // The first element in the list is the cluster id on which the change has originated<a name="line.191"></a>
+<span class="sourceLineNo">192</span>  // visible for deprecated HLogKey<a name="line.192"></a>
+<span class="sourceLineNo">193</span>  @InterfaceAudience.Private<a name="line.193"></a>
+<span class="sourceLineNo">194</span>  protected List&lt;UUID&gt; clusterIds;<a name="line.194"></a>
+<span class="sourceLineNo">195</span><a name="line.195"></a>
+<span class="sourceLineNo">196</span>  private NavigableMap&lt;byte[], Integer&gt; scopes;<a name="line.196"></a>
+<span class="sourceLineNo">197</span><a name="line.197"></a>
+<span class="sourceLineNo">198</span>  private long nonceGroup = HConstants.NO_NONCE;<a name="line.198"></a>
+<span class="sourceLineNo">199</span>  private long nonce = HConstants.NO_NONCE;<a name="line.199"></a>
+<span class="sourceLineNo">200</span>  private MultiVersionConcurrencyControl mvcc;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>  /**<a name="line.201"></a>
+<span class="sourceLineNo">202</span>   * Set in a way visible to multiple threads; e.g. synchronized getter/setters.<a name="line.202"></a>
+<span class="sourceLineNo">203</span>   */<a name="line.203"></a>
+<span class="sourceLineNo">204</span>  private MultiVersionConcurrencyControl.WriteEntry writeEntry;<a name="line.204"></a>
+<span class="sourceLineNo">205</span>  public static final List&lt;UUID&gt; EMPTY_UUIDS = Collections.unmodifiableList(new ArrayList&lt;UUID&gt;());<a name="line.205"></a>
+<span class="sourceLineNo">206</span><a name="line.206"></a>
+<span class="sourceLineNo">207</span>  // visible for deprecated HLogKey<a name="line.207"></a>
+<span class="sourceLineNo">208</span>  @InterfaceAudience.Private<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  protected CompressionContext compressionContext;<a name="line.209"></a>
+<span class="sourceLineNo">210</span><a name="line.210"></a>
+<span class="sourceLineNo">211</span>  public WALKey() {<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    init(null, null, 0L, HConstants.LATEST_TIMESTAMP,<a name="line.212"></a>
+<span class="sourceLineNo">213</span>        new ArrayList&lt;UUID&gt;(), HConstants.NO_NONCE, HConstants.NO_NONCE, null);<a name="line.213"></a>
+<span class="sourceLineNo">214</span>  }<a name="line.214"></a>
+<span class="sourceLineNo">215</span><a name="line.215"></a>
+<span class="sourceLineNo">216</span>  @VisibleForTesting<a name="line.216"></a>
+<span class="sourceLineNo">217</span>  public WALKey(final byte[] encodedRegionName, final TableName tablename,<a name="line.217"></a>
+<span class="sourceLineNo">218</span>                long logSeqNum,<a name="line.218"></a>
+<span class="sourceLineNo">219</span>      final long now, UUID clusterId) {<a name="line.219"></a>
+<span class="sourceLineNo">220</span>    List&lt;UUID&gt; clusterIds = new ArrayList&lt;UUID&gt;();<a name="line.220"></a>
+<span class="sourceLineNo">221</span>    clusterIds.add(clusterId);<a name="line.221"></a>
+<span class="sourceLineNo">222</span>    init(encodedRegionName, tablename, logSeqNum, now, clusterIds,<a name="line.222"></a>
+<span class="sourceLineNo">223</span>        HConstants.NO_NONCE, HConstants.NO_NONCE, null);<a name="line.223"></a>
+<span class="sourceLineNo">224</span>  }<a name="line.224"></a>
+<span class="sourceLineNo">225</span><a name="line.225"></a>
+<span class="sourceLineNo">226</span>  /**<a name="line.226"></a>
+<span class="sourceLineNo">227</span>   * @deprecated Remove. Useless.<a name="line.227"></a>
+<span class="sourceLineNo">228</span>   */<a name="line.228"></a>
+<span class="sourceLineNo">229</span>  @Deprecated // REMOVE<a name="line.229"></a>
+<span class="sourceLineNo">230</span>  public WALKey(final byte[] encodedRegionName, final TableName tablename) {<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    this(encodedRegionName, tablename, System.currentTimeMillis());<a name="line.231"></a>
+<span class="sourceLineNo">232</span>  }<a name="line.232"></a>
+<span class="sourceLineNo">233</span><a name="line.233"></a>
+<span class="sourceLineNo">234</span>  // TODO: Fix being able to pass in sequenceid.<a name="line.234"></a>
+<span class="sourceLineNo">235</span>  public WALKey(final byte[] encodedRegionName, final TableName tablename, final long now) {<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    init(encodedRegionName,<a name="line.236"></a>
+<span class="sourceLineNo">237</span>        tablename,<a name="line.237"></a>
+<span class="sourceLineNo">238</span>        NO_SEQUENCE_ID,<a name="line.238"></a>
+<span class="sourceLineNo">239</span>        now,<a name="line.239"></a>
+<span class="sourceLineNo">240</span>        EMPTY_UUIDS,<a name="line.240"></a>
+<span class="sourceLineNo">241</span>        HConstants.NO_NONCE,<a name="line.241"></a>
 <span class="sourceLineNo">242</span>        HConstants.NO_NONCE,<a name="line.242"></a>
-<span class="sourceLineNo">243</span>        HConstants.NO_NONCE,<a name="line.243"></a>
-<span class="sourceLineNo">244</span>        mvcc);<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>   * Create the log key for writing to somewhere.<a name="line.248"></a>
-<span class="sourceLineNo">249</span>   * We maintain the tablename mainly for debugging purposes.<a name="line.249"></a>
-<span class="sourceLineNo">250</span>   * A regionName is always a sub-table object.<a name="line.250"></a>
-<span class="sourceLineNo">251</span>   * &lt;p&gt;Used by log splitting and snapshots.<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   *<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   * @param encodedRegionName Encoded name of the region as returned by<a name="line.253"></a>
-<span class="sourceLineNo">254</span>   *                          &lt;code&gt;HRegionInfo#getEncodedNameAsBytes()&lt;/code&gt;.<a name="line.254"></a>
-<span class="sourceLineNo">255</span>   * @param tablename         - name of table<a name="line.255"></a>
-<span class="sourceLineNo">256</span>   * @param logSeqNum         - log sequence number<a name="line.256"></a>
-<span class="sourceLineNo">257</span>   * @param now               Time at which this edit was written.<a name="line.257"></a>
-<span class="sourceLineNo">258</span>   * @param clusterIds        the clusters that have consumed the change(used in Replication)<a name="line.258"></a>
-<span class="sourceLineNo">259</span>   */<a name="line.259"></a>
-<span class="sourceLineNo">260</span>  public WALKey(final byte[] encodedRegionName,<a name="line.260"></a>
-<span class="sourceLineNo">261</span>                final TableName tablename,<a name="line.261"></a>
-<span class="sourceLineNo">262</span>                long logSeqNum,<a name="line.262"></a>
-<span class="sourceLineNo">263</span>                final long now,<a name="line.263"></a>
-<span class="sourceLineNo">264</span>                List&lt;UUID&gt; clusterIds,<a name="line.264"></a>
-<span class="sourceLineNo">265</span>                long nonceGroup,<a name="line.265"></a>
-<span class="sourceLineNo">266</span>                long nonce,<a name="line.266"></a>
-<span class="sourceLineNo">267</span>                MultiVersionConcurrencyControl mvcc) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>    init(encodedRegionName, tablename, logSeqNum, now, clusterIds, nonceGroup, nonce, mvcc);<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>  /**<a name="line.271"></a>
-<span class="sourceLineNo">272</span>   * Create the log key for writing to somewhere.<a name="line.272"></a>
-<span class="sourceLineNo">273</span>   * We maintain the tablename mainly for debugging purposes.<a name="line.273"></a>
-<span class="sourceLineNo">274</span>   * A regionName is always a sub-table object.<a name="line.274"></a>
-<span class="sourceLineNo">275</span>   *<a name="line.275"></a>
-<span class="sourceLineNo">276</span>   * @param encodedRegionName Encoded name of the region as returned by<a name="line.276"></a>
-<span class="sourceLineNo">277</span>   *                          &lt;code&gt;HRegionInfo#getEncodedNameAsBytes()&lt;/code&gt;.<a name="line.277"></a>
-<span class="sourceLineNo">278</span>   * @param tablename<a name="line.278"></a>
-<span class="sourceLineNo">279</span>   * @param now               Time at which this edit was written.<a name="line.279"></a>
-<span class="sourceLineNo">280</span>   * @param clusterIds        the clusters that have consumed the change(used in Replication)<a name="line.280"></a>
-<span class="sourceLineNo">281</span>   * @param nonceGroup<a name="line.281"></a>
-<span class="sourceLineNo">282</span>   * @param nonce<a name="line.282"></a>
-<span class="sourceLineNo">283</span>   * @param mvcc mvcc control used to generate sequence numbers and control read/write points<a name="line.283"></a>
-<span class="sourceLineNo">284</span>   */<a name="line.284"></a>
-<span class="sourceLineNo">285</span>  public WALKey(final byte[] encodedRegionName, final TableName tablename,<a name="line.285"></a>
-<span class="sourceLineNo">286</span>                final long now, List&lt;UUID&gt; clusterIds, long nonceGroup,<a name="line.286"></a>
-<span class="sourceLineNo">287</span>                final long nonce, final MultiVersionConcurrencyControl mvcc) {<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    init(encodedRegionName, tablename, NO_SEQUENCE_ID, now, clusterIds, nonceGroup, nonce, mvcc);<a name="line.288"></a>
-<span class="sourceLineNo">289</span>  }<a name="line.289"></a>
-<span class="sourceLineNo">290</span><a name="line.290"></a>
-<span class="sourceLineNo">291</span>  /**<a name="line.291"></a>
-<span class="sourceLineNo">292</span>   * Create the log key for writing to somewhere.<a name="line.292"></a>
-<span class="sourceLineNo">293</span>   * We maintain the tablename mainly for debugging purposes.<a name="line.293"></a>
-<span class="sourceLineNo">294</span>   * A regionName is always a sub-table object.<a name="line.294"></a>
-<span class="sourceLineNo">295</span>   *<a name="line.295"></a>
-<span class="sourceLineNo">296</span>   * @param encodedRegionName Encoded name of the region as returned by<a name="line.296"></a>
-<span class="sourceLineNo">297</span>   *                          &lt;code&gt;HRegionInfo#getEncodedNameAsBytes()&lt;/code&gt;.<a name="line.297"></a>
-<span class="sourceLineNo">298</span>   * @param tablename<a name="line.298"></a>
-<span class="sourceLineNo">299</span>   * @param logSeqNum<a name="line.299"></a>
-<span class="sourceLineNo">300</span>   * @param nonceGroup<a name="line.300"></a>
-<span class="sourceLineNo">301</span>   * @param nonce<a name="line.301"></a>
-<span class="sourceLineNo">302</span>   */<a name="line.302"></a>
-<span class="sourceLineNo">303</span>  public WALKey(final byte[] encodedRegionName,<a name="line.303"></a>
-<span class="sourceLineNo">304</span>                final TableName tablename,<a name="line.304"></a>
-<span class="sourceLineNo">305</span>                long logSeqNum,<a name="line.305"></a>
-<span class="sourceLineNo">306</span>                long nonceGroup,<a name="line.306"></a>
-<span class="sourceLineNo">307</span>                long nonce,<a name="line.307"></a>
-<span class="sourceLineNo">308</span>                final MultiVersionConcurrencyControl mvcc) {<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    init(encodedRegionName,<a name="line.309"></a>
-<span class="sourceLineNo">310</span>        tablename,<a name="line.310"></a>
-<span class="sourceLineNo">311</span>        logSeqNum,<a name="line.311"></a>
-<span class="sourceLineNo">312</span>        EnvironmentEdgeManager.currentTime(),<a name="line.312"></a>
-<span class="sourceLineNo">313</span>        EMPTY_UUIDS,<a name="line.313"></a>
-<span class="sourceLineNo">314</span>        nonceGroup,<a name="line.314"></a>
-<span class="sourceLineNo">315</span>        nonce,<a name="line.315"></a>
-<span class="sourceLineNo">316</span>        mvcc);<a name="line.316"></a>
-<span class="sourceLineNo">317</span>  }<a name="line.317"></a>
-<span class="sourceLineNo">318</span><a name="line.318"></a>
-<span class="sourceLineNo">319</span>  @InterfaceAudience.Private<a name="line.319"></a>
-<span class="sourceLineNo">320</span>  protected void init(final byte[] encodedRegionName,<a name="line.320"></a>
-<span class="sourceLineNo">321</span>                      final TableName tablename,<a name="line.321"></a>
-<span class="sourceLineNo">322</span>                      long logSeqNum,<a name="line.322"></a>
-<span class="sourceLineNo">323</span>                      final long now,<a name="line.323"></a>
-<span class="sourceLineNo">324</span>                      List&lt;UUID&gt; clusterIds,<a name="line.324"></a>
-<span class="sourceLineNo">325</span>                      long nonceGroup,<a name="line.325"></a>
-<span class="sourceLineNo">326</span>                      long nonce,<a name="line.326"></a>
-<span class="sourceLineNo">327</span>                      MultiVersionConcurrencyControl mvcc) {<a name="line.327"></a>
-<span class="sourceLineNo">328</span>    this.logSeqNum = logSeqNum;<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    this.writeTime = now;<a name="line.329"></a>
-<span class="sourceLineNo">330</span>    this.clusterIds = clusterIds;<a name="line.330"></a>
-<span class="sourceLineNo">331</span>    this.encodedRegionName = encodedRegionName;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    this.tablename = tablename;<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    this.nonceGroup = nonceGroup;<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    this.nonce = nonce;<a name="line.334"></a>
-<span class="sourceLineNo">335</span>    this.mvcc = mvcc;<a name="line.335"></a>
-<span class="sourceLineNo">336</span>  }<a name="line.336"></a>
-<span class="sourceLineNo">337</span><a name="line.337"></a>
-<span class="sourceLineNo">338</span>  /**<a name="line.338"></a>
-<span class="sourceLineNo">339</span>   * @param compressionContext Compression context to use<a name="line.339"></a>
-<span class="sourceLineNo">340</span>   */<a name="line.340"></a>
-<span class="sourceLineNo">341</span>  public void setCompressionContext(CompressionContext compressionContext) {<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    this.compressionContext = compressionContext;<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>  /** @return encoded region name */<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  public byte [] getEncodedRegionName() {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    return encodedRegionName;<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>  /** @return table name */<a name="line.350"></a>
-<span class="sourceLineNo">351</span>  public TableName getTablename() {<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    return tablename;<a name="line.352"></a>
-<span class="sourceLineNo">353</span>  }<a name="line.353"></a>
-<span class="sourceLineNo">354</span><a name="line.354"></a>
-<span class="sourceLineNo">355</span>  /** @return log sequence number */<a name="line.355"></a>
-<span class="sourceLineNo">356</span>  public long getLogSeqNum() {<a name="line.356"></a>
-<span class="sourceLineNo">357</span>    return this.logSeqNum;<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>  /**<a name="line.360"></a>
-<span class="sourceLineNo">361</span>   * Allow that the log sequence id to be set post-construction<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   * Only public for org.apache.hadoop.hbase.regionserver.wal.FSWALEntry<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   * @param sequence<a name="line.363"></a>
+<span class="sourceLineNo">243</span>        null);<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>  public WALKey(final byte[] encodedRegionName,<a name="line.246"></a>
+<span class="sourceLineNo">247</span>                final TableName tablename,<a name="line.247"></a>
+<span class="sourceLineNo">248</span>                final long now,<a name="line.248"></a>
+<span class="sourceLineNo">249</span>                MultiVersionConcurrencyControl mvcc) {<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    init(encodedRegionName,<a name="line.250"></a>
+<span class="sourceLineNo">251</span>        tablename,<a name="line.251"></a>
+<span class="sourceLineNo">252</span>        NO_SEQUENCE_ID,<a name="line.252"></a>
+<span class="sourceLineNo">253</span>        now,<a name="line.253"></a>
+<span class="sourceLineNo">254</span>        EMPTY_UUIDS,<a name="line.254"></a>
+<span class="sourceLineNo">255</span>        HConstants.NO_NONCE,<a name="line.255"></a>
+<span class="sourceLineNo">256</span>        HConstants.NO_NONCE,<a name="line.256"></a>
+<span class="sourceLineNo">257</span>        mvcc);<a name="line.257"></a>
+<span class="sourceLineNo">258</span>  }<a name="line.258"></a>
+<span class="sourceLineNo">259</span><a name="line.259"></a>
+<span class="sourceLineNo">260</span>  /**<a name="line.260"></a>
+<span class="sourceLineNo">261</span>   * Create the log key for writing to somewhere.<a name="line.261"></a>
+<span class="sourceLineNo">262</span>   * We maintain the tablename mainly for debugging purposes.<a name="line.262"></a>
+<span class="sourceLineNo">263</span>   * A regionName is always a sub-table object.<a name="line.263"></a>
+<span class="sourceLineNo">264</span>   * &lt;p&gt;Used by log splitting and snapshots.<a name="line.264"></a>
+<span class="sourceLineNo">265</span>   *<a name="line.265"></a>
+<span class="sourceLineNo">266</span>   * @param encodedRegionName Encoded name of the region as returned by<a name="line.266"></a>
+<span class="sourceLineNo">267</span>   *                          &lt;code&gt;HRegionInfo#getEncodedNameAsBytes()&lt;/code&gt;.<a name="line.267"></a>
+<span class="sourceLineNo">268</span>   * @param tablename         - name of table<a name="line.268"></a>
+<span class="sourceLineNo">269</span>   * @param logSeqNum         - log sequence number<a name="line.269"></a>
+<span class="sourceLineNo">270</span>   * @param now               Time at which this edit was written.<a name="line.270"></a>
+<span class="sourceLineNo">271</span>   * @param clusterIds        the clusters that have consumed the change(used in Replication)<a name="line.271"></a>
+<span class="sourceLineNo">272</span>   */<a name="line.272"></a>
+<span class="sourceLineNo">273</span>  // TODO: Fix being able to pass in sequenceid.<a name="line.273"></a>
+<span class="sourceLineNo">274</span>  public WALKey(final byte[] encodedRegionName,<a name="line.274"></a>
+<span class="sourceLineNo">275</span>                final TableName tablename,<a name="line.275"></a>
+<span class="sourceLineNo">276</span>                long logSeqNum,<a name="line.276"></a>
+<span class="sourceLineNo">277</span>                final long now,<a name="line.277"></a>
+<span class="sourceLineNo">278</span>                List&lt;UUID&gt; clusterIds,<a name="line.278"></a>
+<span class="sourceLineNo">279</span>                long nonceGroup,<a name="line.279"></a>
+<span class="sourceLineNo">280</span>                long nonce,<a name="line.280"></a>
+<span class="sourceLineNo">281</span>                MultiVersionConcurrencyControl mvcc) {<a name="line.281"></a>
+<span class="sourceLineNo">282</span>    init(encodedRegionName, tablename, logSeqNum, now, clusterIds, nonceGroup, nonce, mvcc);<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>   * Create the log key for writing to somewhere.<a name="line.286"></a>
+<span class="sourceLineNo">287</span>   * We maintain the tablename mainly for debugging purposes.<a name="line.287"></a>
+<span class="sourceLineNo">288</span>   * A regionName is always a sub-table object.<a name="line.288"></a>
+<span class="sourceLineNo">289</span>   *<a name="line.289"></a>
+<span class="sourceLineNo">290</span>   * @param encodedRegionName Encoded name of the region as returned by<a name="line.290"></a>
+<span class="sourceLineNo">291</span>   *                          &lt;code&gt;HRegionInfo#getEncodedNameAsBytes()&lt;/code&gt;.<a name="line.291"></a>
+<span class="sourceLineNo">292</span>   * @param tablename<a name="line.292"></a>
+<span class="sourceLineNo">293</span>   * @param now               Time at which this edit was written.<a name="line.293"></a>
+<span class="sourceLineNo">294</span>   * @param clusterIds        the clusters that have consumed the change(used in Replication)<a name="line.294"></a>
+<span class="sourceLineNo">295</span>   * @param nonceGroup<a name="line.295"></a>
+<span class="sourceLineNo">296</span>   * @param nonce<a name="line.296"></a>
+<span class="sourceLineNo">297</span>   * @param mvcc mvcc control used to generate sequence numbers and control read/write points<a name="line.297"></a>
+<span class="sourceLineNo">298</span>   */<a name="line.298"></a>
+<span class="sourceLineNo">299</span>  public WALKey(final byte[] encodedRegionName, final TableName tablename,<a name="line.299"></a>
+<span class="sourceLineNo">300</span>                final long now, List&lt;UUID&gt; clusterIds, long nonceGroup,<a name="line.300"></a>
+<span class="sourceLineNo">301</span>                final long nonce, final MultiVersionConcurrencyControl mvcc) {<a name="line.301"></a>
+<span class="sourceLineNo">302</span>    init(encodedRegionName, tablename, NO_SEQUENCE_ID, now, clusterIds, nonceGroup, nonce, mvcc);<a name="line.302"></a>
+<span class="sourceLineNo">303</span>  }<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span>  /**<a name="line.305"></a>
+<span class="sourceLineNo">306</span>   * Create the log key for writing to somewhere.<a name="line.306"></a>
+<span class="sourceLineNo">307</span>   * We maintain the tablename mainly for debugging purposes.<a name="line.307"></a>
+<span class="sourceLineNo">308</span>   * A regionName is always a sub-table object.<a name="line.308"></a>
+<span class="sourceLineNo">309</span>   *<a name="line.309"></a>
+<span class="sourceLineNo">310</span>   * @param encodedRegionName Encoded name of the region as returned by<a name="line.310"></a>
+<span class="sourceLineNo">311</span>   *                          &lt;code&gt;HRegionInfo#getEncodedNameAsBytes()&lt;/code&gt;.<a name="line.311"></a>
+<span class="sourceLineNo">312</span>   * @param tablename<a name="line.312"></a>
+<span class="sourceLineNo">313</span>   * @param logSeqNum<a name="line.313"></a>
+<span class="sourceLineNo">314</span>   * @param nonceGroup<a name="line.314"></a>
+<span class="sourceLineNo">315</span>   * @param nonce<a name="line.315"></a>
+<span class="sourceLineNo">316</span>   */<a name="line.316"></a>
+<span class="sourceLineNo">317</span>  // TODO: Fix being able to pass in sequenceid.<a name="line.317"></a>
+<span class="sourceLineNo">318</span>  public WALKey(final byte[] encodedRegionName,<a name="line.318"></a>
+<span class="sourceLineNo">319</span>                final TableName tablename,<a name="line.319"></a>
+<span class="sourceLineNo">320</span>                long logSeqNum,<a name="line.320"></a>
+<span class="sourceLineNo">321</span>                long nonceGroup,<a name="line.321"></a>
+<span class="sourceLineNo">322</span>                long nonce,<a name="line.322"></a>
+<span class="sourceLineNo">323</span>                final MultiVersionConcurrencyControl mvcc) {<a name="line.323"></a>
+<span class="sourceLineNo">324</span>    init(encodedRegionName,<a name="line.324"></a>
+<span class="sourceLineNo">325</span>        tablename,<a name="line.325"></a>
+<span class="sourceLineNo">326</span>        logSeqNum,<a name="line.326"></a>
+<span class="sourceLineNo">327</span>        EnvironmentEdgeManager.currentTime(),<a name="line.327"></a>
+<span class="sourceLineNo">328</span>        EMPTY_UUIDS,<a name="line.328"></a>
+<span class="sourceLineNo">329</span>        nonceGroup,<a name="line.329"></a>
+<span class="sourceLineNo">330</span>        nonce,<a name="line.330"></a>
+<span class="sourceLineNo">331</span>        mvcc);<a name="line.331"></a>
+<span class="sourceLineNo">332</span>  }<a name="line.332"></a>
+<span class="sourceLineNo">333</span><a name="line.333"></a>
+<span class="sourceLineNo">334</span>  @InterfaceAudience.Private<a name="line.334"></a>
+<span class="sourceLineNo">335</span>  protected void init(final byte[] encodedRegionName,<a name="line.335"></a>
+<span class="sourceLineNo">336</span>                      final TableName tablename,<a name="line.336"></a>
+<span class="sourceLineNo">337</span>                      long logSeqNum,<a name="line.337"></a>
+<span class="sourceLineNo">338</span>                      final long now,<a name="line.338"></a>
+<span class="sourceLineNo">339</span>                      List&lt;UUID&gt; clusterIds,<a name="line.339"></a>
+<span class="sourceLineNo">340</span>                      long nonceGroup,<a name="line.340"></a>
+<span class="sourceLineNo">341</span>                      long nonce,<a name="line.341"></a>
+<span class="sourceLineNo">342</span>                      MultiVersionConcurrencyControl mvcc) {<a name="line.342"></a>
+<span class="sourceLineNo">343</span>    this.sequenceId = logSeqNum;<a name="line.343"></a>
+<span class="sourceLineNo">344</span>    this.writeTime = now;<a name="line.344"></a>
+<span class="sourceLineNo">345</span>    this.clusterIds = clusterIds;<a name="line.345"></a>
+<span class="sourceLineNo">346</span>    this.encodedRegionName = encodedRegionName;<a name="line.346"></a>
+<span class="sourceLineNo">347</span>    this.tablename = tablename;<a name="line.347"></a>
+<span class="sourceLineNo">348</span>    this.nonceGroup = nonceGroup;<a name="line.348"></a>
+<span class="sourceLineNo">349</span>    this.nonce = nonce;<a name="line.349"></a>
+<span class="sourceLineNo">350</span>    this.mvcc = mvcc;<a name="line.350"></a>
+<span class="sourceLineNo">351</span>    if (logSeqNum != NO_SEQUENCE_ID) {<a name="line.351"></a>
+<span class="sourceLineNo">352</span>      setSequenceId(logSeqNum);<a name="line.352"></a>
+<span class="sourceLineNo">353</span>    }<a name="line.353"></a>
+<span class="sourceLineNo">354</span>  }<a name="line.354"></a>
+<span class="sourceLineNo">355</span><a name="line.355"></a>
+<span class="sourceLineNo">356</span>  // For HLogKey and deserialization. DO NOT USE. See setWriteEntry below.<a name="line.356"></a>
+<span class="sourceLineNo">357</span>  @InterfaceAudience.Private<a name="line.357"></a>
+<span class="sourceLineNo">358</span>  protected void setSequenceId(long sequenceId) {<a name="line.358"></a>
+<span class="sourceLineNo">359</span>    this.sequenceId = sequenceId;<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>  /**<a name="line.362"></a>
+<span class="sourceLineNo">363</span>   * @param compressionContext Compression context to use<a name="line.363"></a>
 <span class="sourceLineNo">364</span>   */<a name="line.364"></a>
-<span class="sourceLineNo">365</span>  @InterfaceAudience.Private<a name="line.365"></a>
-<span class="sourceLineNo">366</span>  public void setLogSeqNum(final long sequence) {<a name="line.366"></a>
-<span class="sourceLineNo">367</span>    this.logSeqNum = sequence;<a name="line.367"></a>
+<span class="sourceLineNo">365</span>  public void setCompressionContext(CompressionContext compressionContext) {<a name="line.365"></a>
+<span class="sourceLineNo">366</span>    this.compressionContext = compressionContext;<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><a name="line.370"></a>
-<span class="sourceLineNo">371</span>  /**<a name="line.371"></a>
-<span class="sourceLineNo">372</span>   * Used to set original seq Id for WALKey during wal replay<a name="line.372"></a>
-<span class="sourceLineNo">373</span>   * @param seqId<a name="line.373"></a>
-<span class="sourceLineNo">374</span>   */<a name="line.374"></a>
-<span class="sourceLineNo">375</span>  public void setOrigLogSeqNum(final long seqId) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>    this.origLogSeqNum = seqId;<a name="line.376"></a>
+<span class="sourceLineNo">369</span>  /** @return encoded region name */<a name="line.369"></a>
+<span class="sourceLineNo">370</span>  public byte [] getEncodedRegionName() {<a name="line.370"></a>
+<span class="sourceLineNo">371</span>    return encodedRegionName;<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>  /** @return table name */<a name="line.374"></a>
+<span class="sourceLineNo">375</span>  public TableName getTablename() {<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    return tablename;<a name="line.376"></a>
 <span class="sourceLineNo">377</span>  }<a name="line.377"></a>
-<span class="sourceLineNo">378</span>  <a name="line.378"></a>
-<span class="sourceLineNo">379</span>  /**<a name="line.379"></a>
-<span class="sourceLineNo">380</span>   * Return a positive long if current WALKey is created from a replay edit<a name="line.380"></a>
-<span class="sourceLineNo">381</span>   * @return original sequence number of the WALEdit<a name="line.381"></a>
-<span class="sourceLineNo">382</span>   */<a name="line.382"></a>
-<span class="sourceLineNo">383</span>  public long getOrigLogSeqNum() {<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    return this.origLogSeqNum;<a name="line.384"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>  /** @return log sequence number<a name="line.379"></a>
+<span class="sourceLineNo">380</span>   * @deprecated Use {@link #getSequenceId()}<a name="line.380"></a>
+<span class="sourceLineNo">381</span>   */<a name="line.381"></a>
+<span class="sourceLineNo">382</span>  @Deprecated<a name="line.382"></a>
+<span class="sourceLineNo">383</span>  public long getLogSeqNum() {<a name="line.383"></a>
+<span class="sourceLineNo">384</span>    return getSequenceId();<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">386</span><a name="line.386"></a>
 <span class="sourceLineNo">387</span>  /**<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * Wait for sequence number to be assigned &amp;amp; return the assigned value<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   * @return long the new assigned sequence number<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   * @throws IOException<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 long getSequenceId() throws IOException {<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    return getSequenceId(-1);<a name="line.394"></a>
-<span class="sourceLineNo">395</span>  }<a name="line.395"></a>
-<span class="sourceLineNo">396</span><a name="line.396"></a>
-<span class="sourceLineNo">397</span>  /**<a name="line.397"></a>
-<span class="sourceLineNo">398</span>   * Wait for sequence number to be assigned &amp;amp; return the assigned value.<a name="line.398"></a>
-<span class="sourceLineNo">399</span>   * @param maxWaitForSeqId maximum time to wait in milliseconds for sequenceid<a name="line.399"></a>
-<span class="sourceLineNo">400</span>   * @return long the new assigned sequence number<a name="line.400"></a>
-<span class="sourceLineNo">401</span>   * @throws IOException<a name="line.401"></a>
-<span class="sourceLineNo">402</span>   */<a name="line.402"></a>
-<span class="sourceLineNo">403</span>  public long getSequenceId(final long maxWaitForSeqId) throws IOException {<a name="line.403"></a>
-<span class="sourceLineNo">404</span>    // TODO: This implementation waiting on a latch is problematic because if a higher level<a name="line.404"></a>
-<span class="sourceLineNo">405</span>    // determines we should stop or abort, there is no global list of all these blocked WALKeys<a name="line.405"></a>
-<span class="sourceLineNo">406</span>    // waiting on a sequence id; they can't be cancelled... interrupted. See getNextSequenceId.<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    //<a name="line.407"></a>
-<span class="sourceLineNo">408</span>    // UPDATE: I think we can remove the timeout now we are stamping all walkeys with sequenceid,<a name="line.408"></a>
-<span class="sourceLineNo">409</span>    // even those that have failed (previously we were not... so they would just hang out...).<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    // St.Ack 20150910<a name="line.410"></a>
-<span class="sourceLineNo">411</span>    try {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      if (maxWaitForSeqId &lt; 0) {<a name="line.412"></a>
-<span class="sourceLineNo">413</span>        this.seqNumAssignedLatch.await();<a name="line.413"></a>
-<span class="sourceLineNo">414</span>      } else if (!this.seqNumAssignedLatch.await(maxWaitForSeqId, TimeUnit.MILLISECONDS)) {<a name="line.414"></a>
-<span class="sourceLineNo">415</span>        throw new TimeoutIOException("Failed to get sequenceid after " + maxWaitForSeqId +<a name="line.415"></a>
-<span class="sourceLineNo">416</span>          "ms; WAL system stuck or has gone away?");<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      }<a name="line.417"></a>
-<span class="sourceLineNo">418</span>    } catch (InterruptedException ie) {<a name="line.418"></a>
-<span class="sourceLineNo">419</span>      LOG.warn("Thread interrupted waiting for next log sequence number");<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      InterruptedIOException iie = new InterruptedIOException();<a name="line.420"></a>
-<span class="sourceLineNo">421</span>      iie.initCause(ie);<a name="line.421"></a>
-<span class="sourceLineNo">422</span>      throw iie;<a name="line.422"></a>
-<span class="sourceLineNo">423</span>    }<a name="line.423"></a>
-<span class="sourceLineNo">424</span>    return this.logSeqNum;<a name="line.424"></a>
-<span class="sourceLineNo">425</span>  }<a name="line.425"></a>
-<span class="sourceLineNo">426</span><a name="line.426"></a>
-<span class="sourceLineNo">427</span>  /**<a name="line.427"></a>
-<span class="sourceLineNo">428</span>   * @return the write time<a name="line.428"></a>
-<span class="sourceLineNo">429</span>   */<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  public long getWriteTime() {<a name="line.430"></a>
-<span class="sourceLineNo">431</span>    return this.writeTime;<a name="line.431"></a>
-<span class="sourceLineNo">432</span>  }<a name="line.432"></a>
-<span class="sourceLineNo">433</span><a name="line.433"></a>
-<span class="sourceLineNo">434</span>  public NavigableMap&lt;byte[], Integer&gt; getScopes() {<a name="line.434"></a>
-<span class="sourceLineNo">435</span>    return scopes;<a name="line.435"></a>
-<span class="sourceLineNo">436</span>  }<a name="line.436"></a>
-<span class="sourceLineNo">437</span><a name="line.437"></a>
-<span class="sourceLineNo">438</span>  /** @return The nonce group */<a name="line.438"></a>
-<span class="sourceLineNo">439</span>  public long getNonceGroup() {<a name="line.439"></a>
-<span class="sourceLineNo">440</span>    return nonceGroup;<a name="line.440"></a>
-<span class="sourceLineNo">441</span>  }<a name="line.441"></a>
-<span class="sourceLineNo">442</span><a name="line.442"></a>
-<span class="sourceLineNo">443</span>  /** @return The nonce */<a name="line.443"></a>
-<span class="sourceLineNo">444</span>  public long getNonce() {<a name="line.444"></a>
-<span class="sourceLineNo">445</span>    return nonce;<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>  public void setScopes(NavigableMap&lt;byte[], Integer&gt; scopes) {<a name="line.448"></a>
-<span class="sourceLineNo">449</span>    this.scopes = scopes;<a name="line.449"></a>
-<span class="sourceLineNo">450</span>  }<a name="line.450"></a>
-<span class="sourceLineNo">451</span><a name="line.451"></a>
-<span class="sourceLineNo">452</span>  public void readOlderScopes(NavigableMap&lt;byte[], Integer&gt; scopes) {<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    if (scopes != null) {<a name="line.453"></a>
-<span class="sourceLineNo">454</span>      Iterator&lt;Map.Entry&lt;byte[], Integer&gt;&gt; iterator = scopes.entrySet()<a name="line.454"></a>
-<span class="sourceLineNo">455</span>          .iterator();<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      while (iterator.hasNext()) {<a name="line.456"></a>
-<span class="sourceLineNo">457</span>        Map.Entry&lt;byte[], Integer&gt; scope = iterator.next();<a name="line.457"></a>
-<span class="sourceLineNo">458</span>        String key = Bytes.toString(scope.getKey());<a name="line.458"></a>
-<span class="sourceLineNo">459</span>        if (key.startsWith(PREFIX_CLUSTER_KEY)) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span>          addClusterId(UUID.fromString(key.substring(PREFIX_CLUSTER_KEY<a name="line.460"></a>
-<span class="sourceLineNo">461</span>              .length())));<a name="line.461"></a>
-<span class="sourceLineNo">462</span>          iterator.remove();<a name="line.462"></a>
-<span class="sourceLineNo">463</span>        }<a name="line.463"></a>
-<span class="sourceLineNo">464</span>      }<a name="line.464"></a>
-<span class="sourceLineNo">465</span>      if (scopes.size() &gt; 0) {<a name="line.465"></a>
-<span class="sourceLineNo">466</span>        this.scopes = scopes;<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><a name="line.470"></a>
-<span class="sourceLineNo">471</span>  /**<a name="line.471"></a>
-<span class="sourceLineNo">472</span>   * Marks that the cluster with the given clusterId has consumed the change<a name="line.472"></a>
-<span class="sourceLineNo">473</span>   */<a name="line.473"></a>
-<span class="sourceLineNo">474</span>  public void addClusterId(UUID clusterId) {<a name="line.474"></a>
-<span class="sourceLineNo">475</span>    if (!clusterIds.contains(clusterId)) {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      clusterIds.add(clusterId);<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>  /**<a name="line.480"></a>
-<span class="sourceLineNo">481</span>   * @return the set of cluster Ids that have consumed the change<a name="line.481"></a>
-<span class="sourceLineNo">482</span>   */<a name="line.482"></a>
-<span class="sourceLineNo">483</span>  public List&lt;UUID&gt; getClusterIds() {<a name="line.483"></a>
-<span class="sourceLineNo">484</span>    return clusterIds;<a name="line.484"></a>
-<span class="sourceLineNo">485</span>  }<a name="line.485"></a>
-<span class="sourceLineNo">486</span><a name="line.486"></a>
-<span class="sourceLineNo">487</span>  /**<a name="line.487"></a>
-<span class="sourceLineNo">488</span>   * @return the cluster id on which the change has originated. It there is no such cluster, it<a name="line.488"></a>
-<span class="sourceLineNo">489</span>   *         returns DEFAULT_CLUSTER_ID (cases where replication is not enabled)<a name="line.489"></a>
-<span class="sourceLineNo">490</span>   */<a name="line.490"></a>
-<span class="sourceLineNo">491</span>  public UUID getOriginatingClusterId(){<a name="line.491"></a>
-<span class="sourceLineNo">492</span>    return clusterIds.isEmpty() ? HConstants.DEFAULT_CLUSTER_ID : clusterIds.get(0);<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>  @Override<a name="line.495"></a>
-<span class="sourceLineNo">496</span>  public String toString() {<a name="line.496"></a>
-<span class="sourceLineNo">497</span>    return tablename + "/" + Bytes.toString(encodedRegionName) + "/" +<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      logSeqNum;<a name="line.498"></a>
-<span class="sourceLineNo">499</span>  }<a name="line.499"></a>
-<span class="sourceLineNo">500</span><a name="line.500"></a>
-<span class="sourceLineNo">501</span>  /**<a name="line.501"></a>
-<span class="sourceLineNo">502</span>   * Produces a string map for this key. Useful for programmatic use and<a name="line.502"></a>
-<span class="sourceLineNo">503</span>   * manipulation of the data stored in an WALKey, for example, printing<a name="line.503"></a>
-<span class="sourceLineNo">504</span>   * as JSON.<a name="line.504"></a>
-<span class="sourceLineNo">505</span>   *<a name="line.505"></a>
-<span class="sourceLineNo">506</span>   * @return a Map containing data from this key<a name="line.506"></a>
-<span class="sourceLineNo">507</span>   */<a name="line.507"></a>
-<span class="sourceLineNo">508</span>  public Map&lt;String, Object&gt; toStringMap() {<a name="line.508"></a>
-<span class="sourceLineNo">509</span>    Map&lt;String, Object&gt; stringMap = new HashMap&lt;String, Object&gt;();<a name="line.509"></a>
-<span class="sourceLineNo">510</span>    stringMap.put("table", tablename);<a name="line.510"></a>
-<span class="sourceLineNo">511</span>    stringMap.put("region", Bytes.toStringBinary(encodedRegionName));<a name="line.511"></a>
-<span class="sourceLineNo">512</span>    stringMap.put("sequence", logSeqNum);<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    return stringMap;<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>  @Override<a name="line.516"></a>
-<span class="sourceLineNo">517</span>  public boolean equals(Object obj) {<a name="line.517"></a>
-<span class="sourceLineNo">518</span>    if (this == obj) {<a name="line.518"></a>
-<span class="sourceLineNo">519</span>      return true;<a name="line.519"></a>
-<span class="sourceLineNo">520</span>    }<a name="line.520"></a>
-<span class="sourceLineNo">521</span>    if (obj == null || getClass() != obj.getClass()) {<a name="line.521"></a>
-<span class="sourceLineNo">522</span>      return false;<a name="line.522"></a>
-<span class="sourceLineNo">523</span>    }<a name="line.523"></a>
-<span class="sourceLineNo">524</span>    return compareTo((WALKey)obj) == 0;<a name="line.524"></a>
-<span class="sourceLineNo">525</span>  }<a name="line.525"></a>
-<span class="sourceLineNo">526</span><a name="line.526"></a>
-<span class="sourceLineNo">527</span>  @Override<a name="line.527"></a>
-<span class="sourceLineNo">528</span>  public int hashCode() {<a name="line.528"></a>
-<span class="sourceLineNo">529</span>    int result = Bytes.hashCode(this.encodedRegionName);<a name="line.529"></a>
-<span class="sourceLineNo">530</span>    result ^= this.logSeqNum;<a name="line.530"></a>
-<span class="sourceLineNo">531</span>    result ^= this.writeTime;<a name="line.531"></a>
-<span class="sourceLineNo">532</span>    return result;<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 int compareTo(WALKey o) {<a name="line.536"></a>
-<span class="sourceLineNo">537</span>    int result = Bytes.compareTo(this.encodedRegionName, o.encodedRegionName);<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    if (result == 0) {<a name="line.538"></a>
-<span class="sourceLineNo">539</span>      if (this.logSeqNum &lt; o.logSeqNum) {<a name="line.539"></a>
-<span class="sourceLineNo">540</span>        result = -1;<a name="line.540"></a>
-<span class="sourceLineNo">541</span>      } else if (this.logSeqNum  &gt; o.logSeqNum) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>        result = 1;<a name="line.542"></a>
-<span class="sourceLineNo">543</span>      }<a name="line.543"></a>
-<span class="sourceLineNo">544</span>      if (result == 0) {<a name="line.544"></a>
-<span class="sourceLineNo">545</span>        if (this.writeTime &lt; o.writeTime) {<a name="line.545"></a>
-<span class="sourceLineNo">546</span>          result = -1;<a name="line.546"></a>
-<span class="sourceLineNo">547</span>        } else if (this.writeTime &gt; o.writeTime) {<a name="line.547"></a>
-<span class="sourceLineNo">548</span>          return 1;<a name="line.548"></a>
-<span class="sourceLineNo">549</span>        }<a name="line.549"></a>
-<span class="sourceLineNo">550</span>      }<a name="line.550"></a>
-<span class="sourceLineNo">551</span>    }<a name="line.551"></a>
-<span class="sourceLineNo">552</span>    // why isn't cluster id accounted for?<a name="line.552"></a>
-<span class="sourceLineNo">553</span>    return result;<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>  /**<a name="line.556"></a>
-<span class="sourceLineNo">557</span>   * Drop this instance's tablename byte array and instead<a name="line.557"></a>
-<span class="sourceLineNo">558</span>   * hold a reference to the provided tablename. This is not<a name="line.558"></a>
-<span class="sourceLineNo">559</span>   * meant to be a general purpose setter - it's only used<a name="line.559"></a>
-<span class="sourceLineNo">560</span>   * to collapse references to conserve memory.<a name="line.560"></a>
-<span class="sourceLineNo">561</span>   */<a name="line.561"></a>
-<span class="sourceLineNo">562</span>  void internTableName(TableName tablename) {<a name="line.562"></a>
-<span class="sourceLineNo">563</span>    // We should not use this as a setter - only to swap<a name="line.563"></a>
-<span class="sourceLineNo">564</span>    // in a new reference to the same table name.<a name="line.564"></a>
-<span class="sourceLineNo">565</span>    assert tablename.equals(this.tablename);<a name="line.565"></a>
-<span class="sourceLineNo">566</span>    this.tablename = tablename;<a name="line.566"></a>
-<span class="sourceLineNo">567</span>  }<a name="line.567"></a>
-<span class="sourceLineNo">568</span><a name="line.568"></a>
-<span class="sourceLineNo">569</span>  /**<a name="line.569"></a>
-<span class="sourceLineNo">570</span>   * Drop this instance's region name byte array and instead<a name="line.570"></a>
-<span class="sourceLineNo">571</span>   * hold a reference to the provided region name. This is not<a name="line.571"></a>
-<span class="sourceLineNo">572</span>   * meant to be a general purpose setter - it's only used<a name="line.572"></a>
-<span class="sourceLineNo">573</span>   * to collapse references to conserve memory.<a name="line.573"></a>
-<span class="sourceLineNo">574</span>   */<a name="line.574"></a>
-<span class="sourceLineNo">575</span>  void internEncodedRegionName(byte []encodedRegionName) {<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    // We should not use this as a setter - only to swap<a name="line.576"></a>
-<span class="sourceLineNo">577</span>    // in a new reference to the same table name.<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    assert Bytes.equals(this.encodedRegionName, encodedRegionName);<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    this.encodedRegionName = encodedRegionName;<a name="line.579"></a>
-<span class="sourceLineNo">580</span>  }<a name="line.580"></a>
-<span class="sourceLineNo">581</span><a name="line.581"></a>
-<span class="sourceLineNo">582</span>  public org.apache.hadoop.hbase.protobuf.generated.WALProtos.WALKey.Builder getBuilder(<a name="line.582"></a>
-<span class="sourceLineNo">583</span>      WALCellCodec.ByteStringCompressor compressor) throws IOException {<a name="line.583"></a>
-<span class="sourceLineNo">584</span>    org.apache.hadoop.hbase.protobuf.generated.WALProtos.WALKey.Builder builder =<a name="line.584"></a>
-<span class="sourceLineNo">585</span>        org.apache.hadoop.hbase.protobuf.generated.WALProtos.WALKey.newBuilder();<a name="line.585"></a>
-<span class="sourceLineNo">586</span>    if (compressionContext == null) {<a name="line.586"></a>
-<span class="sourceLineNo">587</span>      builder.setEncodedRegionName(ByteStringer.wrap(this.encodedRegionName));<a name="line.587"></a>
-<span class="sourceLineNo">588</span>      builder.setTableName(ByteStringer.wrap(this.tablename.getName()));<a name="line.588"></a>
-<span class="sourceLineNo">589</span>    } else {<a name="line.589"></a>
-<span class="sourceLineNo">590</span>      builder.setEncodedRegionName(compressor.compress(this.encodedRegionName,<a name="line.590"></a>
-<span class="sourceLineNo">591</span>          compressionContext.regionDict));<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      builder.setTableName(compressor.compress(this.tablename.getName(),<a name="line.592"></a>
-<span class="sourceLineNo">593</span>          compressionContext.tableDict));<a name="line.593"></a>
+<span class="sourceLineNo">388</span>   * Used to set original sequenceId for WALKey during WAL replay<a name="line.388"></a>
+<span class="sourceLineNo">389</span>   */<a name="line.389"></a>
+<span class="sourceLineNo">390</span>  public void setOrigLogSeqNum(final long sequenceId) {<a name="line.390"></a>
+<span class="sourceLineNo">391</span>    this.origLogSeqNum = sequenceId;<a name="line.391"></a>
+<span class="sourceLineNo">392</span>  }<a name="line.392"></a>
+<span class="sourceLineNo">393</span>  <a name="line.393"></a>
+<span class="sourceLineNo">394</span>  /**<a name="line.394"></a>
+<span class="sourceLineNo">395</span>   * Return a positive long if current WALKey is created from a replay edit; a replay edit is an<a name="line.395"></a>
+<span class="sourceLineNo">396</span>   * edit that came in when replaying WALs of a crashed server.<a name="line.396"></a>
+<span class="sourceLineNo">397</span>   * @return original sequence number of the WALEdit<a name="line.397"></a>
+<span class="sourceLineNo">398</span>   */<a name="line.398"></a>
+<span class="sourceLineNo">399</span>  public long getOrigLogSeqNum() {<a name="line.399"></a>
+<span class="sourceLineNo">400</span>    return this.origLogSeqNum;<a name="line.400"></a>
+<span class="sourceLineNo">401</span>  }<a name="line.401"></a>
+<span class="sourceLineNo">402</span>  <a name="line.402"></a>
+<span class="sourceLineNo">403</span>  /**<a name="line.403"></a>
+<span class="sourceLineNo">404</span>   * SequenceId is only available post WAL-assign. Calls before this will get you a<a name="line.404"></a>
+<span class="sourceLineNo">405</span>   * {@link #NO_SEQUENCE_ID}. See the comment on FSHLog#append and #getWriteNumber in this method<a name="line.405"></a>
+<span class="sourceLineNo">406</

<TRUNCATED>

[13/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html
index d266952..fbdde18 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html
@@ -7,36 +7,36 @@
 <body>
 <div class="sourceContainer">
 <pre><span class="sourceLineNo">001</span>/*<a name="line.1"></a>
-<span class="sourceLineNo">002</span> *<a name="line.2"></a>
-<span class="sourceLineNo">003</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.3"></a>
-<span class="sourceLineNo">004</span> * or more contributor license agreements.  See the NOTICE file<a name="line.4"></a>
-<span class="sourceLineNo">005</span> * distributed with this work for additional information<a name="line.5"></a>
-<span class="sourceLineNo">006</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.6"></a>
-<span class="sourceLineNo">007</span> * to you under the Apache License, Version 2.0 (the<a name="line.7"></a>
-<span class="sourceLineNo">008</span> * "License"); you may not use this file except in compliance<a name="line.8"></a>
-<span class="sourceLineNo">009</span> * with the License.  You may obtain a copy of the License at<a name="line.9"></a>
-<span class="sourceLineNo">010</span> *<a name="line.10"></a>
-<span class="sourceLineNo">011</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.11"></a>
-<span class="sourceLineNo">012</span> *<a name="line.12"></a>
-<span class="sourceLineNo">013</span> * Unless required by applicable law or agreed to in writing, software<a name="line.13"></a>
-<span class="sourceLineNo">014</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.14"></a>
-<span class="sourceLineNo">015</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.15"></a>
-<span class="sourceLineNo">016</span> * See the License for the specific language governing permissions and<a name="line.16"></a>
-<span class="sourceLineNo">017</span> * limitations under the License.<a name="line.17"></a>
-<span class="sourceLineNo">018</span> */<a name="line.18"></a>
-<span class="sourceLineNo">019</span>package org.apache.hadoop.hbase.regionserver;<a name="line.19"></a>
-<span class="sourceLineNo">020</span><a name="line.20"></a>
-<span class="sourceLineNo">021</span>import java.io.EOFException;<a name="line.21"></a>
-<span class="sourceLineNo">022</span>import java.io.FileNotFoundException;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.io.IOException;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.io.InterruptedIOException;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.lang.reflect.Constructor;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.text.ParseException;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import java.util.AbstractList;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import java.util.ArrayList;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import java.util.Arrays;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import java.util.Collection;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import java.util.Collections;<a name="line.31"></a>
+<span class="sourceLineNo">002</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.2"></a>
+<span class="sourceLineNo">003</span> * or more contributor license agreements.  See the NOTICE file<a name="line.3"></a>
+<span class="sourceLineNo">004</span> * distributed with this work for additional information<a name="line.4"></a>
+<span class="sourceLineNo">005</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.5"></a>
+<span class="sourceLineNo">006</span> * to you under the Apache License, Version 2.0 (the<a name="line.6"></a>
+<span class="sourceLineNo">007</span> * "License"); you may not use this file except in compliance<a name="line.7"></a>
+<span class="sourceLineNo">008</span> * with the License.  You may obtain a copy of the License at<a name="line.8"></a>
+<span class="sourceLineNo">009</span> *<a name="line.9"></a>
+<span class="sourceLineNo">010</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.10"></a>
+<span class="sourceLineNo">011</span> *<a name="line.11"></a>
+<span class="sourceLineNo">012</span> * Unless required by applicable law or agreed to in writing, software<a name="line.12"></a>
+<span class="sourceLineNo">013</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.13"></a>
+<span class="sourceLineNo">014</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.14"></a>
+<span class="sourceLineNo">015</span> * See the License for the specific language governing permissions and<a name="line.15"></a>
+<span class="sourceLineNo">016</span> * limitations under the License.<a name="line.16"></a>
+<span class="sourceLineNo">017</span> */<a name="line.17"></a>
+<span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.regionserver;<a name="line.18"></a>
+<span class="sourceLineNo">019</span><a name="line.19"></a>
+<span class="sourceLineNo">020</span>import java.io.EOFException;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import java.io.FileNotFoundException;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import java.io.IOException;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import java.io.InterruptedIOException;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.lang.reflect.Constructor;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.text.ParseException;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.util.AbstractList;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.util.ArrayList;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import java.util.Arrays;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import java.util.Collection;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import java.util.Collections;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import java.util.Comparator;<a name="line.31"></a>
 <span class="sourceLineNo">032</span>import java.util.HashMap;<a name="line.32"></a>
 <span class="sourceLineNo">033</span>import java.util.HashSet;<a name="line.33"></a>
 <span class="sourceLineNo">034</span>import java.util.Iterator;<a name="line.34"></a>
@@ -49,35 +49,35 @@
 <span class="sourceLineNo">041</span>import java.util.RandomAccess;<a name="line.41"></a>
 <span class="sourceLineNo">042</span>import java.util.Set;<a name="line.42"></a>
 <span class="sourceLineNo">043</span>import java.util.TreeMap;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import java.util.concurrent.Callable;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import java.util.concurrent.CompletionService;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import java.util.concurrent.ConcurrentMap;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import java.util.concurrent.ConcurrentSkipListMap;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import java.util.concurrent.ExecutionException;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import java.util.concurrent.ExecutorCompletionService;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import java.util.concurrent.ExecutorService;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import java.util.concurrent.Executors;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import java.util.concurrent.Future;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import java.util.concurrent.FutureTask;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import java.util.concurrent.ThreadFactory;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import java.util.concurrent.ThreadPoolExecutor;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import java.util.concurrent.TimeUnit;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import java.util.concurrent.TimeoutException;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import java.util.concurrent.atomic.AtomicBoolean;<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.atomic.AtomicLong;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import java.util.concurrent.locks.Lock;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import java.util.concurrent.locks.ReadWriteLock;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import java.util.concurrent.locks.ReentrantReadWriteLock;<a name="line.64"></a>
-<span class="sourceLineNo">065</span><a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.commons.logging.Log;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.commons.logging.LogFactory;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.conf.Configuration;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.fs.FileStatus;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.fs.FileSystem;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.fs.Path;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.ArrayBackedTag;<a name="line.72"></a>
+<span class="sourceLineNo">044</span>import java.util.UUID;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import java.util.concurrent.Callable;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import java.util.concurrent.CompletionService;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import java.util.concurrent.ConcurrentMap;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import java.util.concurrent.ConcurrentSkipListMap;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import java.util.concurrent.ExecutionException;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import java.util.concurrent.ExecutorCompletionService;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import java.util.concurrent.ExecutorService;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import java.util.concurrent.Executors;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import java.util.concurrent.Future;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import java.util.concurrent.FutureTask;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import java.util.concurrent.ThreadFactory;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import java.util.concurrent.ThreadPoolExecutor;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import java.util.concurrent.TimeUnit;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import java.util.concurrent.TimeoutException;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import java.util.concurrent.atomic.AtomicBoolean;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import java.util.concurrent.locks.Lock;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import java.util.concurrent.locks.ReadWriteLock;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import java.util.concurrent.locks.ReentrantReadWriteLock;<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.fs.FileStatus;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.fs.FileSystem;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.fs.Path;<a name="line.72"></a>
 <span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.Cell;<a name="line.73"></a>
 <span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.CellComparator;<a name="line.74"></a>
 <span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.75"></a>
@@ -85,8169 +85,7763 @@
 <span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.CompoundConfiguration;<a name="line.77"></a>
 <span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.78"></a>
 <span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.DroppedSnapshotException;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.HBaseConfiguration;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.HConstants;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.HConstants.OperationStatusCode;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.HDFSBlocksDistribution;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.KeyValue;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.KeyValueUtil;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.RegionTooBusyException;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.ShareableMemory;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.TableName;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.Tag;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.TagRewriteCell;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.TagType;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.TagUtil;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.UnknownScannerException;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.backup.HFileArchiver;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.client.Append;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.client.Durability;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.client.Get;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.client.Increment;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.client.IsolationLevel;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.client.Put;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.client.Result;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.client.RowMutations;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.conf.ConfigurationManager;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.conf.PropagatingConfigurationObserver;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.coprocessor.RegionObserver;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.errorhandling.ForeignExceptionSnare;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.exceptions.FailedSanityCheckException;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.exceptions.RegionInRecoveryException;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.exceptions.UnknownProtocolException;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.filter.ByteArrayComparable;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.filter.FilterWrapper;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.filter.IncompatibleFilterException;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.io.HeapSize;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.io.TimeRange;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.io.hfile.BlockCache;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.io.hfile.CacheConfig;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.io.hfile.HFile;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.ipc.CallerDisconnectedException;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.ipc.RpcCallContext;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.mob.MobUtils;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.monitoring.MonitoredTask;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.protobuf.ResponseConverter;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceCall;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.RegionLoad;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.StoreSequenceId;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor.FlushAction;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor.StoreFlushDescriptor;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor.EventType;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.StoreDescriptor;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.NextState;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.regionserver.compactions.CompactionContext;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.regionserver.throttle.CompactionThroughputControllerFactory;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.regionserver.throttle.NoLimitThroughputController;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.regionserver.throttle.ThroughputController;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.regionserver.wal.HLogKey;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.regionserver.wal.ReplayHLogKey;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.regionserver.wal.WALUtil;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.security.User;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.snapshot.SnapshotDescriptionUtils;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.snapshot.SnapshotManifest;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.util.ByteStringer;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.util.CancelableProgressable;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.util.ClassSize;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.util.CompressionTest;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.util.Counter;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.util.EncryptionTest;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.util.FSTableDescriptors;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.util.HashedBytes;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.Threads;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.wal.WALFactory;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.wal.WALSplitter.MutationReplay;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.io.MultipleIOException;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.util.StringUtils;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.htrace.Trace;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>import org.apache.htrace.TraceScope;<a name="line.186"></a>
-<span class="sourceLineNo">187</span><a name="line.187"></a>
-<span class="sourceLineNo">188</span>import com.google.common.annotations.VisibleForTesting;<a name="line.188"></a>
-<span class="sourceLineNo">189</span>import com.google.common.base.Optional;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>import com.google.common.base.Preconditions;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>import com.google.common.collect.Lists;<a name="line.191"></a>
-<span class="sourceLineNo">192</span>import com.google.common.collect.Maps;<a name="line.192"></a>
-<span class="sourceLineNo">193</span>import com.google.common.io.Closeables;<a name="line.193"></a>
-<span class="sourceLineNo">194</span>import com.google.protobuf.ByteString;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>import com.google.protobuf.Descriptors;<a name="line.195"></a>
-<span class="sourceLineNo">196</span>import com.google.protobuf.Message;<a name="line.196"></a>
-<span class="sourceLineNo">197</span>import com.google.protobuf.RpcCallback;<a name="line.197"></a>
-<span class="sourceLineNo">198</span>import com.google.protobuf.RpcController;<a name="line.198"></a>
-<span class="sourceLineNo">199</span>import com.google.protobuf.Service;<a name="line.199"></a>
-<span class="sourceLineNo">200</span>import com.google.protobuf.TextFormat;<a name="line.200"></a>
-<span class="sourceLineNo">201</span><a name="line.201"></a>
-<span class="sourceLineNo">202</span>@InterfaceAudience.Private<a name="line.202"></a>
-<span class="sourceLineNo">203</span>public class HRegion implements HeapSize, PropagatingConfigurationObserver, Region {<a name="line.203"></a>
-<span class="sourceLineNo">204</span>  private static final Log LOG = LogFactory.getLog(HRegion.class);<a name="line.204"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.HConstants;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.HConstants.OperationStatusCode;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.HDFSBlocksDistribution;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.KeyValue;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.KeyValueUtil;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.RegionTooBusyException;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.ShareableMemory;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.TableName;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.Tag;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.TagRewriteCell;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.TagUtil;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.UnknownScannerException;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.backup.HFileArchiver;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.client.Append;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.client.Durability;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.client.Get;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.client.Increment;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.client.IsolationLevel;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.client.Put;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.client.Result;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.client.RowMutations;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.conf.ConfigurationManager;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.conf.PropagatingConfigurationObserver;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.coprocessor.RegionObserver.MutationType;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.errorhandling.ForeignExceptionSnare;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.exceptions.FailedSanityCheckException;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.exceptions.RegionInRecoveryException;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.exceptions.UnknownProtocolException;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.filter.ByteArrayComparable;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.filter.FilterWrapper;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.filter.IncompatibleFilterException;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.io.HeapSize;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.io.TimeRange;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.io.hfile.HFile;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.ipc.CallerDisconnectedException;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.ipc.RpcCallContext;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.mob.MobUtils;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.monitoring.MonitoredTask;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.protobuf.ResponseConverter;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceCall;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.RegionLoad;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.StoreSequenceId;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor.FlushAction;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor.StoreFlushDescriptor;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor.EventType;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.StoreDescriptor;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl.WriteEntry;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.NextState;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.regionserver.compactions.CompactionContext;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.regionserver.throttle.CompactionThroughputControllerFactory;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.regionserver.throttle.NoLimitThroughputController;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.regionserver.throttle.ThroughputController;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.regionserver.wal.HLogKey;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.regionserver.wal.ReplayHLogKey;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.regionserver.wal.WALUtil;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.security.User;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.snapshot.SnapshotDescriptionUtils;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.snapshot.SnapshotManifest;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.util.ByteStringer;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.util.CancelableProgressable;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.util.ClassSize;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.util.CompressionTest;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.util.Counter;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.util.EncryptionTest;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.util.HashedBytes;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.util.Threads;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.wal.WALFactory;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.wal.WALSplitter.MutationReplay;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>import org.apache.hadoop.io.MultipleIOException;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>import org.apache.hadoop.util.StringUtils;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>import org.apache.htrace.Trace;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.htrace.TraceScope;<a name="line.182"></a>
+<span class="sourceLineNo">183</span><a name="line.183"></a>
+<span class="sourceLineNo">184</span>import com.google.common.annotations.VisibleForTesting;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import com.google.common.base.Optional;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import com.google.common.base.Preconditions;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import com.google.common.collect.Lists;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>import com.google.common.collect.Maps;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>import com.google.common.io.Closeables;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>import com.google.protobuf.ByteString;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>import com.google.protobuf.Descriptors;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>import com.google.protobuf.Message;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>import com.google.protobuf.RpcCallback;<a name="line.193"></a>
+<span class="sourceLineNo">194</span>import com.google.protobuf.RpcController;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>import com.google.protobuf.Service;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>import com.google.protobuf.TextFormat;<a name="line.196"></a>
+<span class="sourceLineNo">197</span><a name="line.197"></a>
+<span class="sourceLineNo">198</span>@SuppressWarnings("deprecation")<a name="line.198"></a>
+<span class="sourceLineNo">199</span>@InterfaceAudience.Private<a name="line.199"></a>
+<span class="sourceLineNo">200</span>public class HRegion implements HeapSize, PropagatingConfigurationObserver, Region {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>  private static final Log LOG = LogFactory.getLog(HRegion.class);<a name="line.201"></a>
+<span class="sourceLineNo">202</span><a name="line.202"></a>
+<span class="sourceLineNo">203</span>  public static final String LOAD_CFS_ON_DEMAND_CONFIG_KEY =<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    "hbase.hregion.scan.loadColumnFamiliesOnDemand";<a name="line.204"></a>
 <span class="sourceLineNo">205</span><a name="line.205"></a>
-<span class="sourceLineNo">206</span>  public static final String LOAD_CFS_ON_DEMAND_CONFIG_KEY =<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    "hbase.hregion.scan.loadColumnFamiliesOnDemand";<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>   * Longest time we'll wait on a sequenceid.<a name="line.210"></a>
-<span class="sourceLineNo">211</span>   * Sequenceid comes up out of the WAL subsystem. WAL subsystem can go bad or a test might use<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   * it without cleaning up previous usage properly; generally, a WAL roll is needed. The timeout<a name="line.212"></a>
-<span class="sourceLineNo">213</span>   * is for a latch in WALKey. There is no global accounting of outstanding WALKeys; intentionally<a name="line.213"></a>
-<span class="sourceLineNo">214</span>   * to avoid contention, but it makes it so if an abort or problem, we could be stuck waiting<a name="line.214"></a>
-<span class="sourceLineNo">215</span>   * on the WALKey latch. Revisit.<a name="line.215"></a>
-<span class="sourceLineNo">216</span>   */<a name="line.216"></a>
-<span class="sourceLineNo">217</span>  private final int maxWaitForSeqId;<a name="line.217"></a>
-<span class="sourceLineNo">218</span>  private static final String MAX_WAIT_FOR_SEQ_ID_KEY = "hbase.hregion.max.wait.for.sequenceid.ms";<a name="line.218"></a>
-<span class="sourceLineNo">219</span>  private static final int DEFAULT_MAX_WAIT_FOR_SEQ_ID = 30000;<a name="line.219"></a>
+<span class="sourceLineNo">206</span>  /**<a name="line.206"></a>
+<span class="sourceLineNo">207</span>   * This is the global default value for durability. All tables/mutations not<a name="line.207"></a>
+<span class="sourceLineNo">208</span>   * defining a durability or using USE_DEFAULT will default to this value.<a name="line.208"></a>
+<span class="sourceLineNo">209</span>   */<a name="line.209"></a>
+<span class="sourceLineNo">210</span>  private static final Durability DEFAULT_DURABILITY = Durability.SYNC_WAL;<a name="line.210"></a>
+<span class="sourceLineNo">211</span><a name="line.211"></a>
+<span class="sourceLineNo">212</span>  final AtomicBoolean closed = new AtomicBoolean(false);<a name="line.212"></a>
+<span class="sourceLineNo">213</span><a name="line.213"></a>
+<span class="sourceLineNo">214</span>  /* Closing can take some time; use the closing flag if there is stuff we don't<a name="line.214"></a>
+<span class="sourceLineNo">215</span>   * want to do while in closing state; e.g. like offer this region up to the<a name="line.215"></a>
+<span class="sourceLineNo">216</span>   * master as a region to close if the carrying regionserver is overloaded.<a name="line.216"></a>
+<span class="sourceLineNo">217</span>   * Once set, it is never cleared.<a name="line.217"></a>
+<span class="sourceLineNo">218</span>   */<a name="line.218"></a>
+<span class="sourceLineNo">219</span>  final AtomicBoolean closing = new AtomicBoolean(false);<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>   * This is the global default value for durability. All tables/mutations not<a name="line.222"></a>
-<span class="sourceLineNo">223</span>   * defining a durability or using USE_DEFAULT will default to this value.<a name="line.223"></a>
+<span class="sourceLineNo">222</span>   * The max sequence id of flushed data on this region. There is no edit in memory that is<a name="line.222"></a>
+<span class="sourceLineNo">223</span>   * less that this sequence id.<a name="line.223"></a>
 <span class="sourceLineNo">224</span>   */<a name="line.224"></a>
-<span class="sourceLineNo">225</span>  private static final Durability DEFAULT_DURABILITY = Durability.SYNC_WAL;<a name="line.225"></a>
+<span class="sourceLineNo">225</span>  private volatile long maxFlushedSeqId = HConstants.NO_SEQNUM;<a name="line.225"></a>
 <span class="sourceLineNo">226</span><a name="line.226"></a>
-<span class="sourceLineNo">227</span>  final AtomicBoolean closed = new AtomicBoolean(false);<a name="line.227"></a>
-<span class="sourceLineNo">228</span><a name="line.228"></a>
-<span class="sourceLineNo">229</span>  /* Closing can take some time; use the closing flag if there is stuff we don't<a name="line.229"></a>
-<span class="sourceLineNo">230</span>   * want to do while in closing state; e.g. like offer this region up to the<a name="line.230"></a>
-<span class="sourceLineNo">231</span>   * master as a region to close if the carrying regionserver is overloaded.<a name="line.231"></a>
-<span class="sourceLineNo">232</span>   * Once set, it is never cleared.<a name="line.232"></a>
-<span class="sourceLineNo">233</span>   */<a name="line.233"></a>
-<span class="sourceLineNo">234</span>  final AtomicBoolean closing = new AtomicBoolean(false);<a name="line.234"></a>
-<span class="sourceLineNo">235</span><a name="line.235"></a>
-<span class="sourceLineNo">236</span>  /**<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   * The max sequence id of flushed data on this region. There is no edit in memory that is<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   * less that this sequence id.<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   */<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  private volatile long maxFlushedSeqId = HConstants.NO_SEQNUM;<a name="line.240"></a>
+<span class="sourceLineNo">227</span>  /**<a name="line.227"></a>
+<span class="sourceLineNo">228</span>   * Record the sequence id of last flush operation. Can be in advance of<a name="line.228"></a>
+<span class="sourceLineNo">229</span>   * {@link #maxFlushedSeqId} when flushing a single column family. In this case,<a name="line.229"></a>
+<span class="sourceLineNo">230</span>   * {@link #maxFlushedSeqId} will be older than the oldest edit in memory.<a name="line.230"></a>
+<span class="sourceLineNo">231</span>   */<a name="line.231"></a>
+<span class="sourceLineNo">232</span>  private volatile long lastFlushOpSeqId = HConstants.NO_SEQNUM;<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>   * The sequence id of the last replayed open region event from the primary region. This is used<a name="line.235"></a>
+<span class="sourceLineNo">236</span>   * to skip entries before this due to the possibility of replay edits coming out of order from<a name="line.236"></a>
+<span class="sourceLineNo">237</span>   * replication.<a name="line.237"></a>
+<span class="sourceLineNo">238</span>   */<a name="line.238"></a>
+<span class="sourceLineNo">239</span>  protected volatile long lastReplayedOpenRegionSeqId = -1L;<a name="line.239"></a>
+<span class="sourceLineNo">240</span>  protected volatile long lastReplayedCompactionSeqId = -1L;<a name="line.240"></a>
 <span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>  /**<a name="line.242"></a>
-<span class="sourceLineNo">243</span>   * Record the sequence id of last flush operation. Can be in advance of<a name="line.243"></a>
-<span class="sourceLineNo">244</span>   * {@link #maxFlushedSeqId} when flushing a single column family. In this case,<a name="line.244"></a>
-<span class="sourceLineNo">245</span>   * {@link #maxFlushedSeqId} will be older than the oldest edit in memory.<a name="line.245"></a>
-<span class="sourceLineNo">246</span>   */<a name="line.246"></a>
-<span class="sourceLineNo">247</span>  private volatile long lastFlushOpSeqId = HConstants.NO_SEQNUM;<a name="line.247"></a>
-<span class="sourceLineNo">248</span><a name="line.248"></a>
-<span class="sourceLineNo">249</span>  /**<a name="line.249"></a>
-<span class="sourceLineNo">250</span>   * The sequence id of the last replayed open region event from the primary region. This is used<a name="line.250"></a>
-<span class="sourceLineNo">251</span>   * to skip entries before this due to the possibility of replay edits coming out of order from<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * replication.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  protected volatile long lastReplayedOpenRegionSeqId = -1L;<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  protected volatile long lastReplayedCompactionSeqId = -1L;<a name="line.255"></a>
+<span class="sourceLineNo">242</span>  //////////////////////////////////////////////////////////////////////////////<a name="line.242"></a>
+<span class="sourceLineNo">243</span>  // Members<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>  // map from a locked row to the context for that lock including:<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  // - CountDownLatch for threads waiting on that row<a name="line.247"></a>
+<span class="sourceLineNo">248</span>  // - the thread that owns the lock (allow reentrancy)<a name="line.248"></a>
+<span class="sourceLineNo">249</span>  // - reference count of (reentrant) locks held by the thread<a name="line.249"></a>
+<span class="sourceLineNo">250</span>  // - the row itself<a name="line.250"></a>
+<span class="sourceLineNo">251</span>  private final ConcurrentHashMap&lt;HashedBytes, RowLockContext&gt; lockedRows =<a name="line.251"></a>
+<span class="sourceLineNo">252</span>      new ConcurrentHashMap&lt;HashedBytes, RowLockContext&gt;();<a name="line.252"></a>
+<span class="sourceLineNo">253</span><a name="line.253"></a>
+<span class="sourceLineNo">254</span>  protected final Map&lt;byte[], Store&gt; stores = new ConcurrentSkipListMap&lt;byte[], Store&gt;(<a name="line.254"></a>
+<span class="sourceLineNo">255</span>      Bytes.BYTES_RAWCOMPARATOR);<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>  // Members<a name="line.258"></a>
-<span class="sourceLineNo">259</span>  //////////////////////////////////////////////////////////////////////////////<a name="line.259"></a>
-<span class="sourceLineNo">260</span><a name="line.260"></a>
-<span class="sourceLineNo">261</span>  // map from a locked row to the context for that lock including:<a name="line.261"></a>
-<span class="sourceLineNo">262</span>  // - CountDownLatch for threads waiting on that row<a name="line.262"></a>
-<span class="sourceLineNo">263</span>  // - the thread that owns the lock (allow reentrancy)<a name="line.263"></a>
-<span class="sourceLineNo">264</span>  // - reference count of (reentrant) locks held by the thread<a name="line.264"></a>
-<span class="sourceLineNo">265</span>  // - the row itself<a name="line.265"></a>
-<span class="sourceLineNo">266</span>  private final ConcurrentHashMap&lt;HashedBytes, RowLockContext&gt; lockedRows =<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      new ConcurrentHashMap&lt;HashedBytes, RowLockContext&gt;();<a name="line.267"></a>
-<span class="sourceLineNo">268</span><a name="line.268"></a>
-<span class="sourceLineNo">269</span>  protected final Map&lt;byte[], Store&gt; stores = new ConcurrentSkipListMap&lt;byte[], Store&gt;(<a name="line.269"></a>
-<span class="sourceLineNo">270</span>      Bytes.BYTES_RAWCOMPARATOR);<a name="line.270"></a>
-<span class="sourceLineNo">271</span><a name="line.271"></a>
-<span class="sourceLineNo">272</span>  // TODO: account for each registered handler in HeapSize computation<a name="line.272"></a>
-<span class="sourceLineNo">273</span>  private Map&lt;String, Service&gt; coprocessorServiceHandlers = Maps.newHashMap();<a name="line.273"></a>
+<span class="sourceLineNo">257</span>  // TODO: account for each registered handler in HeapSize computation<a name="line.257"></a>
+<span class="sourceLineNo">258</span>  private Map&lt;String, Service&gt; coprocessorServiceHandlers = Maps.newHashMap();<a name="line.258"></a>
+<span class="sourceLineNo">259</span><a name="line.259"></a>
+<span class="sourceLineNo">260</span>  private final AtomicLong memstoreSize = new AtomicLong(0);<a name="line.260"></a>
+<span class="sourceLineNo">261</span><a name="line.261"></a>
+<span class="sourceLineNo">262</span>  // Debug possible data loss due to WAL off<a name="line.262"></a>
+<span class="sourceLineNo">263</span>  final Counter numMutationsWithoutWAL = new Counter();<a name="line.263"></a>
+<span class="sourceLineNo">264</span>  final Counter dataInMemoryWithoutWAL = new Counter();<a name="line.264"></a>
+<span class="sourceLineNo">265</span><a name="line.265"></a>
+<span class="sourceLineNo">266</span>  // Debug why CAS operations are taking a while.<a name="line.266"></a>
+<span class="sourceLineNo">267</span>  final Counter checkAndMutateChecksPassed = new Counter();<a name="line.267"></a>
+<span class="sourceLineNo">268</span>  final Counter checkAndMutateChecksFailed = new Counter();<a name="line.268"></a>
+<span class="sourceLineNo">269</span><a name="line.269"></a>
+<span class="sourceLineNo">270</span>  // Number of requests<a name="line.270"></a>
+<span class="sourceLineNo">271</span>  final Counter readRequestsCount = new Counter();<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  final Counter filteredReadRequestsCount = new Counter();<a name="line.272"></a>
+<span class="sourceLineNo">273</span>  final Counter writeRequestsCount = new Counter();<a name="line.273"></a>
 <span class="sourceLineNo">274</span><a name="line.274"></a>
-<span class="sourceLineNo">275</span>  private final AtomicLong memstoreSize = new AtomicLong(0);<a name="line.275"></a>
-<span class="sourceLineNo">276</span><a name="line.276"></a>
-<span class="sourceLineNo">277</span>  // Debug possible data loss due to WAL off<a name="line.277"></a>
-<span class="sourceLineNo">278</span>  final Counter numMutationsWithoutWAL = new Counter();<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  final Counter dataInMemoryWithoutWAL = new Counter();<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  // Debug why CAS operations are taking a while.<a name="line.281"></a>
-<span class="sourceLineNo">282</span>  final Counter checkAndMutateChecksPassed = new Counter();<a name="line.282"></a>
-<span class="sourceLineNo">283</span>  final Counter checkAndMutateChecksFailed = new Counter();<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>  //Number of requests<a name="line.285"></a>
-<span class="sourceLineNo">286</span>  final Counter readRequestsCount = new Counter();<a name="line.286"></a>
-<span class="sourceLineNo">287</span>  final Counter filteredReadRequestsCount = new Counter();<a name="line.287"></a>
-<span class="sourceLineNo">288</span>  final Counter writeRequestsCount = new Counter();<a name="line.288"></a>
-<span class="sourceLineNo">289</span><a name="line.289"></a>
-<span class="sourceLineNo">290</span>  // Number of requests blocked by memstore size.<a name="line.290"></a>
-<span class="sourceLineNo">291</span>  private final Counter blockedRequestsCount = new Counter();<a name="line.291"></a>
-<span class="sourceLineNo">292</span><a name="line.292"></a>
-<span class="sourceLineNo">293</span>  // Compaction counters<a name="line.293"></a>
-<span class="sourceLineNo">294</span>  final AtomicLong compactionsFinished = new AtomicLong(0L);<a name="line.294"></a>
-<span class="sourceLineNo">295</span>  final AtomicLong compactionNumFilesCompacted = new AtomicLong(0L);<a name="line.295"></a>
-<span class="sourceLineNo">296</span>  final AtomicLong compactionNumBytesCompacted = new AtomicLong(0L);<a name="line.296"></a>
-<span class="sourceLineNo">297</span><a name="line.297"></a>
-<span class="sourceLineNo">298</span>  private final WAL wal;<a name="line.298"></a>
-<span class="sourceLineNo">299</span>  private final HRegionFileSystem fs;<a name="line.299"></a>
-<span class="sourceLineNo">300</span>  protected final Configuration conf;<a name="line.300"></a>
-<span class="sourceLineNo">301</span>  private final Configuration baseConf;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  private final int rowLockWaitDuration;<a name="line.302"></a>
-<span class="sourceLineNo">303</span>  private CompactedHFilesDischarger compactedFileDischarger;<a name="line.303"></a>
-<span class="sourceLineNo">304</span>  static final int DEFAULT_ROWLOCK_WAIT_DURATION = 30000;<a name="line.304"></a>
-<span class="sourceLineNo">305</span><a name="line.305"></a>
-<span class="sourceLineNo">306</span>  // The internal wait duration to acquire a lock before read/update<a name="line.306"></a>
-<span class="sourceLineNo">307</span>  // from the region. It is not per row. The purpose of this wait time<a name="line.307"></a>
-<span class="sourceLineNo">308</span>  // is to avoid waiting a long time while the region is busy, so that<a name="line.308"></a>
-<span class="sourceLineNo">309</span>  // we can release the IPC handler soon enough to improve the<a name="line.309"></a>
-<span class="sourceLineNo">310</span>  // availability of the region server. It can be adjusted by<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  // tuning configuration "hbase.busy.wait.duration".<a name="line.311"></a>
-<span class="sourceLineNo">312</span>  final long busyWaitDuration;<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  static final long DEFAULT_BUSY_WAIT_DURATION = HConstants.DEFAULT_HBASE_RPC_TIMEOUT;<a name="line.313"></a>
+<span class="sourceLineNo">275</span>  // Number of requests blocked by memstore size.<a name="line.275"></a>
+<span class="sourceLineNo">276</span>  private final Counter blockedRequestsCount = new Counter();<a name="line.276"></a>
+<span class="sourceLineNo">277</span><a name="line.277"></a>
+<span class="sourceLineNo">278</span>  // Compaction counters<a name="line.278"></a>
+<span class="sourceLineNo">279</span>  final AtomicLong compactionsFinished = new AtomicLong(0L);<a name="line.279"></a>
+<span class="sourceLineNo">280</span>  final AtomicLong compactionNumFilesCompacted = new AtomicLong(0L);<a name="line.280"></a>
+<span class="sourceLineNo">281</span>  final AtomicLong compactionNumBytesCompacted = new AtomicLong(0L);<a name="line.281"></a>
+<span class="sourceLineNo">282</span><a name="line.282"></a>
+<span class="sourceLineNo">283</span>  private final WAL wal;<a name="line.283"></a>
+<span class="sourceLineNo">284</span>  private final HRegionFileSystem fs;<a name="line.284"></a>
+<span class="sourceLineNo">285</span>  protected final Configuration conf;<a name="line.285"></a>
+<span class="sourceLineNo">286</span>  private final Configuration baseConf;<a name="line.286"></a>
+<span class="sourceLineNo">287</span>  private final int rowLockWaitDuration;<a name="line.287"></a>
+<span class="sourceLineNo">288</span>  private CompactedHFilesDischarger compactedFileDischarger;<a name="line.288"></a>
+<span class="sourceLineNo">289</span>  static final int DEFAULT_ROWLOCK_WAIT_DURATION = 30000;<a name="line.289"></a>
+<span class="sourceLineNo">290</span><a name="line.290"></a>
+<span class="sourceLineNo">291</span>  // The internal wait duration to acquire a lock before read/update<a name="line.291"></a>
+<span class="sourceLineNo">292</span>  // from the region. It is not per row. The purpose of this wait time<a name="line.292"></a>
+<span class="sourceLineNo">293</span>  // is to avoid waiting a long time while the region is busy, so that<a name="line.293"></a>
+<span class="sourceLineNo">294</span>  // we can release the IPC handler soon enough to improve the<a name="line.294"></a>
+<span class="sourceLineNo">295</span>  // availability of the region server. It can be adjusted by<a name="line.295"></a>
+<span class="sourceLineNo">296</span>  // tuning configuration "hbase.busy.wait.duration".<a name="line.296"></a>
+<span class="sourceLineNo">297</span>  final long busyWaitDuration;<a name="line.297"></a>
+<span class="sourceLineNo">298</span>  static final long DEFAULT_BUSY_WAIT_DURATION = HConstants.DEFAULT_HBASE_RPC_TIMEOUT;<a name="line.298"></a>
+<span class="sourceLineNo">299</span><a name="line.299"></a>
+<span class="sourceLineNo">300</span>  // If updating multiple rows in one call, wait longer,<a name="line.300"></a>
+<span class="sourceLineNo">301</span>  // i.e. waiting for busyWaitDuration * # of rows. However,<a name="line.301"></a>
+<span class="sourceLineNo">302</span>  // we can limit the max multiplier.<a name="line.302"></a>
+<span class="sourceLineNo">303</span>  final int maxBusyWaitMultiplier;<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span>  // Max busy wait duration. There is no point to wait longer than the RPC<a name="line.305"></a>
+<span class="sourceLineNo">306</span>  // purge timeout, when a RPC call will be terminated by the RPC engine.<a name="line.306"></a>
+<span class="sourceLineNo">307</span>  final long maxBusyWaitDuration;<a name="line.307"></a>
+<span class="sourceLineNo">308</span><a name="line.308"></a>
+<span class="sourceLineNo">309</span>  // negative number indicates infinite timeout<a name="line.309"></a>
+<span class="sourceLineNo">310</span>  static final long DEFAULT_ROW_PROCESSOR_TIMEOUT = 60 * 1000L;<a name="line.310"></a>
+<span class="sourceLineNo">311</span>  final ExecutorService rowProcessorExecutor = Executors.newCachedThreadPool();<a name="line.311"></a>
+<span class="sourceLineNo">312</span><a name="line.312"></a>
+<span class="sourceLineNo">313</span>  private final ConcurrentHashMap&lt;RegionScanner, Long&gt; scannerReadPoints;<a name="line.313"></a>
 <span class="sourceLineNo">314</span><a name="line.314"></a>
-<span class="sourceLineNo">315</span>  // If updating multiple rows in one call, wait longer,<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  // i.e. waiting for busyWaitDuration * # of rows. However,<a name="line.316"></a>
-<span class="sourceLineNo">317</span>  // we can limit the max multiplier.<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  final int maxBusyWaitMultiplier;<a name="line.318"></a>
+<span class="sourceLineNo">315</span>  /**<a name="line.315"></a>
+<span class="sourceLineNo">316</span>   * The sequence ID that was encountered when this region was opened.<a name="line.316"></a>
+<span class="sourceLineNo">317</span>   */<a name="line.317"></a>
+<span class="sourceLineNo">318</span>  private long openSeqNum = HConstants.NO_SEQNUM;<a name="line.318"></a>
 <span class="sourceLineNo">319</span><a name="line.319"></a>
-<span class="sourceLineNo">320</span>  // Max busy wait duration. There is no point to wait longer than the RPC<a name="line.320"></a>
-<span class="sourceLineNo">321</span>  // purge timeout, when a RPC call will be terminated by the RPC engine.<a name="line.321"></a>
-<span class="sourceLineNo">322</span>  final long maxBusyWaitDuration;<a name="line.322"></a>
-<span class="sourceLineNo">323</span><a name="line.323"></a>
-<span class="sourceLineNo">324</span>  // negative number indicates infinite timeout<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  static final long DEFAULT_ROW_PROCESSOR_TIMEOUT = 60 * 1000L;<a name="line.325"></a>
-<span class="sourceLineNo">326</span>  final ExecutorService rowProcessorExecutor = Executors.newCachedThreadPool();<a name="line.326"></a>
-<span class="sourceLineNo">327</span><a name="line.327"></a>
-<span class="sourceLineNo">328</span>  private final ConcurrentHashMap&lt;RegionScanner, Long&gt; scannerReadPoints;<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>   * The sequence ID that was encountered when this region was opened.<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   */<a name="line.332"></a>
-<span class="sourceLineNo">333</span>  private long openSeqNum = HConstants.NO_SEQNUM;<a name="line.333"></a>
-<span class="sourceLineNo">334</span><a name="line.334"></a>
-<span class="sourceLineNo">335</span>  /**<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   * The default setting for whether to enable on-demand CF loading for<a name="line.336"></a>
-<span class="sourceLineNo">337</span>   * scan requests to this region. Requests can override it.<a name="line.337"></a>
-<span class="sourceLineNo">338</span>   */<a name="line.338"></a>
-<span class="sourceLineNo">339</span>  private boolean isLoadingCfsOnDemandDefault = false;<a name="line.339"></a>
-<span class="sourceLineNo">340</span><a name="line.340"></a>
-<span class="sourceLineNo">341</span>  private final AtomicInteger majorInProgress = new AtomicInteger(0);<a name="line.341"></a>
-<span class="sourceLineNo">342</span>  private final AtomicInteger minorInProgress = new AtomicInteger(0);<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>  // Context: During replay we want to ensure that we do not lose any data. So, we<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  // have to be conservative in how we replay wals. For each store, we calculate<a name="line.346"></a>
-<span class="sourceLineNo">347</span>  // the maxSeqId up to which the store was flushed. And, skip the edits which<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  // are equal to or lower than maxSeqId for each store.<a name="line.348"></a>
-<span class="sourceLineNo">349</span>  // The following map is populated when opening the region<a name="line.349"></a>
-<span class="sourceLineNo">350</span>  Map&lt;byte[], Long&gt; maxSeqIdInStores = new TreeMap&lt;byte[], Long&gt;(Bytes.BYTES_COMPARATOR);<a name="line.350"></a>
-<span class="sourceLineNo">351</span><a name="line.351"></a>
-<span class="sourceLineNo">352</span>  /** Saved state from replaying prepare flush cache */<a name="line.352"></a>
-<span class="sourceLineNo">353</span>  private PrepareFlushResult prepareFlushResult = null;<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>   * Config setting for whether to allow writes when a region is in recovering or not.<a name="line.356"></a>
-<span class="sourceLineNo">357</span>   */<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  private boolean disallowWritesInRecovering = false;<a name="line.358"></a>
-<span class="sourceLineNo">359</span><a name="line.359"></a>
-<span class="sourceLineNo">360</span>  // when a region is in recovering state, it can only accept writes not reads<a name="line.360"></a>
-<span class="sourceLineNo">361</span>  private volatile boolean recovering = false;<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>  private volatile Optional&lt;ConfigurationManager&gt; configurationManager;<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>   * @return The smallest mvcc readPoint across all the scanners in this<a name="line.366"></a>
-<span class="sourceLineNo">367</span>   * region. Writes older than this readPoint, are included in every<a name="line.367"></a>
-<span class="sourceLineNo">368</span>   * read operation.<a name="line.368"></a>
-<span class="sourceLineNo">369</span>   */<a name="line.369"></a>
-<span class="sourceLineNo">370</span>  public long getSmallestReadPoint() {<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    long minimumReadPoint;<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    // We need to ensure that while we are calculating the smallestReadPoint<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    // no new RegionScanners can grab a readPoint that we are unaware of.<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    // We achieve this by synchronizing on the scannerReadPoints object.<a name="line.374"></a>
-<span class="sourceLineNo">375</span>    synchronized(scannerReadPoints) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>      minimumReadPoint = mvcc.getReadPoint();<a name="line.376"></a>
-<span class="sourceLineNo">377</span><a name="line.377"></a>
-<span class="sourceLineNo">378</span>      for (Long readPoint: this.scannerReadPoints.values()) {<a name="line.378"></a>
-<span class="sourceLineNo">379</span>        if (readPoint &lt; minimumReadPoint) {<a name="line.379"></a>
-<span class="sourceLineNo">380</span>          minimumReadPoint = readPoint;<a name="line.380"></a>
-<span class="sourceLineNo">381</span>        }<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      }<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    }<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    return minimumReadPoint;<a name="line.384"></a>
-<span class="sourceLineNo">385</span>  }<a name="line.385"></a>
-<span class="sourceLineNo">386</span><a name="line.386"></a>
-<span class="sourceLineNo">387</span>  /*<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * Data structure of write state flags used coordinating flushes,<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   * compactions and closes.<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   */<a name="line.390"></a>
-<span class="sourceLineNo">391</span>  static class WriteState {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    // Set while a memstore flush is happening.<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    volatile boolean flushing = false;<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    // Set when a flush has been requested.<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    volatile boolean flushRequested = false;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    // Number of compactions running.<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    AtomicInteger compacting = new AtomicInteger(0);<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    // Gets set in close. If set, cannot compact or flush again.<a name="line.398"></a>
-<span class="sourceLineNo">399</span>    volatile boolean writesEnabled = true;<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    // Set if region is read-only<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    volatile boolean readOnly = false;<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    // whether the reads are enabled. This is different than readOnly, because readOnly is<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    // static in the lifetime of the region, while readsEnabled is dynamic<a name="line.403"></a>
-<span class="sourceLineNo">404</span>    volatile boolean readsEnabled = true;<a name="line.404"></a>
-<span class="sourceLineNo">405</span><a name="line.405"></a>
-<span class="sourceLineNo">406</span>    /**<a name="line.406"></a>
-<span class="sourceLineNo">407</span>     * Set flags that make this region read-only.<a name="line.407"></a>
-<span class="sourceLineNo">408</span>     *<a name="line.408"></a>
-<span class="sourceLineNo">409</span>     * @param onOff flip value for region r/o setting<a name="line.409"></a>
-<span class="sourceLineNo">410</span>     */<a name="line.410"></a>
-<span class="sourceLineNo">411</span>    synchronized void setReadOnly(final boolean onOff) {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      this.writesEnabled = !onOff;<a name="line.412"></a>
-<span class="sourceLineNo">413</span>      this.readOnly = onOff;<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    }<a name="line.414"></a>
+<span class="sourceLineNo">320</span>  /**<a name="line.320"></a>
+<span class="sourceLineNo">321</span>   * The default setting for whether to enable on-demand CF loading for<a name="line.321"></a>
+<span class="sourceLineNo">322</span>   * scan requests to this region. Requests can override it.<a name="line.322"></a>
+<span class="sourceLineNo">323</span>   */<a name="line.323"></a>
+<span class="sourceLineNo">324</span>  private boolean isLoadingCfsOnDemandDefault = false;<a name="line.324"></a>
+<span class="sourceLineNo">325</span><a name="line.325"></a>
+<span class="sourceLineNo">326</span>  private final AtomicInteger majorInProgress = new AtomicInteger(0);<a name="line.326"></a>
+<span class="sourceLineNo">327</span>  private final AtomicInteger minorInProgress = new AtomicInteger(0);<a name="line.327"></a>
+<span class="sourceLineNo">328</span><a name="line.328"></a>
+<span class="sourceLineNo">329</span>  //<a name="line.329"></a>
+<span class="sourceLineNo">330</span>  // Context: During replay we want to ensure that we do not lose any data. So, we<a name="line.330"></a>
+<span class="sourceLineNo">331</span>  // have to be conservative in how we replay wals. For each store, we calculate<a name="line.331"></a>
+<span class="sourceLineNo">332</span>  // the maxSeqId up to which the store was flushed. And, skip the edits which<a name="line.332"></a>
+<span class="sourceLineNo">333</span>  // are equal to or lower than maxSeqId for each store.<a name="line.333"></a>
+<span class="sourceLineNo">334</span>  // The following map is populated when opening the region<a name="line.334"></a>
+<span class="sourceLineNo">335</span>  Map&lt;byte[], Long&gt; maxSeqIdInStores = new TreeMap&lt;byte[], Long&gt;(Bytes.BYTES_COMPARATOR);<a name="line.335"></a>
+<span class="sourceLineNo">336</span><a name="line.336"></a>
+<span class="sourceLineNo">337</span>  /** Saved state from replaying prepare flush cache */<a name="line.337"></a>
+<span class="sourceLineNo">338</span>  private PrepareFlushResult prepareFlushResult = null;<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>   * Config setting for whether to allow writes when a region is in recovering or not.<a name="line.341"></a>
+<span class="sourceLineNo">342</span>   */<a name="line.342"></a>
+<span class="sourceLineNo">343</span>  private boolean disallowWritesInRecovering = false;<a name="line.343"></a>
+<span class="sourceLineNo">344</span><a name="line.344"></a>
+<span class="sourceLineNo">345</span>  // When a region is in recovering state, it can only accept writes not reads<a name="line.345"></a>
+<span class="sourceLineNo">346</span>  private volatile boolean recovering = false;<a name="line.346"></a>
+<span class="sourceLineNo">347</span><a name="line.347"></a>
+<span class="sourceLineNo">348</span>  private volatile Optional&lt;ConfigurationManager&gt; configurationManager;<a name="line.348"></a>
+<span class="sourceLineNo">349</span><a name="line.349"></a>
+<span class="sourceLineNo">350</span>  /**<a name="line.350"></a>
+<span class="sourceLineNo">351</span>   * @return The smallest mvcc readPoint across all the scanners in this<a name="line.351"></a>
+<span class="sourceLineNo">352</span>   * region. Writes older than this readPoint, are included in every<a name="line.352"></a>
+<span class="sourceLineNo">353</span>   * read operation.<a name="line.353"></a>
+<span class="sourceLineNo">354</span>   */<a name="line.354"></a>
+<span class="sourceLineNo">355</span>  public long getSmallestReadPoint() {<a name="line.355"></a>
+<span class="sourceLineNo">356</span>    long minimumReadPoint;<a name="line.356"></a>
+<span class="sourceLineNo">357</span>    // We need to ensure that while we are calculating the smallestReadPoint<a name="line.357"></a>
+<span class="sourceLineNo">358</span>    // no new RegionScanners can grab a readPoint that we are unaware of.<a name="line.358"></a>
+<span class="sourceLineNo">359</span>    // We achieve this by synchronizing on the scannerReadPoints object.<a name="line.359"></a>
+<span class="sourceLineNo">360</span>    synchronized(scannerReadPoints) {<a name="line.360"></a>
+<span class="sourceLineNo">361</span>      minimumReadPoint = mvcc.getReadPoint();<a name="line.361"></a>
+<span class="sourceLineNo">362</span>      for (Long readPoint: this.scannerReadPoints.values()) {<a name="line.362"></a>
+<span class="sourceLineNo">363</span>        if (readPoint &lt; minimumReadPoint) {<a name="line.363"></a>
+<span class="sourceLineNo">364</span>          minimumReadPoint = readPoint;<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>    return minimumReadPoint;<a name="line.368"></a>
+<span class="sourceLineNo">369</span>  }<a name="line.369"></a>
+<span class="sourceLineNo">370</span><a name="line.370"></a>
+<span class="sourceLineNo">371</span>  /*<a name="line.371"></a>
+<span class="sourceLineNo">372</span>   * Data structure of write state flags used coordinating flushes,<a name="line.372"></a>
+<span class="sourceLineNo">373</span>   * compactions and closes.<a name="line.373"></a>
+<span class="sourceLineNo">374</span>   */<a name="line.374"></a>
+<span class="sourceLineNo">375</span>  static class WriteState {<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    // Set while a memstore flush is happening.<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    volatile boolean flushing = false;<a name="line.377"></a>
+<span class="sourceLineNo">378</span>    // Set when a flush has been requested.<a name="line.378"></a>
+<span class="sourceLineNo">379</span>    volatile boolean flushRequested = false;<a name="line.379"></a>
+<span class="sourceLineNo">380</span>    // Number of compactions running.<a name="line.380"></a>
+<span class="sourceLineNo">381</span>    AtomicInteger compacting = new AtomicInteger(0);<a name="line.381"></a>
+<span class="sourceLineNo">382</span>    // Gets set in close. If set, cannot compact or flush again.<a name="line.382"></a>
+<span class="sourceLineNo">383</span>    volatile boolean writesEnabled = true;<a name="line.383"></a>
+<span class="sourceLineNo">384</span>    // Set if region is read-only<a name="line.384"></a>
+<span class="sourceLineNo">385</span>    volatile boolean readOnly = false;<a name="line.385"></a>
+<span class="sourceLineNo">386</span>    // whether the reads are enabled. This is different than readOnly, because readOnly is<a name="line.386"></a>
+<span class="sourceLineNo">387</span>    // static in the lifetime of the region, while readsEnabled is dynamic<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    volatile boolean readsEnabled = true;<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>     * Set flags that make this region read-only.<a name="line.391"></a>
+<span class="sourceLineNo">392</span>     *<a name="line.392"></a>
+<span class="sourceLineNo">393</span>     * @param onOff flip value for region r/o setting<a name="line.393"></a>
+<span class="sourceLineNo">394</span>     */<a name="line.394"></a>
+<span class="sourceLineNo">395</span>    synchronized void setReadOnly(final boolean onOff) {<a name="line.395"></a>
+<span class="sourceLineNo">396</span>      this.writesEnabled = !onOff;<a name="line.396"></a>
+<span class="sourceLineNo">397</span>      this.readOnly = onOff;<a name="line.397"></a>
+<span class="sourceLineNo">398</span>    }<a name="line.398"></a>
+<span class="sourceLineNo">399</span><a name="line.399"></a>
+<span class="sourceLineNo">400</span>    boolean isReadOnly() {<a name="line.400"></a>
+<span class="sourceLineNo">401</span>      return this.readOnly;<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>    boolean isFlushRequested() {<a name="line.404"></a>
+<span class="sourceLineNo">405</span>      return this.flushRequested;<a name="line.405"></a>
+<span class="sourceLineNo">406</span>    }<a name="line.406"></a>
+<span class="sourceLineNo">407</span><a name="line.407"></a>
+<span class="sourceLineNo">408</span>    void setReadsEnabled(boolean readsEnabled) {<a name="line.408"></a>
+<span class="sourceLineNo">409</span>      this.readsEnabled = readsEnabled;<a name="line.409"></a>
+<span class="sourceLineNo">410</span>    }<a name="line.410"></a>
+<span class="sourceLineNo">411</span><a name="line.411"></a>
+<span class="sourceLineNo">412</span>    static final long HEAP_SIZE = ClassSize.align(<a name="line.412"></a>
+<span class="sourceLineNo">413</span>        ClassSize.OBJECT + 5 * Bytes.SIZEOF_BOOLEAN);<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>    boolean isReadOnly() {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      return this.readOnly;<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>    boolean isFlushRequested() {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>      return this.flushRequested;<a name="line.421"></a>
-<span class="sourceLineNo">422</span>    }<a name="line.422"></a>
-<span class="sourceLineNo">423</span><a name="line.423"></a>
-<span class="sourceLineNo">424</span>    void setReadsEnabled(boolean readsEnabled) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span>      this.readsEnabled = readsEnabled;<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    }<a name="line.426"></a>
+<span class="sourceLineNo">416</span>  /**<a name="line.416"></a>
+<span class="sourceLineNo">417</span>   * Objects from this class are created when flushing to describe all the different states that<a name="line.417"></a>
+<span class="sourceLineNo">418</span>   * that method ends up in. The Result enum describes those states. The sequence id should only<a name="line.418"></a>
+<span class="sourceLineNo">419</span>   * be specified if the flush was successful, and the failure message should only be specified<a name="line.419"></a>
+<span class="sourceLineNo">420</span>   * if it didn't flush.<a name="line.420"></a>
+<span class="sourceLineNo">421</span>   */<a name="line.421"></a>
+<span class="sourceLineNo">422</span>  public static class FlushResultImpl implements FlushResult {<a name="line.422"></a>
+<span class="sourceLineNo">423</span>    final Result result;<a name="line.423"></a>
+<span class="sourceLineNo">424</span>    final String failureReason;<a name="line.424"></a>
+<span class="sourceLineNo">425</span>    final long flushSequenceId;<a name="line.425"></a>
+<span class="sourceLineNo">426</span>    final boolean wroteFlushWalMarker;<a name="line.426"></a>
 <span class="sourceLineNo">427</span><a name="line.427"></a>
-<span class="sourceLineNo">428</span>    static final long HEAP_SIZE = ClassSize.align(<a name="line.428"></a>
-<span class="sourceLineNo">429</span>        ClassSize.OBJECT + 5 * Bytes.SIZEOF_BOOLEAN);<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  }<a name="line.430"></a>
-<span class="sourceLineNo">431</span><a name="line.431"></a>
-<span class="sourceLineNo">432</span>  /**<a name="line.432"></a>
-<span class="sourceLineNo">433</span>   * Objects from this class are created when flushing to describe all the different states that<a name="line.433"></a>
-<span class="sourceLineNo">434</span>   * that method ends up in. The Result enum describes those states. The sequence id should only<a name="line.434"></a>
-<span class="sourceLineNo">435</span>   * be specified if the flush was successful, and the failure message should only be specified<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   * if it didn't flush.<a name="line.436"></a>
-<span class="sourceLineNo">437</span>   */<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  public static class FlushResultImpl implements FlushResult {<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    final Result result;<a name="line.439"></a>
-<span class="sourceLineNo">440</span>    final String failureReason;<a name="line.440"></a>
-<span class="sourceLineNo">441</span>    final long flushSequenceId;<a name="line.441"></a>
-<span class="sourceLineNo">442</span>    final boolean wroteFlushWalMarker;<a name="line.442"></a>
-<span class="sourceLineNo">443</span><a name="line.443"></a>
-<span class="sourceLineNo">444</span>    /**<a name="line.444"></a>
-<span class="sourceLineNo">445</span>     * Convenience constructor to use when the flush is successful, the failure message is set to<a name="line.445"></a>
-<span class="sourceLineNo">446</span>     * null.<a name="line.446"></a>
-<span class="sourceLineNo">447</span>     * @param result Expecting FLUSHED_NO_COMPACTION_NEEDED or FLUSHED_COMPACTION_NEEDED.<a name="line.447"></a>
-<span class="sourceLineNo">448</span>     * @param flushSequenceId Generated sequence id that comes right after the edits in the<a name="line.448"></a>
-<span class="sourceLineNo">449</span>     *                        memstores.<a name="line.449"></a>
-<span class="sourceLineNo">450</span>     */<a

<TRUNCATED>

[44/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/deprecated-list.html
----------------------------------------------------------------------
diff --git a/devapidocs/deprecated-list.html b/devapidocs/deprecated-list.html
index 529bafe..7117481 100644
--- a/devapidocs/deprecated-list.html
+++ b/devapidocs/deprecated-list.html
@@ -589,317 +589,322 @@
 </td>
 </tr>
 <tr class="altColor">
+<td class="colOne"><a href="org/apache/hadoop/hbase/wal/WALKey.html#getLogSeqNum()">org.apache.hadoop.hbase.wal.WALKey.getLogSeqNum()</a>
+<div class="block"><i>Use <a href="org/apache/hadoop/hbase/wal/WALKey.html#getSequenceId()"><code>WALKey.getSequenceId()</code></a></i></div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#getMaster()">org.apache.hadoop.hbase.client.HConnection.getMaster()</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/HTableDescriptor.html#getName()">org.apache.hadoop.hbase.HTableDescriptor.getName()</a>
 <div class="block"><i>Use <a href="org/apache/hadoop/hbase/HTableDescriptor.html#getTableName()"><code>HTableDescriptor.getTableName()</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#getNonceGenerator()">org.apache.hadoop.hbase.client.HConnection.getNonceGenerator()</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/regionserver/Region.html#getOldestSeqIdOfStore(byte[])">org.apache.hadoop.hbase.regionserver.Region.getOldestSeqIdOfStore(byte[])</a>
 <div class="block"><i>Since version 1.2.0. Exposes too much about our internals; shutting it down.
  Do not use.</i></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/HTableDescriptor.html#getOwnerString()">org.apache.hadoop.hbase.HTableDescriptor.getOwnerString()</a></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/http/InfoServer.html#getPort()">org.apache.hadoop.hbase.http.InfoServer.getPort()</a></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/http/HttpServer.html#getPort()">org.apache.hadoop.hbase.http.HttpServer.getPort()</a></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#getQualifierBufferShallowCopy(org.apache.hadoop.hbase.Cell)">org.apache.hadoop.hbase.CellUtil.getQualifierBufferShallowCopy(Cell)</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/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">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/KeyValue.html#getType()">org.apache.hadoop.hbase.KeyValue.getType()</a></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/KeyValue.html#isDelete()">org.apache.hadoop.hbase.KeyValue.isDelete()</a></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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>).
@@ -907,538 +912,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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="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,%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="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,%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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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="rowColor">
+<tr class="altColor">
 <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="altColor">
+<tr class="rowColor">
 <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>
@@ -1528,6 +1533,11 @@
               Use <a href="org/apache/hadoop/hbase/client/UnmodifyableHTableDescriptor.html#UnmodifyableHTableDescriptor(org.apache.hadoop.hbase.HTableDescriptor)"><code>UnmodifyableHTableDescriptor.UnmodifyableHTableDescriptor(HTableDescriptor)</code></a>.</i></div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/hadoop/hbase/wal/WALKey.html#WALKey(byte[],%20org.apache.hadoop.hbase.TableName)">org.apache.hadoop.hbase.wal.WALKey(byte[], TableName)</a>
+<div class="block"><i>Remove. Useless.</i></div>
+</td>
+</tr>
 </tbody>
 </table>
 </li>


[11/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html
index d266952..fbdde18 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html
@@ -7,36 +7,36 @@
 <body>
 <div class="sourceContainer">
 <pre><span class="sourceLineNo">001</span>/*<a name="line.1"></a>
-<span class="sourceLineNo">002</span> *<a name="line.2"></a>
-<span class="sourceLineNo">003</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.3"></a>
-<span class="sourceLineNo">004</span> * or more contributor license agreements.  See the NOTICE file<a name="line.4"></a>
-<span class="sourceLineNo">005</span> * distributed with this work for additional information<a name="line.5"></a>
-<span class="sourceLineNo">006</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.6"></a>
-<span class="sourceLineNo">007</span> * to you under the Apache License, Version 2.0 (the<a name="line.7"></a>
-<span class="sourceLineNo">008</span> * "License"); you may not use this file except in compliance<a name="line.8"></a>
-<span class="sourceLineNo">009</span> * with the License.  You may obtain a copy of the License at<a name="line.9"></a>
-<span class="sourceLineNo">010</span> *<a name="line.10"></a>
-<span class="sourceLineNo">011</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.11"></a>
-<span class="sourceLineNo">012</span> *<a name="line.12"></a>
-<span class="sourceLineNo">013</span> * Unless required by applicable law or agreed to in writing, software<a name="line.13"></a>
-<span class="sourceLineNo">014</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.14"></a>
-<span class="sourceLineNo">015</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.15"></a>
-<span class="sourceLineNo">016</span> * See the License for the specific language governing permissions and<a name="line.16"></a>
-<span class="sourceLineNo">017</span> * limitations under the License.<a name="line.17"></a>
-<span class="sourceLineNo">018</span> */<a name="line.18"></a>
-<span class="sourceLineNo">019</span>package org.apache.hadoop.hbase.regionserver;<a name="line.19"></a>
-<span class="sourceLineNo">020</span><a name="line.20"></a>
-<span class="sourceLineNo">021</span>import java.io.EOFException;<a name="line.21"></a>
-<span class="sourceLineNo">022</span>import java.io.FileNotFoundException;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.io.IOException;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.io.InterruptedIOException;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.lang.reflect.Constructor;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.text.ParseException;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import java.util.AbstractList;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import java.util.ArrayList;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import java.util.Arrays;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import java.util.Collection;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import java.util.Collections;<a name="line.31"></a>
+<span class="sourceLineNo">002</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.2"></a>
+<span class="sourceLineNo">003</span> * or more contributor license agreements.  See the NOTICE file<a name="line.3"></a>
+<span class="sourceLineNo">004</span> * distributed with this work for additional information<a name="line.4"></a>
+<span class="sourceLineNo">005</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.5"></a>
+<span class="sourceLineNo">006</span> * to you under the Apache License, Version 2.0 (the<a name="line.6"></a>
+<span class="sourceLineNo">007</span> * "License"); you may not use this file except in compliance<a name="line.7"></a>
+<span class="sourceLineNo">008</span> * with the License.  You may obtain a copy of the License at<a name="line.8"></a>
+<span class="sourceLineNo">009</span> *<a name="line.9"></a>
+<span class="sourceLineNo">010</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.10"></a>
+<span class="sourceLineNo">011</span> *<a name="line.11"></a>
+<span class="sourceLineNo">012</span> * Unless required by applicable law or agreed to in writing, software<a name="line.12"></a>
+<span class="sourceLineNo">013</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.13"></a>
+<span class="sourceLineNo">014</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.14"></a>
+<span class="sourceLineNo">015</span> * See the License for the specific language governing permissions and<a name="line.15"></a>
+<span class="sourceLineNo">016</span> * limitations under the License.<a name="line.16"></a>
+<span class="sourceLineNo">017</span> */<a name="line.17"></a>
+<span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.regionserver;<a name="line.18"></a>
+<span class="sourceLineNo">019</span><a name="line.19"></a>
+<span class="sourceLineNo">020</span>import java.io.EOFException;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import java.io.FileNotFoundException;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import java.io.IOException;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import java.io.InterruptedIOException;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.lang.reflect.Constructor;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.text.ParseException;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.util.AbstractList;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.util.ArrayList;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import java.util.Arrays;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import java.util.Collection;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import java.util.Collections;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import java.util.Comparator;<a name="line.31"></a>
 <span class="sourceLineNo">032</span>import java.util.HashMap;<a name="line.32"></a>
 <span class="sourceLineNo">033</span>import java.util.HashSet;<a name="line.33"></a>
 <span class="sourceLineNo">034</span>import java.util.Iterator;<a name="line.34"></a>
@@ -49,35 +49,35 @@
 <span class="sourceLineNo">041</span>import java.util.RandomAccess;<a name="line.41"></a>
 <span class="sourceLineNo">042</span>import java.util.Set;<a name="line.42"></a>
 <span class="sourceLineNo">043</span>import java.util.TreeMap;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import java.util.concurrent.Callable;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import java.util.concurrent.CompletionService;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import java.util.concurrent.ConcurrentMap;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import java.util.concurrent.ConcurrentSkipListMap;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import java.util.concurrent.ExecutionException;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import java.util.concurrent.ExecutorCompletionService;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import java.util.concurrent.ExecutorService;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import java.util.concurrent.Executors;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import java.util.concurrent.Future;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import java.util.concurrent.FutureTask;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import java.util.concurrent.ThreadFactory;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import java.util.concurrent.ThreadPoolExecutor;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import java.util.concurrent.TimeUnit;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import java.util.concurrent.TimeoutException;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import java.util.concurrent.atomic.AtomicBoolean;<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.atomic.AtomicLong;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import java.util.concurrent.locks.Lock;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import java.util.concurrent.locks.ReadWriteLock;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import java.util.concurrent.locks.ReentrantReadWriteLock;<a name="line.64"></a>
-<span class="sourceLineNo">065</span><a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.commons.logging.Log;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.commons.logging.LogFactory;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.conf.Configuration;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.fs.FileStatus;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.fs.FileSystem;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.fs.Path;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.ArrayBackedTag;<a name="line.72"></a>
+<span class="sourceLineNo">044</span>import java.util.UUID;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import java.util.concurrent.Callable;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import java.util.concurrent.CompletionService;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import java.util.concurrent.ConcurrentMap;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import java.util.concurrent.ConcurrentSkipListMap;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import java.util.concurrent.ExecutionException;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import java.util.concurrent.ExecutorCompletionService;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import java.util.concurrent.ExecutorService;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import java.util.concurrent.Executors;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import java.util.concurrent.Future;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import java.util.concurrent.FutureTask;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import java.util.concurrent.ThreadFactory;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import java.util.concurrent.ThreadPoolExecutor;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import java.util.concurrent.TimeUnit;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import java.util.concurrent.TimeoutException;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import java.util.concurrent.atomic.AtomicBoolean;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import java.util.concurrent.locks.Lock;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import java.util.concurrent.locks.ReadWriteLock;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import java.util.concurrent.locks.ReentrantReadWriteLock;<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.fs.FileStatus;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.fs.FileSystem;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.fs.Path;<a name="line.72"></a>
 <span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.Cell;<a name="line.73"></a>
 <span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.CellComparator;<a name="line.74"></a>
 <span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.75"></a>
@@ -85,8169 +85,7763 @@
 <span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.CompoundConfiguration;<a name="line.77"></a>
 <span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.78"></a>
 <span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.DroppedSnapshotException;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.HBaseConfiguration;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.HConstants;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.HConstants.OperationStatusCode;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.HDFSBlocksDistribution;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.KeyValue;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.KeyValueUtil;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.RegionTooBusyException;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.ShareableMemory;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.TableName;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.Tag;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.TagRewriteCell;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.TagType;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.TagUtil;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.UnknownScannerException;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.backup.HFileArchiver;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.client.Append;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.client.Durability;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.client.Get;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.client.Increment;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.client.IsolationLevel;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.client.Put;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.client.Result;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.client.RowMutations;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.conf.ConfigurationManager;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.conf.PropagatingConfigurationObserver;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.coprocessor.RegionObserver;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.errorhandling.ForeignExceptionSnare;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.exceptions.FailedSanityCheckException;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.exceptions.RegionInRecoveryException;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.exceptions.UnknownProtocolException;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.filter.ByteArrayComparable;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.filter.FilterWrapper;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.filter.IncompatibleFilterException;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.io.HeapSize;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.io.TimeRange;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.io.hfile.BlockCache;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.io.hfile.CacheConfig;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.io.hfile.HFile;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.ipc.CallerDisconnectedException;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.ipc.RpcCallContext;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.mob.MobUtils;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.monitoring.MonitoredTask;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.protobuf.ResponseConverter;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceCall;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.RegionLoad;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.StoreSequenceId;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor.FlushAction;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor.StoreFlushDescriptor;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor.EventType;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.StoreDescriptor;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.NextState;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.regionserver.compactions.CompactionContext;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.regionserver.throttle.CompactionThroughputControllerFactory;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.regionserver.throttle.NoLimitThroughputController;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.regionserver.throttle.ThroughputController;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.regionserver.wal.HLogKey;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.regionserver.wal.ReplayHLogKey;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.regionserver.wal.WALUtil;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.security.User;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.snapshot.SnapshotDescriptionUtils;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.snapshot.SnapshotManifest;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.util.ByteStringer;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.util.CancelableProgressable;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.util.ClassSize;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.util.CompressionTest;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.util.Counter;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.util.EncryptionTest;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.util.FSTableDescriptors;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.util.HashedBytes;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.Threads;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.wal.WALFactory;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.wal.WALSplitter.MutationReplay;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.io.MultipleIOException;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.util.StringUtils;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.htrace.Trace;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>import org.apache.htrace.TraceScope;<a name="line.186"></a>
-<span class="sourceLineNo">187</span><a name="line.187"></a>
-<span class="sourceLineNo">188</span>import com.google.common.annotations.VisibleForTesting;<a name="line.188"></a>
-<span class="sourceLineNo">189</span>import com.google.common.base.Optional;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>import com.google.common.base.Preconditions;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>import com.google.common.collect.Lists;<a name="line.191"></a>
-<span class="sourceLineNo">192</span>import com.google.common.collect.Maps;<a name="line.192"></a>
-<span class="sourceLineNo">193</span>import com.google.common.io.Closeables;<a name="line.193"></a>
-<span class="sourceLineNo">194</span>import com.google.protobuf.ByteString;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>import com.google.protobuf.Descriptors;<a name="line.195"></a>
-<span class="sourceLineNo">196</span>import com.google.protobuf.Message;<a name="line.196"></a>
-<span class="sourceLineNo">197</span>import com.google.protobuf.RpcCallback;<a name="line.197"></a>
-<span class="sourceLineNo">198</span>import com.google.protobuf.RpcController;<a name="line.198"></a>
-<span class="sourceLineNo">199</span>import com.google.protobuf.Service;<a name="line.199"></a>
-<span class="sourceLineNo">200</span>import com.google.protobuf.TextFormat;<a name="line.200"></a>
-<span class="sourceLineNo">201</span><a name="line.201"></a>
-<span class="sourceLineNo">202</span>@InterfaceAudience.Private<a name="line.202"></a>
-<span class="sourceLineNo">203</span>public class HRegion implements HeapSize, PropagatingConfigurationObserver, Region {<a name="line.203"></a>
-<span class="sourceLineNo">204</span>  private static final Log LOG = LogFactory.getLog(HRegion.class);<a name="line.204"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.HConstants;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.HConstants.OperationStatusCode;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.HDFSBlocksDistribution;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.KeyValue;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.KeyValueUtil;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.RegionTooBusyException;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.ShareableMemory;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.TableName;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.Tag;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.TagRewriteCell;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.TagUtil;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.UnknownScannerException;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.backup.HFileArchiver;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.client.Append;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.client.Durability;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.client.Get;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.client.Increment;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.client.IsolationLevel;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.client.Put;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.client.Result;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.client.RowMutations;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.conf.ConfigurationManager;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.conf.PropagatingConfigurationObserver;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.coprocessor.RegionObserver.MutationType;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.errorhandling.ForeignExceptionSnare;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.exceptions.FailedSanityCheckException;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.exceptions.RegionInRecoveryException;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.exceptions.UnknownProtocolException;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.filter.ByteArrayComparable;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.filter.FilterWrapper;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.filter.IncompatibleFilterException;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.io.HeapSize;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.io.TimeRange;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.io.hfile.HFile;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.ipc.CallerDisconnectedException;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.ipc.RpcCallContext;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.mob.MobUtils;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.monitoring.MonitoredTask;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.protobuf.ResponseConverter;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceCall;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.RegionLoad;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.StoreSequenceId;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor.FlushAction;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor.StoreFlushDescriptor;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor.EventType;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.StoreDescriptor;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl.WriteEntry;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.NextState;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.regionserver.compactions.CompactionContext;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.regionserver.throttle.CompactionThroughputControllerFactory;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.regionserver.throttle.NoLimitThroughputController;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.regionserver.throttle.ThroughputController;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.regionserver.wal.HLogKey;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.regionserver.wal.ReplayHLogKey;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.regionserver.wal.WALUtil;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.security.User;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.snapshot.SnapshotDescriptionUtils;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.snapshot.SnapshotManifest;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.util.ByteStringer;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.util.CancelableProgressable;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.util.ClassSize;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.util.CompressionTest;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.util.Counter;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.util.EncryptionTest;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.util.HashedBytes;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.util.Threads;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.wal.WALFactory;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.wal.WALSplitter.MutationReplay;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>import org.apache.hadoop.io.MultipleIOException;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>import org.apache.hadoop.util.StringUtils;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>import org.apache.htrace.Trace;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.htrace.TraceScope;<a name="line.182"></a>
+<span class="sourceLineNo">183</span><a name="line.183"></a>
+<span class="sourceLineNo">184</span>import com.google.common.annotations.VisibleForTesting;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import com.google.common.base.Optional;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import com.google.common.base.Preconditions;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import com.google.common.collect.Lists;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>import com.google.common.collect.Maps;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>import com.google.common.io.Closeables;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>import com.google.protobuf.ByteString;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>import com.google.protobuf.Descriptors;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>import com.google.protobuf.Message;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>import com.google.protobuf.RpcCallback;<a name="line.193"></a>
+<span class="sourceLineNo">194</span>import com.google.protobuf.RpcController;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>import com.google.protobuf.Service;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>import com.google.protobuf.TextFormat;<a name="line.196"></a>
+<span class="sourceLineNo">197</span><a name="line.197"></a>
+<span class="sourceLineNo">198</span>@SuppressWarnings("deprecation")<a name="line.198"></a>
+<span class="sourceLineNo">199</span>@InterfaceAudience.Private<a name="line.199"></a>
+<span class="sourceLineNo">200</span>public class HRegion implements HeapSize, PropagatingConfigurationObserver, Region {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>  private static final Log LOG = LogFactory.getLog(HRegion.class);<a name="line.201"></a>
+<span class="sourceLineNo">202</span><a name="line.202"></a>
+<span class="sourceLineNo">203</span>  public static final String LOAD_CFS_ON_DEMAND_CONFIG_KEY =<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    "hbase.hregion.scan.loadColumnFamiliesOnDemand";<a name="line.204"></a>
 <span class="sourceLineNo">205</span><a name="line.205"></a>
-<span class="sourceLineNo">206</span>  public static final String LOAD_CFS_ON_DEMAND_CONFIG_KEY =<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    "hbase.hregion.scan.loadColumnFamiliesOnDemand";<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>   * Longest time we'll wait on a sequenceid.<a name="line.210"></a>
-<span class="sourceLineNo">211</span>   * Sequenceid comes up out of the WAL subsystem. WAL subsystem can go bad or a test might use<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   * it without cleaning up previous usage properly; generally, a WAL roll is needed. The timeout<a name="line.212"></a>
-<span class="sourceLineNo">213</span>   * is for a latch in WALKey. There is no global accounting of outstanding WALKeys; intentionally<a name="line.213"></a>
-<span class="sourceLineNo">214</span>   * to avoid contention, but it makes it so if an abort or problem, we could be stuck waiting<a name="line.214"></a>
-<span class="sourceLineNo">215</span>   * on the WALKey latch. Revisit.<a name="line.215"></a>
-<span class="sourceLineNo">216</span>   */<a name="line.216"></a>
-<span class="sourceLineNo">217</span>  private final int maxWaitForSeqId;<a name="line.217"></a>
-<span class="sourceLineNo">218</span>  private static final String MAX_WAIT_FOR_SEQ_ID_KEY = "hbase.hregion.max.wait.for.sequenceid.ms";<a name="line.218"></a>
-<span class="sourceLineNo">219</span>  private static final int DEFAULT_MAX_WAIT_FOR_SEQ_ID = 30000;<a name="line.219"></a>
+<span class="sourceLineNo">206</span>  /**<a name="line.206"></a>
+<span class="sourceLineNo">207</span>   * This is the global default value for durability. All tables/mutations not<a name="line.207"></a>
+<span class="sourceLineNo">208</span>   * defining a durability or using USE_DEFAULT will default to this value.<a name="line.208"></a>
+<span class="sourceLineNo">209</span>   */<a name="line.209"></a>
+<span class="sourceLineNo">210</span>  private static final Durability DEFAULT_DURABILITY = Durability.SYNC_WAL;<a name="line.210"></a>
+<span class="sourceLineNo">211</span><a name="line.211"></a>
+<span class="sourceLineNo">212</span>  final AtomicBoolean closed = new AtomicBoolean(false);<a name="line.212"></a>
+<span class="sourceLineNo">213</span><a name="line.213"></a>
+<span class="sourceLineNo">214</span>  /* Closing can take some time; use the closing flag if there is stuff we don't<a name="line.214"></a>
+<span class="sourceLineNo">215</span>   * want to do while in closing state; e.g. like offer this region up to the<a name="line.215"></a>
+<span class="sourceLineNo">216</span>   * master as a region to close if the carrying regionserver is overloaded.<a name="line.216"></a>
+<span class="sourceLineNo">217</span>   * Once set, it is never cleared.<a name="line.217"></a>
+<span class="sourceLineNo">218</span>   */<a name="line.218"></a>
+<span class="sourceLineNo">219</span>  final AtomicBoolean closing = new AtomicBoolean(false);<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>   * This is the global default value for durability. All tables/mutations not<a name="line.222"></a>
-<span class="sourceLineNo">223</span>   * defining a durability or using USE_DEFAULT will default to this value.<a name="line.223"></a>
+<span class="sourceLineNo">222</span>   * The max sequence id of flushed data on this region. There is no edit in memory that is<a name="line.222"></a>
+<span class="sourceLineNo">223</span>   * less that this sequence id.<a name="line.223"></a>
 <span class="sourceLineNo">224</span>   */<a name="line.224"></a>
-<span class="sourceLineNo">225</span>  private static final Durability DEFAULT_DURABILITY = Durability.SYNC_WAL;<a name="line.225"></a>
+<span class="sourceLineNo">225</span>  private volatile long maxFlushedSeqId = HConstants.NO_SEQNUM;<a name="line.225"></a>
 <span class="sourceLineNo">226</span><a name="line.226"></a>
-<span class="sourceLineNo">227</span>  final AtomicBoolean closed = new AtomicBoolean(false);<a name="line.227"></a>
-<span class="sourceLineNo">228</span><a name="line.228"></a>
-<span class="sourceLineNo">229</span>  /* Closing can take some time; use the closing flag if there is stuff we don't<a name="line.229"></a>
-<span class="sourceLineNo">230</span>   * want to do while in closing state; e.g. like offer this region up to the<a name="line.230"></a>
-<span class="sourceLineNo">231</span>   * master as a region to close if the carrying regionserver is overloaded.<a name="line.231"></a>
-<span class="sourceLineNo">232</span>   * Once set, it is never cleared.<a name="line.232"></a>
-<span class="sourceLineNo">233</span>   */<a name="line.233"></a>
-<span class="sourceLineNo">234</span>  final AtomicBoolean closing = new AtomicBoolean(false);<a name="line.234"></a>
-<span class="sourceLineNo">235</span><a name="line.235"></a>
-<span class="sourceLineNo">236</span>  /**<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   * The max sequence id of flushed data on this region. There is no edit in memory that is<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   * less that this sequence id.<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   */<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  private volatile long maxFlushedSeqId = HConstants.NO_SEQNUM;<a name="line.240"></a>
+<span class="sourceLineNo">227</span>  /**<a name="line.227"></a>
+<span class="sourceLineNo">228</span>   * Record the sequence id of last flush operation. Can be in advance of<a name="line.228"></a>
+<span class="sourceLineNo">229</span>   * {@link #maxFlushedSeqId} when flushing a single column family. In this case,<a name="line.229"></a>
+<span class="sourceLineNo">230</span>   * {@link #maxFlushedSeqId} will be older than the oldest edit in memory.<a name="line.230"></a>
+<span class="sourceLineNo">231</span>   */<a name="line.231"></a>
+<span class="sourceLineNo">232</span>  private volatile long lastFlushOpSeqId = HConstants.NO_SEQNUM;<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>   * The sequence id of the last replayed open region event from the primary region. This is used<a name="line.235"></a>
+<span class="sourceLineNo">236</span>   * to skip entries before this due to the possibility of replay edits coming out of order from<a name="line.236"></a>
+<span class="sourceLineNo">237</span>   * replication.<a name="line.237"></a>
+<span class="sourceLineNo">238</span>   */<a name="line.238"></a>
+<span class="sourceLineNo">239</span>  protected volatile long lastReplayedOpenRegionSeqId = -1L;<a name="line.239"></a>
+<span class="sourceLineNo">240</span>  protected volatile long lastReplayedCompactionSeqId = -1L;<a name="line.240"></a>
 <span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>  /**<a name="line.242"></a>
-<span class="sourceLineNo">243</span>   * Record the sequence id of last flush operation. Can be in advance of<a name="line.243"></a>
-<span class="sourceLineNo">244</span>   * {@link #maxFlushedSeqId} when flushing a single column family. In this case,<a name="line.244"></a>
-<span class="sourceLineNo">245</span>   * {@link #maxFlushedSeqId} will be older than the oldest edit in memory.<a name="line.245"></a>
-<span class="sourceLineNo">246</span>   */<a name="line.246"></a>
-<span class="sourceLineNo">247</span>  private volatile long lastFlushOpSeqId = HConstants.NO_SEQNUM;<a name="line.247"></a>
-<span class="sourceLineNo">248</span><a name="line.248"></a>
-<span class="sourceLineNo">249</span>  /**<a name="line.249"></a>
-<span class="sourceLineNo">250</span>   * The sequence id of the last replayed open region event from the primary region. This is used<a name="line.250"></a>
-<span class="sourceLineNo">251</span>   * to skip entries before this due to the possibility of replay edits coming out of order from<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * replication.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  protected volatile long lastReplayedOpenRegionSeqId = -1L;<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  protected volatile long lastReplayedCompactionSeqId = -1L;<a name="line.255"></a>
+<span class="sourceLineNo">242</span>  //////////////////////////////////////////////////////////////////////////////<a name="line.242"></a>
+<span class="sourceLineNo">243</span>  // Members<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>  // map from a locked row to the context for that lock including:<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  // - CountDownLatch for threads waiting on that row<a name="line.247"></a>
+<span class="sourceLineNo">248</span>  // - the thread that owns the lock (allow reentrancy)<a name="line.248"></a>
+<span class="sourceLineNo">249</span>  // - reference count of (reentrant) locks held by the thread<a name="line.249"></a>
+<span class="sourceLineNo">250</span>  // - the row itself<a name="line.250"></a>
+<span class="sourceLineNo">251</span>  private final ConcurrentHashMap&lt;HashedBytes, RowLockContext&gt; lockedRows =<a name="line.251"></a>
+<span class="sourceLineNo">252</span>      new ConcurrentHashMap&lt;HashedBytes, RowLockContext&gt;();<a name="line.252"></a>
+<span class="sourceLineNo">253</span><a name="line.253"></a>
+<span class="sourceLineNo">254</span>  protected final Map&lt;byte[], Store&gt; stores = new ConcurrentSkipListMap&lt;byte[], Store&gt;(<a name="line.254"></a>
+<span class="sourceLineNo">255</span>      Bytes.BYTES_RAWCOMPARATOR);<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>  // Members<a name="line.258"></a>
-<span class="sourceLineNo">259</span>  //////////////////////////////////////////////////////////////////////////////<a name="line.259"></a>
-<span class="sourceLineNo">260</span><a name="line.260"></a>
-<span class="sourceLineNo">261</span>  // map from a locked row to the context for that lock including:<a name="line.261"></a>
-<span class="sourceLineNo">262</span>  // - CountDownLatch for threads waiting on that row<a name="line.262"></a>
-<span class="sourceLineNo">263</span>  // - the thread that owns the lock (allow reentrancy)<a name="line.263"></a>
-<span class="sourceLineNo">264</span>  // - reference count of (reentrant) locks held by the thread<a name="line.264"></a>
-<span class="sourceLineNo">265</span>  // - the row itself<a name="line.265"></a>
-<span class="sourceLineNo">266</span>  private final ConcurrentHashMap&lt;HashedBytes, RowLockContext&gt; lockedRows =<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      new ConcurrentHashMap&lt;HashedBytes, RowLockContext&gt;();<a name="line.267"></a>
-<span class="sourceLineNo">268</span><a name="line.268"></a>
-<span class="sourceLineNo">269</span>  protected final Map&lt;byte[], Store&gt; stores = new ConcurrentSkipListMap&lt;byte[], Store&gt;(<a name="line.269"></a>
-<span class="sourceLineNo">270</span>      Bytes.BYTES_RAWCOMPARATOR);<a name="line.270"></a>
-<span class="sourceLineNo">271</span><a name="line.271"></a>
-<span class="sourceLineNo">272</span>  // TODO: account for each registered handler in HeapSize computation<a name="line.272"></a>
-<span class="sourceLineNo">273</span>  private Map&lt;String, Service&gt; coprocessorServiceHandlers = Maps.newHashMap();<a name="line.273"></a>
+<span class="sourceLineNo">257</span>  // TODO: account for each registered handler in HeapSize computation<a name="line.257"></a>
+<span class="sourceLineNo">258</span>  private Map&lt;String, Service&gt; coprocessorServiceHandlers = Maps.newHashMap();<a name="line.258"></a>
+<span class="sourceLineNo">259</span><a name="line.259"></a>
+<span class="sourceLineNo">260</span>  private final AtomicLong memstoreSize = new AtomicLong(0);<a name="line.260"></a>
+<span class="sourceLineNo">261</span><a name="line.261"></a>
+<span class="sourceLineNo">262</span>  // Debug possible data loss due to WAL off<a name="line.262"></a>
+<span class="sourceLineNo">263</span>  final Counter numMutationsWithoutWAL = new Counter();<a name="line.263"></a>
+<span class="sourceLineNo">264</span>  final Counter dataInMemoryWithoutWAL = new Counter();<a name="line.264"></a>
+<span class="sourceLineNo">265</span><a name="line.265"></a>
+<span class="sourceLineNo">266</span>  // Debug why CAS operations are taking a while.<a name="line.266"></a>
+<span class="sourceLineNo">267</span>  final Counter checkAndMutateChecksPassed = new Counter();<a name="line.267"></a>
+<span class="sourceLineNo">268</span>  final Counter checkAndMutateChecksFailed = new Counter();<a name="line.268"></a>
+<span class="sourceLineNo">269</span><a name="line.269"></a>
+<span class="sourceLineNo">270</span>  // Number of requests<a name="line.270"></a>
+<span class="sourceLineNo">271</span>  final Counter readRequestsCount = new Counter();<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  final Counter filteredReadRequestsCount = new Counter();<a name="line.272"></a>
+<span class="sourceLineNo">273</span>  final Counter writeRequestsCount = new Counter();<a name="line.273"></a>
 <span class="sourceLineNo">274</span><a name="line.274"></a>
-<span class="sourceLineNo">275</span>  private final AtomicLong memstoreSize = new AtomicLong(0);<a name="line.275"></a>
-<span class="sourceLineNo">276</span><a name="line.276"></a>
-<span class="sourceLineNo">277</span>  // Debug possible data loss due to WAL off<a name="line.277"></a>
-<span class="sourceLineNo">278</span>  final Counter numMutationsWithoutWAL = new Counter();<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  final Counter dataInMemoryWithoutWAL = new Counter();<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  // Debug why CAS operations are taking a while.<a name="line.281"></a>
-<span class="sourceLineNo">282</span>  final Counter checkAndMutateChecksPassed = new Counter();<a name="line.282"></a>
-<span class="sourceLineNo">283</span>  final Counter checkAndMutateChecksFailed = new Counter();<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>  //Number of requests<a name="line.285"></a>
-<span class="sourceLineNo">286</span>  final Counter readRequestsCount = new Counter();<a name="line.286"></a>
-<span class="sourceLineNo">287</span>  final Counter filteredReadRequestsCount = new Counter();<a name="line.287"></a>
-<span class="sourceLineNo">288</span>  final Counter writeRequestsCount = new Counter();<a name="line.288"></a>
-<span class="sourceLineNo">289</span><a name="line.289"></a>
-<span class="sourceLineNo">290</span>  // Number of requests blocked by memstore size.<a name="line.290"></a>
-<span class="sourceLineNo">291</span>  private final Counter blockedRequestsCount = new Counter();<a name="line.291"></a>
-<span class="sourceLineNo">292</span><a name="line.292"></a>
-<span class="sourceLineNo">293</span>  // Compaction counters<a name="line.293"></a>
-<span class="sourceLineNo">294</span>  final AtomicLong compactionsFinished = new AtomicLong(0L);<a name="line.294"></a>
-<span class="sourceLineNo">295</span>  final AtomicLong compactionNumFilesCompacted = new AtomicLong(0L);<a name="line.295"></a>
-<span class="sourceLineNo">296</span>  final AtomicLong compactionNumBytesCompacted = new AtomicLong(0L);<a name="line.296"></a>
-<span class="sourceLineNo">297</span><a name="line.297"></a>
-<span class="sourceLineNo">298</span>  private final WAL wal;<a name="line.298"></a>
-<span class="sourceLineNo">299</span>  private final HRegionFileSystem fs;<a name="line.299"></a>
-<span class="sourceLineNo">300</span>  protected final Configuration conf;<a name="line.300"></a>
-<span class="sourceLineNo">301</span>  private final Configuration baseConf;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  private final int rowLockWaitDuration;<a name="line.302"></a>
-<span class="sourceLineNo">303</span>  private CompactedHFilesDischarger compactedFileDischarger;<a name="line.303"></a>
-<span class="sourceLineNo">304</span>  static final int DEFAULT_ROWLOCK_WAIT_DURATION = 30000;<a name="line.304"></a>
-<span class="sourceLineNo">305</span><a name="line.305"></a>
-<span class="sourceLineNo">306</span>  // The internal wait duration to acquire a lock before read/update<a name="line.306"></a>
-<span class="sourceLineNo">307</span>  // from the region. It is not per row. The purpose of this wait time<a name="line.307"></a>
-<span class="sourceLineNo">308</span>  // is to avoid waiting a long time while the region is busy, so that<a name="line.308"></a>
-<span class="sourceLineNo">309</span>  // we can release the IPC handler soon enough to improve the<a name="line.309"></a>
-<span class="sourceLineNo">310</span>  // availability of the region server. It can be adjusted by<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  // tuning configuration "hbase.busy.wait.duration".<a name="line.311"></a>
-<span class="sourceLineNo">312</span>  final long busyWaitDuration;<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  static final long DEFAULT_BUSY_WAIT_DURATION = HConstants.DEFAULT_HBASE_RPC_TIMEOUT;<a name="line.313"></a>
+<span class="sourceLineNo">275</span>  // Number of requests blocked by memstore size.<a name="line.275"></a>
+<span class="sourceLineNo">276</span>  private final Counter blockedRequestsCount = new Counter();<a name="line.276"></a>
+<span class="sourceLineNo">277</span><a name="line.277"></a>
+<span class="sourceLineNo">278</span>  // Compaction counters<a name="line.278"></a>
+<span class="sourceLineNo">279</span>  final AtomicLong compactionsFinished = new AtomicLong(0L);<a name="line.279"></a>
+<span class="sourceLineNo">280</span>  final AtomicLong compactionNumFilesCompacted = new AtomicLong(0L);<a name="line.280"></a>
+<span class="sourceLineNo">281</span>  final AtomicLong compactionNumBytesCompacted = new AtomicLong(0L);<a name="line.281"></a>
+<span class="sourceLineNo">282</span><a name="line.282"></a>
+<span class="sourceLineNo">283</span>  private final WAL wal;<a name="line.283"></a>
+<span class="sourceLineNo">284</span>  private final HRegionFileSystem fs;<a name="line.284"></a>
+<span class="sourceLineNo">285</span>  protected final Configuration conf;<a name="line.285"></a>
+<span class="sourceLineNo">286</span>  private final Configuration baseConf;<a name="line.286"></a>
+<span class="sourceLineNo">287</span>  private final int rowLockWaitDuration;<a name="line.287"></a>
+<span class="sourceLineNo">288</span>  private CompactedHFilesDischarger compactedFileDischarger;<a name="line.288"></a>
+<span class="sourceLineNo">289</span>  static final int DEFAULT_ROWLOCK_WAIT_DURATION = 30000;<a name="line.289"></a>
+<span class="sourceLineNo">290</span><a name="line.290"></a>
+<span class="sourceLineNo">291</span>  // The internal wait duration to acquire a lock before read/update<a name="line.291"></a>
+<span class="sourceLineNo">292</span>  // from the region. It is not per row. The purpose of this wait time<a name="line.292"></a>
+<span class="sourceLineNo">293</span>  // is to avoid waiting a long time while the region is busy, so that<a name="line.293"></a>
+<span class="sourceLineNo">294</span>  // we can release the IPC handler soon enough to improve the<a name="line.294"></a>
+<span class="sourceLineNo">295</span>  // availability of the region server. It can be adjusted by<a name="line.295"></a>
+<span class="sourceLineNo">296</span>  // tuning configuration "hbase.busy.wait.duration".<a name="line.296"></a>
+<span class="sourceLineNo">297</span>  final long busyWaitDuration;<a name="line.297"></a>
+<span class="sourceLineNo">298</span>  static final long DEFAULT_BUSY_WAIT_DURATION = HConstants.DEFAULT_HBASE_RPC_TIMEOUT;<a name="line.298"></a>
+<span class="sourceLineNo">299</span><a name="line.299"></a>
+<span class="sourceLineNo">300</span>  // If updating multiple rows in one call, wait longer,<a name="line.300"></a>
+<span class="sourceLineNo">301</span>  // i.e. waiting for busyWaitDuration * # of rows. However,<a name="line.301"></a>
+<span class="sourceLineNo">302</span>  // we can limit the max multiplier.<a name="line.302"></a>
+<span class="sourceLineNo">303</span>  final int maxBusyWaitMultiplier;<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span>  // Max busy wait duration. There is no point to wait longer than the RPC<a name="line.305"></a>
+<span class="sourceLineNo">306</span>  // purge timeout, when a RPC call will be terminated by the RPC engine.<a name="line.306"></a>
+<span class="sourceLineNo">307</span>  final long maxBusyWaitDuration;<a name="line.307"></a>
+<span class="sourceLineNo">308</span><a name="line.308"></a>
+<span class="sourceLineNo">309</span>  // negative number indicates infinite timeout<a name="line.309"></a>
+<span class="sourceLineNo">310</span>  static final long DEFAULT_ROW_PROCESSOR_TIMEOUT = 60 * 1000L;<a name="line.310"></a>
+<span class="sourceLineNo">311</span>  final ExecutorService rowProcessorExecutor = Executors.newCachedThreadPool();<a name="line.311"></a>
+<span class="sourceLineNo">312</span><a name="line.312"></a>
+<span class="sourceLineNo">313</span>  private final ConcurrentHashMap&lt;RegionScanner, Long&gt; scannerReadPoints;<a name="line.313"></a>
 <span class="sourceLineNo">314</span><a name="line.314"></a>
-<span class="sourceLineNo">315</span>  // If updating multiple rows in one call, wait longer,<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  // i.e. waiting for busyWaitDuration * # of rows. However,<a name="line.316"></a>
-<span class="sourceLineNo">317</span>  // we can limit the max multiplier.<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  final int maxBusyWaitMultiplier;<a name="line.318"></a>
+<span class="sourceLineNo">315</span>  /**<a name="line.315"></a>
+<span class="sourceLineNo">316</span>   * The sequence ID that was encountered when this region was opened.<a name="line.316"></a>
+<span class="sourceLineNo">317</span>   */<a name="line.317"></a>
+<span class="sourceLineNo">318</span>  private long openSeqNum = HConstants.NO_SEQNUM;<a name="line.318"></a>
 <span class="sourceLineNo">319</span><a name="line.319"></a>
-<span class="sourceLineNo">320</span>  // Max busy wait duration. There is no point to wait longer than the RPC<a name="line.320"></a>
-<span class="sourceLineNo">321</span>  // purge timeout, when a RPC call will be terminated by the RPC engine.<a name="line.321"></a>
-<span class="sourceLineNo">322</span>  final long maxBusyWaitDuration;<a name="line.322"></a>
-<span class="sourceLineNo">323</span><a name="line.323"></a>
-<span class="sourceLineNo">324</span>  // negative number indicates infinite timeout<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  static final long DEFAULT_ROW_PROCESSOR_TIMEOUT = 60 * 1000L;<a name="line.325"></a>
-<span class="sourceLineNo">326</span>  final ExecutorService rowProcessorExecutor = Executors.newCachedThreadPool();<a name="line.326"></a>
-<span class="sourceLineNo">327</span><a name="line.327"></a>
-<span class="sourceLineNo">328</span>  private final ConcurrentHashMap&lt;RegionScanner, Long&gt; scannerReadPoints;<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>   * The sequence ID that was encountered when this region was opened.<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   */<a name="line.332"></a>
-<span class="sourceLineNo">333</span>  private long openSeqNum = HConstants.NO_SEQNUM;<a name="line.333"></a>
-<span class="sourceLineNo">334</span><a name="line.334"></a>
-<span class="sourceLineNo">335</span>  /**<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   * The default setting for whether to enable on-demand CF loading for<a name="line.336"></a>
-<span class="sourceLineNo">337</span>   * scan requests to this region. Requests can override it.<a name="line.337"></a>
-<span class="sourceLineNo">338</span>   */<a name="line.338"></a>
-<span class="sourceLineNo">339</span>  private boolean isLoadingCfsOnDemandDefault = false;<a name="line.339"></a>
-<span class="sourceLineNo">340</span><a name="line.340"></a>
-<span class="sourceLineNo">341</span>  private final AtomicInteger majorInProgress = new AtomicInteger(0);<a name="line.341"></a>
-<span class="sourceLineNo">342</span>  private final AtomicInteger minorInProgress = new AtomicInteger(0);<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>  // Context: During replay we want to ensure that we do not lose any data. So, we<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  // have to be conservative in how we replay wals. For each store, we calculate<a name="line.346"></a>
-<span class="sourceLineNo">347</span>  // the maxSeqId up to which the store was flushed. And, skip the edits which<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  // are equal to or lower than maxSeqId for each store.<a name="line.348"></a>
-<span class="sourceLineNo">349</span>  // The following map is populated when opening the region<a name="line.349"></a>
-<span class="sourceLineNo">350</span>  Map&lt;byte[], Long&gt; maxSeqIdInStores = new TreeMap&lt;byte[], Long&gt;(Bytes.BYTES_COMPARATOR);<a name="line.350"></a>
-<span class="sourceLineNo">351</span><a name="line.351"></a>
-<span class="sourceLineNo">352</span>  /** Saved state from replaying prepare flush cache */<a name="line.352"></a>
-<span class="sourceLineNo">353</span>  private PrepareFlushResult prepareFlushResult = null;<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>   * Config setting for whether to allow writes when a region is in recovering or not.<a name="line.356"></a>
-<span class="sourceLineNo">357</span>   */<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  private boolean disallowWritesInRecovering = false;<a name="line.358"></a>
-<span class="sourceLineNo">359</span><a name="line.359"></a>
-<span class="sourceLineNo">360</span>  // when a region is in recovering state, it can only accept writes not reads<a name="line.360"></a>
-<span class="sourceLineNo">361</span>  private volatile boolean recovering = false;<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>  private volatile Optional&lt;ConfigurationManager&gt; configurationManager;<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>   * @return The smallest mvcc readPoint across all the scanners in this<a name="line.366"></a>
-<span class="sourceLineNo">367</span>   * region. Writes older than this readPoint, are included in every<a name="line.367"></a>
-<span class="sourceLineNo">368</span>   * read operation.<a name="line.368"></a>
-<span class="sourceLineNo">369</span>   */<a name="line.369"></a>
-<span class="sourceLineNo">370</span>  public long getSmallestReadPoint() {<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    long minimumReadPoint;<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    // We need to ensure that while we are calculating the smallestReadPoint<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    // no new RegionScanners can grab a readPoint that we are unaware of.<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    // We achieve this by synchronizing on the scannerReadPoints object.<a name="line.374"></a>
-<span class="sourceLineNo">375</span>    synchronized(scannerReadPoints) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>      minimumReadPoint = mvcc.getReadPoint();<a name="line.376"></a>
-<span class="sourceLineNo">377</span><a name="line.377"></a>
-<span class="sourceLineNo">378</span>      for (Long readPoint: this.scannerReadPoints.values()) {<a name="line.378"></a>
-<span class="sourceLineNo">379</span>        if (readPoint &lt; minimumReadPoint) {<a name="line.379"></a>
-<span class="sourceLineNo">380</span>          minimumReadPoint = readPoint;<a name="line.380"></a>
-<span class="sourceLineNo">381</span>        }<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      }<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    }<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    return minimumReadPoint;<a name="line.384"></a>
-<span class="sourceLineNo">385</span>  }<a name="line.385"></a>
-<span class="sourceLineNo">386</span><a name="line.386"></a>
-<span class="sourceLineNo">387</span>  /*<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * Data structure of write state flags used coordinating flushes,<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   * compactions and closes.<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   */<a name="line.390"></a>
-<span class="sourceLineNo">391</span>  static class WriteState {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    // Set while a memstore flush is happening.<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    volatile boolean flushing = false;<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    // Set when a flush has been requested.<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    volatile boolean flushRequested = false;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    // Number of compactions running.<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    AtomicInteger compacting = new AtomicInteger(0);<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    // Gets set in close. If set, cannot compact or flush again.<a name="line.398"></a>
-<span class="sourceLineNo">399</span>    volatile boolean writesEnabled = true;<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    // Set if region is read-only<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    volatile boolean readOnly = false;<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    // whether the reads are enabled. This is different than readOnly, because readOnly is<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    // static in the lifetime of the region, while readsEnabled is dynamic<a name="line.403"></a>
-<span class="sourceLineNo">404</span>    volatile boolean readsEnabled = true;<a name="line.404"></a>
-<span class="sourceLineNo">405</span><a name="line.405"></a>
-<span class="sourceLineNo">406</span>    /**<a name="line.406"></a>
-<span class="sourceLineNo">407</span>     * Set flags that make this region read-only.<a name="line.407"></a>
-<span class="sourceLineNo">408</span>     *<a name="line.408"></a>
-<span class="sourceLineNo">409</span>     * @param onOff flip value for region r/o setting<a name="line.409"></a>
-<span class="sourceLineNo">410</span>     */<a name="line.410"></a>
-<span class="sourceLineNo">411</span>    synchronized void setReadOnly(final boolean onOff) {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      this.writesEnabled = !onOff;<a name="line.412"></a>
-<span class="sourceLineNo">413</span>      this.readOnly = onOff;<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    }<a name="line.414"></a>
+<span class="sourceLineNo">320</span>  /**<a name="line.320"></a>
+<span class="sourceLineNo">321</span>   * The default setting for whether to enable on-demand CF loading for<a name="line.321"></a>
+<span class="sourceLineNo">322</span>   * scan requests to this region. Requests can override it.<a name="line.322"></a>
+<span class="sourceLineNo">323</span>   */<a name="line.323"></a>
+<span class="sourceLineNo">324</span>  private boolean isLoadingCfsOnDemandDefault = false;<a name="line.324"></a>
+<span class="sourceLineNo">325</span><a name="line.325"></a>
+<span class="sourceLineNo">326</span>  private final AtomicInteger majorInProgress = new AtomicInteger(0);<a name="line.326"></a>
+<span class="sourceLineNo">327</span>  private final AtomicInteger minorInProgress = new AtomicInteger(0);<a name="line.327"></a>
+<span class="sourceLineNo">328</span><a name="line.328"></a>
+<span class="sourceLineNo">329</span>  //<a name="line.329"></a>
+<span class="sourceLineNo">330</span>  // Context: During replay we want to ensure that we do not lose any data. So, we<a name="line.330"></a>
+<span class="sourceLineNo">331</span>  // have to be conservative in how we replay wals. For each store, we calculate<a name="line.331"></a>
+<span class="sourceLineNo">332</span>  // the maxSeqId up to which the store was flushed. And, skip the edits which<a name="line.332"></a>
+<span class="sourceLineNo">333</span>  // are equal to or lower than maxSeqId for each store.<a name="line.333"></a>
+<span class="sourceLineNo">334</span>  // The following map is populated when opening the region<a name="line.334"></a>
+<span class="sourceLineNo">335</span>  Map&lt;byte[], Long&gt; maxSeqIdInStores = new TreeMap&lt;byte[], Long&gt;(Bytes.BYTES_COMPARATOR);<a name="line.335"></a>
+<span class="sourceLineNo">336</span><a name="line.336"></a>
+<span class="sourceLineNo">337</span>  /** Saved state from replaying prepare flush cache */<a name="line.337"></a>
+<span class="sourceLineNo">338</span>  private PrepareFlushResult prepareFlushResult = null;<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>   * Config setting for whether to allow writes when a region is in recovering or not.<a name="line.341"></a>
+<span class="sourceLineNo">342</span>   */<a name="line.342"></a>
+<span class="sourceLineNo">343</span>  private boolean disallowWritesInRecovering = false;<a name="line.343"></a>
+<span class="sourceLineNo">344</span><a name="line.344"></a>
+<span class="sourceLineNo">345</span>  // When a region is in recovering state, it can only accept writes not reads<a name="line.345"></a>
+<span class="sourceLineNo">346</span>  private volatile boolean recovering = false;<a name="line.346"></a>
+<span class="sourceLineNo">347</span><a name="line.347"></a>
+<span class="sourceLineNo">348</span>  private volatile Optional&lt;ConfigurationManager&gt; configurationManager;<a name="line.348"></a>
+<span class="sourceLineNo">349</span><a name="line.349"></a>
+<span class="sourceLineNo">350</span>  /**<a name="line.350"></a>
+<span class="sourceLineNo">351</span>   * @return The smallest mvcc readPoint across all the scanners in this<a name="line.351"></a>
+<span class="sourceLineNo">352</span>   * region. Writes older than this readPoint, are included in every<a name="line.352"></a>
+<span class="sourceLineNo">353</span>   * read operation.<a name="line.353"></a>
+<span class="sourceLineNo">354</span>   */<a name="line.354"></a>
+<span class="sourceLineNo">355</span>  public long getSmallestReadPoint() {<a name="line.355"></a>
+<span class="sourceLineNo">356</span>    long minimumReadPoint;<a name="line.356"></a>
+<span class="sourceLineNo">357</span>    // We need to ensure that while we are calculating the smallestReadPoint<a name="line.357"></a>
+<span class="sourceLineNo">358</span>    // no new RegionScanners can grab a readPoint that we are unaware of.<a name="line.358"></a>
+<span class="sourceLineNo">359</span>    // We achieve this by synchronizing on the scannerReadPoints object.<a name="line.359"></a>
+<span class="sourceLineNo">360</span>    synchronized(scannerReadPoints) {<a name="line.360"></a>
+<span class="sourceLineNo">361</span>      minimumReadPoint = mvcc.getReadPoint();<a name="line.361"></a>
+<span class="sourceLineNo">362</span>      for (Long readPoint: this.scannerReadPoints.values()) {<a name="line.362"></a>
+<span class="sourceLineNo">363</span>        if (readPoint &lt; minimumReadPoint) {<a name="line.363"></a>
+<span class="sourceLineNo">364</span>          minimumReadPoint = readPoint;<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>    return minimumReadPoint;<a name="line.368"></a>
+<span class="sourceLineNo">369</span>  }<a name="line.369"></a>
+<span class="sourceLineNo">370</span><a name="line.370"></a>
+<span class="sourceLineNo">371</span>  /*<a name="line.371"></a>
+<span class="sourceLineNo">372</span>   * Data structure of write state flags used coordinating flushes,<a name="line.372"></a>
+<span class="sourceLineNo">373</span>   * compactions and closes.<a name="line.373"></a>
+<span class="sourceLineNo">374</span>   */<a name="line.374"></a>
+<span class="sourceLineNo">375</span>  static class WriteState {<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    // Set while a memstore flush is happening.<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    volatile boolean flushing = false;<a name="line.377"></a>
+<span class="sourceLineNo">378</span>    // Set when a flush has been requested.<a name="line.378"></a>
+<span class="sourceLineNo">379</span>    volatile boolean flushRequested = false;<a name="line.379"></a>
+<span class="sourceLineNo">380</span>    // Number of compactions running.<a name="line.380"></a>
+<span class="sourceLineNo">381</span>    AtomicInteger compacting = new AtomicInteger(0);<a name="line.381"></a>
+<span class="sourceLineNo">382</span>    // Gets set in close. If set, cannot compact or flush again.<a name="line.382"></a>
+<span class="sourceLineNo">383</span>    volatile boolean writesEnabled = true;<a name="line.383"></a>
+<span class="sourceLineNo">384</span>    // Set if region is read-only<a name="line.384"></a>
+<span class="sourceLineNo">385</span>    volatile boolean readOnly = false;<a name="line.385"></a>
+<span class="sourceLineNo">386</span>    // whether the reads are enabled. This is different than readOnly, because readOnly is<a name="line.386"></a>
+<span class="sourceLineNo">387</span>    // static in the lifetime of the region, while readsEnabled is dynamic<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    volatile boolean readsEnabled = true;<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>     * Set flags that make this region read-only.<a name="line.391"></a>
+<span class="sourceLineNo">392</span>     *<a name="line.392"></a>
+<span class="sourceLineNo">393</span>     * @param onOff flip value for region r/o setting<a name="line.393"></a>
+<span class="sourceLineNo">394</span>     */<a name="line.394"></a>
+<span class="sourceLineNo">395</span>    synchronized void setReadOnly(final boolean onOff) {<a name="line.395"></a>
+<span class="sourceLineNo">396</span>      this.writesEnabled = !onOff;<a name="line.396"></a>
+<span class="sourceLineNo">397</span>      this.readOnly = onOff;<a name="line.397"></a>
+<span class="sourceLineNo">398</span>    }<a name="line.398"></a>
+<span class="sourceLineNo">399</span><a name="line.399"></a>
+<span class="sourceLineNo">400</span>    boolean isReadOnly() {<a name="line.400"></a>
+<span class="sourceLineNo">401</span>      return this.readOnly;<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>    boolean isFlushRequested() {<a name="line.404"></a>
+<span class="sourceLineNo">405</span>      return this.flushRequested;<a name="line.405"></a>
+<span class="sourceLineNo">406</span>    }<a name="line.406"></a>
+<span class="sourceLineNo">407</span><a name="line.407"></a>
+<span class="sourceLineNo">408</span>    void setReadsEnabled(boolean readsEnabled) {<a name="line.408"></a>
+<span class="sourceLineNo">409</span>      this.readsEnabled = readsEnabled;<a name="line.409"></a>
+<span class="sourceLineNo">410</span>    }<a name="line.410"></a>
+<span class="sourceLineNo">411</span><a name="line.411"></a>
+<span class="sourceLineNo">412</span>    static final long HEAP_SIZE = ClassSize.align(<a name="line.412"></a>
+<span class="sourceLineNo">413</span>        ClassSize.OBJECT + 5 * Bytes.SIZEOF_BOOLEAN);<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>    boolean isReadOnly() {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      return this.readOnly;<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>    boolean isFlushRequested() {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>      return this.flushRequested;<a name="line.421"></a>
-<span class="sourceLineNo">422</span>    }<a name="line.422"></a>
-<span class="sourceLineNo">423</span><a name="line.423"></a>
-<span class="sourceLineNo">424</span>    void setReadsEnabled(boolean readsEnabled) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span>      this.readsEnabled = readsEnabled;<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    }<a name="line.426"></a>
+<span class="sourceLineNo">416</span>  /**<a name="line.416"></a>
+<span class="sourceLineNo">417</span>   * Objects from this class are created when flushing to describe all the different states that<a name="line.417"></a>
+<span class="sourceLineNo">418</span>   * that method ends up in. The Result enum describes those states. The sequence id should only<a name="line.418"></a>
+<span class="sourceLineNo">419</span>   * be specified if the flush was successful, and the failure message should only be specified<a name="line.419"></a>
+<span class="sourceLineNo">420</span>   * if it didn't flush.<a name="line.420"></a>
+<span class="sourceLineNo">421</span>   */<a name="line.421"></a>
+<span class="sourceLineNo">422</span>  public static class FlushResultImpl implements FlushResult {<a name="line.422"></a>
+<span class="sourceLineNo">423</span>    final Result result;<a name="line.423"></a>
+<span class="sourceLineNo">424</span>    final String failureReason;<a name="line.424"></a>
+<span class="sourceLineNo">425</span>    final long flushSequenceId;<a name="line.425"></a>
+<span class="sourceLineNo">426</span>    final boolean wroteFlushWalMarker;<a name="line.426"></a>
 <span class="sourceLineNo">427</span><a name="line.427"></a>
-<span class="sourceLineNo">428</span>    static final long HEAP_SIZE = ClassSize.align(<a name="line.428"></a>
-<span class="sourceLineNo">429</span>        ClassSize.OBJECT + 5 * Bytes.SIZEOF_BOOLEAN);<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  }<a name="line.430"></a>
-<span class="sourceLineNo">431</span><a name="line.431"></a>
-<span class="sourceLineNo">432</span>  /**<a name="line.432"></a>
-<span class="sourceLineNo">433</span>   * Objects from this class are created when flushing to describe all the different states that<a name="line.433"></a>
-<span class="sourceLineNo">434</span>   * that method ends up in. The Result enum describes those states. The sequence id should only<a name="line.434"></a>
-<span class="sourceLineNo">435</span>   * be specified if the flush was successful, and the failure message should only be specified<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   * if it didn't flush.<a name="line.436"></a>
-<span class="sourceLineNo">437</span>   */<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  public static class FlushResultImpl implements FlushResult {<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    final Result result;<a name="line.439"></a>
-<span class="sourceLineNo">440</span>    final String failureReason;<a name="line.440"></a>
-<span class="sourceLineNo">441</span>    final long flushSequenceId;<a name="line.441"></a>
-<span class="sourceLineNo">442</span>    final boolean wroteFlushWalMarker;<a name="line.442"></a>
-<span class="sourceLineNo">443</span><a name="line.443"></a>
-<span class="sourceLineNo">444</span>    /**<a name="line.444"></a>
-<span class="sourceLineNo">445</span>     * Convenience constructor to use when the flush is successful, the failure message is set to<a name="line.445"></a>
-<span class="sourceLineNo">446</span>     * null.<a name="line.446"></a>
-<span class="sourceLineNo">447</span>     * @param result Expecting FLUSHED_NO_COMPACTION_NEEDED or FLUSHED_COMPACTION_NEEDED.<a name="line.447"></a>
-<span class="sourceLineNo">448</span>     * @param flushSequenceId Generated sequence id that comes right after the edits in the<a name="line.448"></a>
-<span class="sourceLineNo">449</span>     *                        memstores.<a name="line.449"></a>
-<span class="sourceLineNo">450</span>     */<a name="line.450

<TRUNCATED>

[26/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.AtomicAverageCounter.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.AtomicAverageCounter.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.AtomicAverageCounter.html
index 6cf6743..1b54cf8 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.AtomicAverageCounter.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.AtomicAverageCounter.html
@@ -27,572 +27,649 @@
 <span class="sourceLineNo">019</span> */<a name="line.19"></a>
 <span class="sourceLineNo">020</span>package org.apache.hadoop.hbase.client;<a name="line.20"></a>
 <span class="sourceLineNo">021</span><a name="line.21"></a>
-<span class="sourceLineNo">022</span>import java.io.IOException;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.util.AbstractMap.SimpleEntry;<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.Collections;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.util.HashMap;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import java.util.List;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import java.util.Map;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import java.util.concurrent.ExecutorService;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import java.util.concurrent.Executors;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import java.util.concurrent.LinkedBlockingQueue;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import java.util.concurrent.ScheduledExecutorService;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import java.util.concurrent.TimeUnit;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.36"></a>
-<span class="sourceLineNo">037</span><a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.commons.logging.Log;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.commons.logging.LogFactory;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.conf.Configuration;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.HBaseConfiguration;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.HConstants;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.ServerName;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.TableName;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.client.AsyncProcess.AsyncRequestFuture;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.ipc.RpcControllerFactory;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.51"></a>
-<span class="sourceLineNo">052</span><a name="line.52"></a>
-<span class="sourceLineNo">053</span>import com.google.common.util.concurrent.ThreadFactoryBuilder;<a name="line.53"></a>
-<span class="sourceLineNo">054</span><a name="line.54"></a>
-<span class="sourceLineNo">055</span>/**<a name="line.55"></a>
-<span class="sourceLineNo">056</span> * HTableMultiplexer provides a thread-safe non blocking PUT API across all the tables.<a name="line.56"></a>
-<span class="sourceLineNo">057</span> * Each put will be sharded into different buffer queues based on its destination region server.<a name="line.57"></a>
-<span class="sourceLineNo">058</span> * So each region server buffer queue will only have the puts which share the same destination.<a name="line.58"></a>
-<span class="sourceLineNo">059</span> * And each queue will have a flush worker thread to flush the puts request to the region server.<a name="line.59"></a>
-<span class="sourceLineNo">060</span> * If any queue is full, the HTableMultiplexer starts to drop the Put requests for that<a name="line.60"></a>
-<span class="sourceLineNo">061</span> * particular queue.<a name="line.61"></a>
-<span class="sourceLineNo">062</span> *<a name="line.62"></a>
-<span class="sourceLineNo">063</span> * Also all the puts will be retried as a configuration number before dropping.<a name="line.63"></a>
-<span class="sourceLineNo">064</span> * And the HTableMultiplexer can report the number of buffered requests and the number of the<a name="line.64"></a>
-<span class="sourceLineNo">065</span> * failed (dropped) requests in total or on per region server basis.<a name="line.65"></a>
-<span class="sourceLineNo">066</span> *<a name="line.66"></a>
-<span class="sourceLineNo">067</span> * This class is thread safe.<a name="line.67"></a>
-<span class="sourceLineNo">068</span> */<a name="line.68"></a>
-<span class="sourceLineNo">069</span>@InterfaceAudience.Public<a name="line.69"></a>
-<span class="sourceLineNo">070</span>@InterfaceStability.Evolving<a name="line.70"></a>
-<span class="sourceLineNo">071</span>public class HTableMultiplexer {<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  private static final Log LOG = LogFactory.getLog(HTableMultiplexer.class.getName());<a name="line.72"></a>
-<span class="sourceLineNo">073</span><a name="line.73"></a>
-<span class="sourceLineNo">074</span>  public static final String TABLE_MULTIPLEXER_FLUSH_PERIOD_MS =<a name="line.74"></a>
-<span class="sourceLineNo">075</span>      "hbase.tablemultiplexer.flush.period.ms";<a name="line.75"></a>
-<span class="sourceLineNo">076</span>  public static final String TABLE_MULTIPLEXER_INIT_THREADS = "hbase.tablemultiplexer.init.threads";<a name="line.76"></a>
-<span class="sourceLineNo">077</span>  public static final String TABLE_MULTIPLEXER_MAX_RETRIES_IN_QUEUE =<a name="line.77"></a>
-<span class="sourceLineNo">078</span>      "hbase.client.max.retries.in.queue";<a name="line.78"></a>
-<span class="sourceLineNo">079</span><a name="line.79"></a>
-<span class="sourceLineNo">080</span>  /** The map between each region server to its flush worker */<a name="line.80"></a>
-<span class="sourceLineNo">081</span>  private final Map&lt;HRegionLocation, FlushWorker&gt; serverToFlushWorkerMap =<a name="line.81"></a>
-<span class="sourceLineNo">082</span>      new ConcurrentHashMap&lt;&gt;();<a name="line.82"></a>
-<span class="sourceLineNo">083</span><a name="line.83"></a>
-<span class="sourceLineNo">084</span>  private final Configuration workerConf;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>  private final ClusterConnection conn;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>  private final ExecutorService pool;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>  private final int maxAttempts;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>  private final int perRegionServerBufferQueueSize;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>  private final int maxKeyValueSize;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>  private final ScheduledExecutorService executor;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>  private final long flushPeriod;<a name="line.91"></a>
-<span class="sourceLineNo">092</span><a name="line.92"></a>
-<span class="sourceLineNo">093</span>  /**<a name="line.93"></a>
-<span class="sourceLineNo">094</span>   * @param conf The HBaseConfiguration<a name="line.94"></a>
-<span class="sourceLineNo">095</span>   * @param perRegionServerBufferQueueSize determines the max number of the buffered Put ops for<a name="line.95"></a>
-<span class="sourceLineNo">096</span>   *          each region server before dropping the request.<a name="line.96"></a>
-<span class="sourceLineNo">097</span>   */<a name="line.97"></a>
-<span class="sourceLineNo">098</span>  public HTableMultiplexer(Configuration conf, int perRegionServerBufferQueueSize)<a name="line.98"></a>
-<span class="sourceLineNo">099</span>      throws IOException {<a name="line.99"></a>
-<span class="sourceLineNo">100</span>    this.conn = (ClusterConnection) ConnectionFactory.createConnection(conf);<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    this.pool = HTable.getDefaultExecutor(conf);<a name="line.101"></a>
-<span class="sourceLineNo">102</span>    // how many times we could try in total, one more than retry number<a name="line.102"></a>
-<span class="sourceLineNo">103</span>    this.maxAttempts = conf.getInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER,<a name="line.103"></a>
-<span class="sourceLineNo">104</span>        HConstants.DEFAULT_HBASE_CLIENT_RETRIES_NUMBER) + 1;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    this.perRegionServerBufferQueueSize = perRegionServerBufferQueueSize;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    this.maxKeyValueSize = HTable.getMaxKeyValueSize(conf);<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    this.flushPeriod = conf.getLong(TABLE_MULTIPLEXER_FLUSH_PERIOD_MS, 100);<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    int initThreads = conf.getInt(TABLE_MULTIPLEXER_INIT_THREADS, 10);<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    this.executor =<a name="line.109"></a>
-<span class="sourceLineNo">110</span>        Executors.newScheduledThreadPool(initThreads,<a name="line.110"></a>
-<span class="sourceLineNo">111</span>          new ThreadFactoryBuilder().setDaemon(true).setNameFormat("HTableFlushWorker-%d").build());<a name="line.111"></a>
-<span class="sourceLineNo">112</span><a name="line.112"></a>
-<span class="sourceLineNo">113</span>    this.workerConf = HBaseConfiguration.create(conf);<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    // We do not do the retry because we need to reassign puts to different queues if regions are<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    // moved.<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    this.workerConf.setInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER, 0);<a name="line.116"></a>
-<span class="sourceLineNo">117</span>  }<a name="line.117"></a>
-<span class="sourceLineNo">118</span><a name="line.118"></a>
-<span class="sourceLineNo">119</span>  /**<a name="line.119"></a>
-<span class="sourceLineNo">120</span>   * The put request will be buffered by its corresponding buffer queue. Return false if the queue<a name="line.120"></a>
-<span class="sourceLineNo">121</span>   * is already full.<a name="line.121"></a>
-<span class="sourceLineNo">122</span>   * @param tableName<a name="line.122"></a>
-<span class="sourceLineNo">123</span>   * @param put<a name="line.123"></a>
-<span class="sourceLineNo">124</span>   * @return true if the request can be accepted by its corresponding buffer queue.<a name="line.124"></a>
-<span class="sourceLineNo">125</span>   */<a name="line.125"></a>
-<span class="sourceLineNo">126</span>  public boolean put(TableName tableName, final Put put) {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    return put(tableName, put, this.maxAttempts);<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 name="line.130"></a>
-<span class="sourceLineNo">131</span>   * The puts request will be buffered by their corresponding buffer queue.<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   * Return the list of puts which could not be queued.<a name="line.132"></a>
-<span class="sourceLineNo">133</span>   * @param tableName<a name="line.133"></a>
-<span class="sourceLineNo">134</span>   * @param puts<a name="line.134"></a>
-<span class="sourceLineNo">135</span>   * @return the list of puts which could not be queued<a name="line.135"></a>
-<span class="sourceLineNo">136</span>   */<a name="line.136"></a>
-<span class="sourceLineNo">137</span>  public List&lt;Put&gt; put(TableName tableName, final List&lt;Put&gt; puts) {<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    if (puts == null)<a name="line.138"></a>
-<span class="sourceLineNo">139</span>      return null;<a name="line.139"></a>
-<span class="sourceLineNo">140</span><a name="line.140"></a>
-<span class="sourceLineNo">141</span>    List &lt;Put&gt; failedPuts = null;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    boolean result;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    for (Put put : puts) {<a name="line.143"></a>
-<span class="sourceLineNo">144</span>      result = put(tableName, put, this.maxAttempts);<a name="line.144"></a>
-<span class="sourceLineNo">145</span>      if (result == false) {<a name="line.145"></a>
-<span class="sourceLineNo">146</span><a name="line.146"></a>
-<span class="sourceLineNo">147</span>        // Create the failed puts list if necessary<a name="line.147"></a>
-<span class="sourceLineNo">148</span>        if (failedPuts == null) {<a name="line.148"></a>
-<span class="sourceLineNo">149</span>          failedPuts = new ArrayList&lt;Put&gt;();<a name="line.149"></a>
-<span class="sourceLineNo">150</span>        }<a name="line.150"></a>
-<span class="sourceLineNo">151</span>        // Add the put to the failed puts list<a name="line.151"></a>
-<span class="sourceLineNo">152</span>        failedPuts.add(put);<a name="line.152"></a>
-<span class="sourceLineNo">153</span>      }<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    }<a name="line.154"></a>
-<span class="sourceLineNo">155</span>    return failedPuts;<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>   * @deprecated Use {@link #put(TableName, List) } instead.<a name="line.159"></a>
+<span class="sourceLineNo">022</span>import com.google.common.annotations.VisibleForTesting;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import com.google.common.util.concurrent.ThreadFactoryBuilder;<a name="line.23"></a>
+<span class="sourceLineNo">024</span><a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.io.IOException;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.util.AbstractMap.SimpleEntry;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.util.ArrayList;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import java.util.Collections;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import java.util.HashMap;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import java.util.List;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import java.util.Map;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import java.util.concurrent.ExecutorService;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import java.util.concurrent.Executors;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import java.util.concurrent.LinkedBlockingQueue;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import java.util.concurrent.ScheduledExecutorService;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import java.util.concurrent.TimeUnit;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.39"></a>
+<span class="sourceLineNo">040</span><a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.commons.logging.Log;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.commons.logging.LogFactory;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.conf.Configuration;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.HBaseConfiguration;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.HConstants;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.ServerName;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.TableName;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.client.AsyncProcess.AsyncRequestFuture;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.ipc.RpcControllerFactory;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.54"></a>
+<span class="sourceLineNo">055</span><a name="line.55"></a>
+<span class="sourceLineNo">056</span>/**<a name="line.56"></a>
+<span class="sourceLineNo">057</span> * HTableMultiplexer provides a thread-safe non blocking PUT API across all the tables.<a name="line.57"></a>
+<span class="sourceLineNo">058</span> * Each put will be sharded into different buffer queues based on its destination region server.<a name="line.58"></a>
+<span class="sourceLineNo">059</span> * So each region server buffer queue will only have the puts which share the same destination.<a name="line.59"></a>
+<span class="sourceLineNo">060</span> * And each queue will have a flush worker thread to flush the puts request to the region server.<a name="line.60"></a>
+<span class="sourceLineNo">061</span> * If any queue is full, the HTableMultiplexer starts to drop the Put requests for that<a name="line.61"></a>
+<span class="sourceLineNo">062</span> * particular queue.<a name="line.62"></a>
+<span class="sourceLineNo">063</span> *<a name="line.63"></a>
+<span class="sourceLineNo">064</span> * Also all the puts will be retried as a configuration number before dropping.<a name="line.64"></a>
+<span class="sourceLineNo">065</span> * And the HTableMultiplexer can report the number of buffered requests and the number of the<a name="line.65"></a>
+<span class="sourceLineNo">066</span> * failed (dropped) requests in total or on per region server basis.<a name="line.66"></a>
+<span class="sourceLineNo">067</span> *<a name="line.67"></a>
+<span class="sourceLineNo">068</span> * This class is thread safe.<a name="line.68"></a>
+<span class="sourceLineNo">069</span> */<a name="line.69"></a>
+<span class="sourceLineNo">070</span>@InterfaceAudience.Public<a name="line.70"></a>
+<span class="sourceLineNo">071</span>@InterfaceStability.Evolving<a name="line.71"></a>
+<span class="sourceLineNo">072</span>public class HTableMultiplexer {<a name="line.72"></a>
+<span class="sourceLineNo">073</span>  private static final Log LOG = LogFactory.getLog(HTableMultiplexer.class.getName());<a name="line.73"></a>
+<span class="sourceLineNo">074</span><a name="line.74"></a>
+<span class="sourceLineNo">075</span>  public static final String TABLE_MULTIPLEXER_FLUSH_PERIOD_MS =<a name="line.75"></a>
+<span class="sourceLineNo">076</span>      "hbase.tablemultiplexer.flush.period.ms";<a name="line.76"></a>
+<span class="sourceLineNo">077</span>  public static final String TABLE_MULTIPLEXER_INIT_THREADS = "hbase.tablemultiplexer.init.threads";<a name="line.77"></a>
+<span class="sourceLineNo">078</span>  public static final String TABLE_MULTIPLEXER_MAX_RETRIES_IN_QUEUE =<a name="line.78"></a>
+<span class="sourceLineNo">079</span>      "hbase.client.max.retries.in.queue";<a name="line.79"></a>
+<span class="sourceLineNo">080</span><a name="line.80"></a>
+<span class="sourceLineNo">081</span>  /** The map between each region server to its flush worker */<a name="line.81"></a>
+<span class="sourceLineNo">082</span>  private final Map&lt;HRegionLocation, FlushWorker&gt; serverToFlushWorkerMap =<a name="line.82"></a>
+<span class="sourceLineNo">083</span>      new ConcurrentHashMap&lt;&gt;();<a name="line.83"></a>
+<span class="sourceLineNo">084</span><a name="line.84"></a>
+<span class="sourceLineNo">085</span>  private final Configuration workerConf;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>  private final ClusterConnection conn;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>  private final ExecutorService pool;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>  private final int maxAttempts;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>  private final int perRegionServerBufferQueueSize;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>  private final int maxKeyValueSize;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>  private final ScheduledExecutorService executor;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>  private final long flushPeriod;<a name="line.92"></a>
+<span class="sourceLineNo">093</span><a name="line.93"></a>
+<span class="sourceLineNo">094</span>  /**<a name="line.94"></a>
+<span class="sourceLineNo">095</span>   * @param conf The HBaseConfiguration<a name="line.95"></a>
+<span class="sourceLineNo">096</span>   * @param perRegionServerBufferQueueSize determines the max number of the buffered Put ops for<a name="line.96"></a>
+<span class="sourceLineNo">097</span>   *          each region server before dropping the request.<a name="line.97"></a>
+<span class="sourceLineNo">098</span>   */<a name="line.98"></a>
+<span class="sourceLineNo">099</span>  public HTableMultiplexer(Configuration conf, int perRegionServerBufferQueueSize)<a name="line.99"></a>
+<span class="sourceLineNo">100</span>      throws IOException {<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    this(ConnectionFactory.createConnection(conf), conf, perRegionServerBufferQueueSize);<a name="line.101"></a>
+<span class="sourceLineNo">102</span>  }<a name="line.102"></a>
+<span class="sourceLineNo">103</span><a name="line.103"></a>
+<span class="sourceLineNo">104</span>  /**<a name="line.104"></a>
+<span class="sourceLineNo">105</span>   * @param conn The HBase connection.<a name="line.105"></a>
+<span class="sourceLineNo">106</span>   * @param conf The HBase configuration<a name="line.106"></a>
+<span class="sourceLineNo">107</span>   * @param perRegionServerBufferQueueSize determines the max number of the buffered Put ops for<a name="line.107"></a>
+<span class="sourceLineNo">108</span>   *          each region server before dropping the request.<a name="line.108"></a>
+<span class="sourceLineNo">109</span>   */<a name="line.109"></a>
+<span class="sourceLineNo">110</span>  public HTableMultiplexer(Connection conn, Configuration conf,<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      int perRegionServerBufferQueueSize) {<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    this.conn = (ClusterConnection) conn;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>    this.pool = HTable.getDefaultExecutor(conf);<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    // how many times we could try in total, one more than retry number<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    this.maxAttempts = conf.getInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER,<a name="line.115"></a>
+<span class="sourceLineNo">116</span>        HConstants.DEFAULT_HBASE_CLIENT_RETRIES_NUMBER) + 1;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    this.perRegionServerBufferQueueSize = perRegionServerBufferQueueSize;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    this.maxKeyValueSize = HTable.getMaxKeyValueSize(conf);<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    this.flushPeriod = conf.getLong(TABLE_MULTIPLEXER_FLUSH_PERIOD_MS, 100);<a name="line.119"></a>
+<span class="sourceLineNo">120</span>    int initThreads = conf.getInt(TABLE_MULTIPLEXER_INIT_THREADS, 10);<a name="line.120"></a>
+<span class="sourceLineNo">121</span>    this.executor =<a name="line.121"></a>
+<span class="sourceLineNo">122</span>        Executors.newScheduledThreadPool(initThreads,<a name="line.122"></a>
+<span class="sourceLineNo">123</span>          new ThreadFactoryBuilder().setDaemon(true).setNameFormat("HTableFlushWorker-%d").build());<a name="line.123"></a>
+<span class="sourceLineNo">124</span><a name="line.124"></a>
+<span class="sourceLineNo">125</span>    this.workerConf = HBaseConfiguration.create(conf);<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    // We do not do the retry because we need to reassign puts to different queues if regions are<a name="line.126"></a>
+<span class="sourceLineNo">127</span>    // moved.<a name="line.127"></a>
+<span class="sourceLineNo">128</span>    this.workerConf.setInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER, 0);<a name="line.128"></a>
+<span class="sourceLineNo">129</span>  }<a name="line.129"></a>
+<span class="sourceLineNo">130</span><a name="line.130"></a>
+<span class="sourceLineNo">131</span>  /**<a name="line.131"></a>
+<span class="sourceLineNo">132</span>   * Closes the internal {@link Connection}. Does nothing if the {@link Connection} has already<a name="line.132"></a>
+<span class="sourceLineNo">133</span>   * been closed.<a name="line.133"></a>
+<span class="sourceLineNo">134</span>   * @throws IOException If there is an error closing the connection.<a name="line.134"></a>
+<span class="sourceLineNo">135</span>   */<a name="line.135"></a>
+<span class="sourceLineNo">136</span>  @SuppressWarnings("deprecation")<a name="line.136"></a>
+<span class="sourceLineNo">137</span>  public synchronized void close() throws IOException {<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    if (!getConnection().isClosed()) {<a name="line.138"></a>
+<span class="sourceLineNo">139</span>      getConnection().close();<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    }<a name="line.140"></a>
+<span class="sourceLineNo">141</span>  }<a name="line.141"></a>
+<span class="sourceLineNo">142</span><a name="line.142"></a>
+<span class="sourceLineNo">143</span>  /**<a name="line.143"></a>
+<span class="sourceLineNo">144</span>   * The put request will be buffered by its corresponding buffer queue. Return false if the queue<a name="line.144"></a>
+<span class="sourceLineNo">145</span>   * is already full.<a name="line.145"></a>
+<span class="sourceLineNo">146</span>   * @param tableName<a name="line.146"></a>
+<span class="sourceLineNo">147</span>   * @param put<a name="line.147"></a>
+<span class="sourceLineNo">148</span>   * @return true if the request can be accepted by its corresponding buffer queue.<a name="line.148"></a>
+<span class="sourceLineNo">149</span>   */<a name="line.149"></a>
+<span class="sourceLineNo">150</span>  public boolean put(TableName tableName, final Put put) {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    return put(tableName, put, this.maxAttempts);<a name="line.151"></a>
+<span class="sourceLineNo">152</span>  }<a name="line.152"></a>
+<span class="sourceLineNo">153</span><a name="line.153"></a>
+<span class="sourceLineNo">154</span>  /**<a name="line.154"></a>
+<span class="sourceLineNo">155</span>   * The puts request will be buffered by their corresponding buffer queue.<a name="line.155"></a>
+<span class="sourceLineNo">156</span>   * Return the list of puts which could not be queued.<a name="line.156"></a>
+<span class="sourceLineNo">157</span>   * @param tableName<a name="line.157"></a>
+<span class="sourceLineNo">158</span>   * @param puts<a name="line.158"></a>
+<span class="sourceLineNo">159</span>   * @return the list of puts which could not be queued<a name="line.159"></a>
 <span class="sourceLineNo">160</span>   */<a name="line.160"></a>
-<span class="sourceLineNo">161</span>  @Deprecated<a name="line.161"></a>
-<span class="sourceLineNo">162</span>  public List&lt;Put&gt; put(byte[] tableName, final List&lt;Put&gt; puts) {<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    return put(TableName.valueOf(tableName), puts);<a name="line.163"></a>
-<span class="sourceLineNo">164</span>  }<a name="line.164"></a>
-<span class="sourceLineNo">165</span><a name="line.165"></a>
-<span class="sourceLineNo">166</span>  /**<a name="line.166"></a>
-<span class="sourceLineNo">167</span>   * The put request will be buffered by its corresponding buffer queue. And the put request will be<a name="line.167"></a>
-<span class="sourceLineNo">168</span>   * retried before dropping the request.<a name="line.168"></a>
-<span class="sourceLineNo">169</span>   * Return false if the queue is already full.<a name="line.169"></a>
-<span class="sourceLineNo">170</span>   * @return true if the request can be accepted by its corresponding buffer queue.<a name="line.170"></a>
-<span class="sourceLineNo">171</span>   */<a name="line.171"></a>
-<span class="sourceLineNo">172</span>  public boolean put(final TableName tableName, final Put put, int maxAttempts) {<a name="line.172"></a>
-<span class="sourceLineNo">173</span>    if (maxAttempts &lt;= 0) {<a name="line.173"></a>
-<span class="sourceLineNo">174</span>      return false;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    }<a name="line.175"></a>
-<span class="sourceLineNo">176</span><a name="line.176"></a>
-<span class="sourceLineNo">177</span>    try {<a name="line.177"></a>
-<span class="sourceLineNo">178</span>      HTable.validatePut(put, maxKeyValueSize);<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      HRegionLocation loc = conn.getRegionLocation(tableName, put.getRow(), false);<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      if (loc != null) {<a name="line.180"></a>
-<span class="sourceLineNo">181</span>        // Add the put pair into its corresponding queue.<a name="line.181"></a>
-<span class="sourceLineNo">182</span>        LinkedBlockingQueue&lt;PutStatus&gt; queue = getQueue(loc);<a name="line.182"></a>
-<span class="sourceLineNo">183</span><a name="line.183"></a>
-<span class="sourceLineNo">184</span>        // Generate a MultiPutStatus object and offer it into the queue<a name="line.184"></a>
-<span class="sourceLineNo">185</span>        PutStatus s = new PutStatus(loc.getRegionInfo(), put, maxAttempts);<a name="line.185"></a>
-<span class="sourceLineNo">186</span><a name="line.186"></a>
-<span class="sourceLineNo">187</span>        return queue.offer(s);<a name="line.187"></a>
-<span class="sourceLineNo">188</span>      }<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    } catch (IOException e) {<a name="line.189"></a>
-<span class="sourceLineNo">190</span>      LOG.debug("Cannot process the put " + put, e);<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    }<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    return false;<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>  /**<a name="line.195"></a>
-<span class="sourceLineNo">196</span>   * @deprecated Use {@link #put(TableName, Put) } instead.<a name="line.196"></a>
-<span class="sourceLineNo">197</span>   */<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  @Deprecated<a name="line.198"></a>
-<span class="sourceLineNo">199</span>  public boolean put(final byte[] tableName, final Put put, int retry) {<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    return put(TableName.valueOf(tableName), put, retry);<a name="line.200"></a>
-<span class="sourceLineNo">201</span>  }<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>  /**<a name="line.203"></a>
-<span class="sourceLineNo">204</span>   * @deprecated Use {@link #put(TableName, Put)} instead.<a name="line.204"></a>
-<span class="sourceLineNo">205</span>   */<a name="line.205"></a>
-<span class="sourceLineNo">206</span>  @Deprecated<a name="line.206"></a>
-<span class="sourceLineNo">207</span>  public boolean put(final byte[] tableName, Put put) {<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    return put(TableName.valueOf(tableName), put);<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>  /**<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   * @return the current HTableMultiplexerStatus<a name="line.212"></a>
-<span class="sourceLineNo">213</span>   */<a name="line.213"></a>
-<span class="sourceLineNo">214</span>  public HTableMultiplexerStatus getHTableMultiplexerStatus() {<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    return new HTableMultiplexerStatus(serverToFlushWorkerMap);<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span>  private LinkedBlockingQueue&lt;PutStatus&gt; getQueue(HRegionLocation addr) {<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    FlushWorker worker = serverToFlushWorkerMap.get(addr);<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    if (worker == null) {<a name="line.220"></a>
-<span class="sourceLineNo">221</span>      synchronized (this.serverToFlushWorkerMap) {<a name="line.221"></a>
-<span class="sourceLineNo">222</span>        worker = serverToFlushWorkerMap.get(addr);<a name="line.222"></a>
-<span class="sourceLineNo">223</span>        if (worker == null) {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>          // Create the flush worker<a name="line.224"></a>
-<span class="sourceLineNo">225</span>          worker = new FlushWorker(workerConf, this.conn, addr, this,<a name="line.225"></a>
-<span class="sourceLineNo">226</span>              perRegionServerBufferQueueSize, pool, executor);<a name="line.226"></a>
-<span class="sourceLineNo">227</span>          this.serverToFlushWorkerMap.put(addr, worker);<a name="line.227"></a>
-<span class="sourceLineNo">228</span>          executor.scheduleAtFixedRate(worker, flushPeriod, flushPeriod, TimeUnit.MILLISECONDS);<a name="line.228"></a>
-<span class="sourceLineNo">229</span>        }<a name="line.229"></a>
-<span class="sourceLineNo">230</span>      }<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    }<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    return worker.getQueue();<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  }<a name="line.233"></a>
-<span class="sourceLineNo">234</span><a name="line.234"></a>
-<span class="sourceLineNo">235</span>  /**<a name="line.235"></a>
-<span class="sourceLineNo">236</span>   * HTableMultiplexerStatus keeps track of the current status of the HTableMultiplexer.<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   * report the number of buffered requests and the number of the failed (dropped) requests<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   * in total or on per region server basis.<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   */<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  @InterfaceAudience.Public<a name="line.240"></a>
-<span class="sourceLineNo">241</span>  @InterfaceStability.Evolving<a name="line.241"></a>
-<span class="sourceLineNo">242</span>  public static class HTableMultiplexerStatus {<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    private long totalFailedPutCounter;<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    private long totalBufferedPutCounter;<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    private long maxLatency;<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    private long overallAverageLatency;<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    private Map&lt;String, Long&gt; serverToFailedCounterMap;<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    private Map&lt;String, Long&gt; serverToBufferedCounterMap;<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    private Map&lt;String, Long&gt; serverToAverageLatencyMap;<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    private Map&lt;String, Long&gt; serverToMaxLatencyMap;<a name="line.250"></a>
-<span class="sourceLineNo">251</span><a name="line.251"></a>
-<span class="sourceLineNo">252</span>    public HTableMultiplexerStatus(<a name="line.252"></a>
-<span class="sourceLineNo">253</span>        Map&lt;HRegionLocation, FlushWorker&gt; serverToFlushWorkerMap) {<a name="line.253"></a>
-<span class="sourceLineNo">254</span>      this.totalBufferedPutCounter = 0;<a name="line.254"></a>
-<span class="sourceLineNo">255</span>      this.totalFailedPutCounter = 0;<a name="line.255"></a>
-<span class="sourceLineNo">256</span>      this.maxLatency = 0;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>      this.overallAverageLatency = 0;<a name="line.257"></a>
-<span class="sourceLineNo">258</span>      this.serverToBufferedCounterMap = new HashMap&lt;String, Long&gt;();<a name="line.258"></a>
-<span class="sourceLineNo">259</span>      this.serverToFailedCounterMap = new HashMap&lt;String, Long&gt;();<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      this.serverToAverageLatencyMap = new HashMap&lt;String, Long&gt;();<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      this.serverToMaxLatencyMap = new HashMap&lt;String, Long&gt;();<a name="line.261"></a>
-<span class="sourceLineNo">262</span>      this.initialize(serverToFlushWorkerMap);<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>    private void initialize(<a name="line.265"></a>
-<span class="sourceLineNo">266</span>        Map&lt;HRegionLocation, FlushWorker&gt; serverToFlushWorkerMap) {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      if (serverToFlushWorkerMap == null) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>        return;<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>      long averageCalcSum = 0;<a name="line.271"></a>
-<span class="sourceLineNo">272</span>      int averageCalcCount = 0;<a name="line.272"></a>
-<span class="sourceLineNo">273</span>      for (Map.Entry&lt;HRegionLocation, FlushWorker&gt; entry : serverToFlushWorkerMap<a name="line.273"></a>
-<span class="sourceLineNo">274</span>          .entrySet()) {<a name="line.274"></a>
-<span class="sourceLineNo">275</span>        HRegionLocation addr = entry.getKey();<a name="line.275"></a>
-<span class="sourceLineNo">276</span>        FlushWorker worker = entry.getValue();<a name="line.276"></a>
-<span class="sourceLineNo">277</span><a name="line.277"></a>
-<span class="sourceLineNo">278</span>        long bufferedCounter = worker.getTotalBufferedCount();<a name="line.278"></a>
-<span class="sourceLineNo">279</span>        long failedCounter = worker.getTotalFailedCount();<a name="line.279"></a>
-<span class="sourceLineNo">280</span>        long serverMaxLatency = worker.getMaxLatency();<a name="line.280"></a>
-<span class="sourceLineNo">281</span>        AtomicAverageCounter averageCounter = worker.getAverageLatencyCounter();<a name="line.281"></a>
-<span class="sourceLineNo">282</span>        // Get sum and count pieces separately to compute overall average<a name="line.282"></a>
-<span class="sourceLineNo">283</span>        SimpleEntry&lt;Long, Integer&gt; averageComponents = averageCounter<a name="line.283"></a>
-<span class="sourceLineNo">284</span>            .getComponents();<a name="line.284"></a>
-<span class="sourceLineNo">285</span>        long serverAvgLatency = averageCounter.getAndReset();<a name="line.285"></a>
-<span class="sourceLineNo">286</span><a name="line.286"></a>
-<span class="sourceLineNo">287</span>        this.totalBufferedPutCounter += bufferedCounter;<a name="line.287"></a>
-<span class="sourceLineNo">288</span>        this.totalFailedPutCounter += failedCounter;<a name="line.288"></a>
-<span class="sourceLineNo">289</span>        if (serverMaxLatency &gt; this.maxLatency) {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>          this.maxLatency = serverMaxLatency;<a name="line.290"></a>
-<span class="sourceLineNo">291</span>        }<a name="line.291"></a>
-<span class="sourceLineNo">292</span>        averageCalcSum += averageComponents.getKey();<a name="line.292"></a>
-<span class="sourceLineNo">293</span>        averageCalcCount += averageComponents.getValue();<a name="line.293"></a>
-<span class="sourceLineNo">294</span><a name="line.294"></a>
-<span class="sourceLineNo">295</span>        this.serverToBufferedCounterMap.put(addr.getHostnamePort(),<a name="line.295"></a>
-<span class="sourceLineNo">296</span>            bufferedCounter);<a name="line.296"></a>
-<span class="sourceLineNo">297</span>        this.serverToFailedCounterMap<a name="line.297"></a>
-<span class="sourceLineNo">298</span>            .put(addr.getHostnamePort(),<a name="line.298"></a>
-<span class="sourceLineNo">299</span>            failedCounter);<a name="line.299"></a>
-<span class="sourceLineNo">300</span>        this.serverToAverageLatencyMap.put(addr.getHostnamePort(),<a name="line.300"></a>
-<span class="sourceLineNo">301</span>            serverAvgLatency);<a name="line.301"></a>
-<span class="sourceLineNo">302</span>        this.serverToMaxLatencyMap<a name="line.302"></a>
-<span class="sourceLineNo">303</span>            .put(addr.getHostnamePort(),<a name="line.303"></a>
-<span class="sourceLineNo">304</span>            serverMaxLatency);<a name="line.304"></a>
-<span class="sourceLineNo">305</span>      }<a name="line.305"></a>
-<span class="sourceLineNo">306</span>      this.overallAverageLatency = averageCalcCount != 0 ? averageCalcSum<a name="line.306"></a>
-<span class="sourceLineNo">307</span>          / averageCalcCount : 0;<a name="line.307"></a>
+<span class="sourceLineNo">161</span>  public List&lt;Put&gt; put(TableName tableName, final List&lt;Put&gt; puts) {<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    if (puts == null)<a name="line.162"></a>
+<span class="sourceLineNo">163</span>      return null;<a name="line.163"></a>
+<span class="sourceLineNo">164</span><a name="line.164"></a>
+<span class="sourceLineNo">165</span>    List &lt;Put&gt; failedPuts = null;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>    boolean result;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    for (Put put : puts) {<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      result = put(tableName, put, this.maxAttempts);<a name="line.168"></a>
+<span class="sourceLineNo">169</span>      if (result == false) {<a name="line.169"></a>
+<span class="sourceLineNo">170</span><a name="line.170"></a>
+<span class="sourceLineNo">171</span>        // Create the failed puts list if necessary<a name="line.171"></a>
+<span class="sourceLineNo">172</span>        if (failedPuts == null) {<a name="line.172"></a>
+<span class="sourceLineNo">173</span>          failedPuts = new ArrayList&lt;Put&gt;();<a name="line.173"></a>
+<span class="sourceLineNo">174</span>        }<a name="line.174"></a>
+<span class="sourceLineNo">175</span>        // Add the put to the failed puts list<a name="line.175"></a>
+<span class="sourceLineNo">176</span>        failedPuts.add(put);<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>    return failedPuts;<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>  /**<a name="line.182"></a>
+<span class="sourceLineNo">183</span>   * @deprecated Use {@link #put(TableName, List) } instead.<a name="line.183"></a>
+<span class="sourceLineNo">184</span>   */<a name="line.184"></a>
+<span class="sourceLineNo">185</span>  @Deprecated<a name="line.185"></a>
+<span class="sourceLineNo">186</span>  public List&lt;Put&gt; put(byte[] tableName, final List&lt;Put&gt; puts) {<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    return put(TableName.valueOf(tableName), puts);<a name="line.187"></a>
+<span class="sourceLineNo">188</span>  }<a name="line.188"></a>
+<span class="sourceLineNo">189</span><a name="line.189"></a>
+<span class="sourceLineNo">190</span>  /**<a name="line.190"></a>
+<span class="sourceLineNo">191</span>   * The put request will be buffered by its corresponding buffer queue. And the put request will be<a name="line.191"></a>
+<span class="sourceLineNo">192</span>   * retried before dropping the request.<a name="line.192"></a>
+<span class="sourceLineNo">193</span>   * Return false if the queue is already full.<a name="line.193"></a>
+<span class="sourceLineNo">194</span>   * @return true if the request can be accepted by its corresponding buffer queue.<a name="line.194"></a>
+<span class="sourceLineNo">195</span>   */<a name="line.195"></a>
+<span class="sourceLineNo">196</span>  public boolean put(final TableName tableName, final Put put, int maxAttempts) {<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    return _put(tableName, put, maxAttempts, false);<a name="line.197"></a>
+<span class="sourceLineNo">198</span>  }<a name="line.198"></a>
+<span class="sourceLineNo">199</span><a name="line.199"></a>
+<span class="sourceLineNo">200</span>  /**<a name="line.200"></a>
+<span class="sourceLineNo">201</span>   * Internal "put" which exposes a boolean flag to control whether or not the region location<a name="line.201"></a>
+<span class="sourceLineNo">202</span>   * cache should be reloaded when trying to queue the {@link Put}.<a name="line.202"></a>
+<span class="sourceLineNo">203</span>   * @param tableName Destination table for the Put<a name="line.203"></a>
+<span class="sourceLineNo">204</span>   * @param put The Put to send<a name="line.204"></a>
+<span class="sourceLineNo">205</span>   * @param maxAttempts Number of attempts to retry the {@code put}<a name="line.205"></a>
+<span class="sourceLineNo">206</span>   * @param reloadCache Should the region location cache be reloaded<a name="line.206"></a>
+<span class="sourceLineNo">207</span>   * @return true if the request was accepted in the queue, otherwise false<a name="line.207"></a>
+<span class="sourceLineNo">208</span>   */<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  boolean _put(final TableName tableName, final Put put, int maxAttempts, boolean reloadCache) {<a name="line.209"></a>
+<span class="sourceLineNo">210</span>    if (maxAttempts &lt;= 0) {<a name="line.210"></a>
+<span class="sourceLineNo">211</span>      return false;<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    }<a name="line.212"></a>
+<span class="sourceLineNo">213</span><a name="line.213"></a>
+<span class="sourceLineNo">214</span>    try {<a name="line.214"></a>
+<span class="sourceLineNo">215</span>      HTable.validatePut(put, maxKeyValueSize);<a name="line.215"></a>
+<span class="sourceLineNo">216</span>      // Allow mocking to get at the connection, but don't expose the connection to users.<a name="line.216"></a>
+<span class="sourceLineNo">217</span>      ClusterConnection conn = (ClusterConnection) getConnection();<a name="line.217"></a>
+<span class="sourceLineNo">218</span>      HRegionLocation loc = conn.getRegionLocation(tableName, put.getRow(), reloadCache);<a name="line.218"></a>
+<span class="sourceLineNo">219</span>      if (loc != null) {<a name="line.219"></a>
+<span class="sourceLineNo">220</span>        // Add the put pair into its corresponding queue.<a name="line.220"></a>
+<span class="sourceLineNo">221</span>        LinkedBlockingQueue&lt;PutStatus&gt; queue = getQueue(loc);<a name="line.221"></a>
+<span class="sourceLineNo">222</span><a name="line.222"></a>
+<span class="sourceLineNo">223</span>        // Generate a MultiPutStatus object and offer it into the queue<a name="line.223"></a>
+<span class="sourceLineNo">224</span>        PutStatus s = new PutStatus(loc.getRegionInfo(), put, maxAttempts);<a name="line.224"></a>
+<span class="sourceLineNo">225</span><a name="line.225"></a>
+<span class="sourceLineNo">226</span>        return queue.offer(s);<a name="line.226"></a>
+<span class="sourceLineNo">227</span>      }<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    } catch (IOException e) {<a name="line.228"></a>
+<span class="sourceLineNo">229</span>      LOG.debug("Cannot process the put " + put, e);<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    }<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    return false;<a name="line.231"></a>
+<span class="sourceLineNo">232</span>  }<a name="line.232"></a>
+<span class="sourceLineNo">233</span><a name="line.233"></a>
+<span class="sourceLineNo">234</span>  /**<a name="line.234"></a>
+<span class="sourceLineNo">235</span>   * @deprecated Use {@link #put(TableName, Put) } instead.<a name="line.235"></a>
+<span class="sourceLineNo">236</span>   */<a name="line.236"></a>
+<span class="sourceLineNo">237</span>  @Deprecated<a name="line.237"></a>
+<span class="sourceLineNo">238</span>  public boolean put(final byte[] tableName, final Put put, int retry) {<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    return put(TableName.valueOf(tableName), put, retry);<a name="line.239"></a>
+<span class="sourceLineNo">240</span>  }<a name="line.240"></a>
+<span class="sourceLineNo">241</span><a name="line.241"></a>
+<span class="sourceLineNo">242</span>  /**<a name="line.242"></a>
+<span class="sourceLineNo">243</span>   * @deprecated Use {@link #put(TableName, Put)} instead.<a name="line.243"></a>
+<span class="sourceLineNo">244</span>   */<a name="line.244"></a>
+<span class="sourceLineNo">245</span>  @Deprecated<a name="line.245"></a>
+<span class="sourceLineNo">246</span>  public boolean put(final byte[] tableName, Put put) {<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    return put(TableName.valueOf(tableName), put);<a name="line.247"></a>
+<span class="sourceLineNo">248</span>  }<a name="line.248"></a>
+<span class="sourceLineNo">249</span><a name="line.249"></a>
+<span class="sourceLineNo">250</span>  /**<a name="line.250"></a>
+<span class="sourceLineNo">251</span>   * @return the current HTableMultiplexerStatus<a name="line.251"></a>
+<span class="sourceLineNo">252</span>   */<a name="line.252"></a>
+<span class="sourceLineNo">253</span>  public HTableMultiplexerStatus getHTableMultiplexerStatus() {<a name="line.253"></a>
+<span class="sourceLineNo">254</span>    return new HTableMultiplexerStatus(serverToFlushWorkerMap);<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>  @VisibleForTesting<a name="line.257"></a>
+<span class="sourceLineNo">258</span>  LinkedBlockingQueue&lt;PutStatus&gt; getQueue(HRegionLocation addr) {<a name="line.258"></a>
+<span class="sourceLineNo">259</span>    FlushWorker worker = serverToFlushWorkerMap.get(addr);<a name="line.259"></a>
+<span class="sourceLineNo">260</span>    if (worker == null) {<a name="line.260"></a>
+<span class="sourceLineNo">261</span>      synchronized (this.serverToFlushWorkerMap) {<a name="line.261"></a>
+<span class="sourceLineNo">262</span>        worker = serverToFlushWorkerMap.get(addr);<a name="line.262"></a>
+<span class="sourceLineNo">263</span>        if (worker == null) {<a name="line.263"></a>
+<span class="sourceLineNo">264</span>          // Create the flush worker<a name="line.264"></a>
+<span class="sourceLineNo">265</span>          worker = new FlushWorker(workerConf, this.conn, addr, this,<a name="line.265"></a>
+<span class="sourceLineNo">266</span>              perRegionServerBufferQueueSize, pool, executor);<a name="line.266"></a>
+<span class="sourceLineNo">267</span>          this.serverToFlushWorkerMap.put(addr, worker);<a name="line.267"></a>
+<span class="sourceLineNo">268</span>          executor.scheduleAtFixedRate(worker, flushPeriod, flushPeriod, TimeUnit.MILLISECONDS);<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>    }<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    return worker.getQueue();<a name="line.272"></a>
+<span class="sourceLineNo">273</span>  }<a name="line.273"></a>
+<span class="sourceLineNo">274</span><a name="line.274"></a>
+<span class="sourceLineNo">275</span>  @VisibleForTesting<a name="line.275"></a>
+<span class="sourceLineNo">276</span>  ClusterConnection getConnection() {<a name="line.276"></a>
+<span class="sourceLineNo">277</span>    return this.conn;<a name="line.277"></a>
+<span class="sourceLineNo">278</span>  }<a name="line.278"></a>
+<span class="sourceLineNo">279</span><a name="line.279"></a>
+<span class="sourceLineNo">280</span>  /**<a name="line.280"></a>
+<span class="sourceLineNo">281</span>   * HTableMultiplexerStatus keeps track of the current status of the HTableMultiplexer.<a name="line.281"></a>
+<span class="sourceLineNo">282</span>   * report the number of buffered requests and the number of the failed (dropped) requests<a name="line.282"></a>
+<span class="sourceLineNo">283</span>   * in total or on per region server basis.<a name="line.283"></a>
+<span class="sourceLineNo">284</span>   */<a name="line.284"></a>
+<span class="sourceLineNo">285</span>  @InterfaceAudience.Public<a name="line.285"></a>
+<span class="sourceLineNo">286</span>  @InterfaceStability.Evolving<a name="line.286"></a>
+<span class="sourceLineNo">287</span>  public static class HTableMultiplexerStatus {<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    private long totalFailedPutCounter;<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    private long totalBufferedPutCounter;<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    private long maxLatency;<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    private long overallAverageLatency;<a name="line.291"></a>
+<span class="sourceLineNo">292</span>    private Map&lt;String, Long&gt; serverToFailedCounterMap;<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    private Map&lt;String, Long&gt; serverToBufferedCounterMap;<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    private Map&lt;String, Long&gt; serverToAverageLatencyMap;<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    private Map&lt;String, Long&gt; serverToMaxLatencyMap;<a name="line.295"></a>
+<span class="sourceLineNo">296</span><a name="line.296"></a>
+<span class="sourceLineNo">297</span>    public HTableMultiplexerStatus(<a name="line.297"></a>
+<span class="sourceLineNo">298</span>        Map&lt;HRegionLocation, FlushWorker&gt; serverToFlushWorkerMap) {<a name="line.298"></a>
+<span class="sourceLineNo">299</span>      this.totalBufferedPutCounter = 0;<a name="line.299"></a>
+<span class="sourceLineNo">300</span>      this.totalFailedPutCounter = 0;<a name="line.300"></a>
+<span class="sourceLineNo">301</span>      this.maxLatency = 0;<a name="line.301"></a>
+<span class="sourceLineNo">302</span>      this.overallAverageLatency = 0;<a name="line.302"></a>
+<span class="sourceLineNo">303</span>      this.serverToBufferedCounterMap = new HashMap&lt;String, Long&gt;();<a name="line.303"></a>
+<span class="sourceLineNo">304</span>      this.serverToFailedCounterMap = new HashMap&lt;String, Long&gt;();<a name="line.304"></a>
+<span class="sourceLineNo">305</span>      this.serverToAverageLatencyMap = new HashMap&lt;String, Long&gt;();<a name="line.305"></a>
+<span class="sourceLineNo">306</span>      this.serverToMaxLatencyMap = new HashMap&lt;String, Long&gt;();<a name="line.306"></a>
+<span class="sourceLineNo">307</span>      this.initialize(serverToFlushWorkerMap);<a name="line.307"></a>
 <span class="sourceLineNo">308</span>    }<a name="line.308"></a>
 <span class="sourceLineNo">309</span><a name="line.309"></a>
-<span class="sourceLineNo">310</span>    public long getTotalBufferedCounter() {<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      return this.totalBufferedPutCounter;<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    }<a name="line.312"></a>
-<span class="sourceLineNo">313</span><a name="line.313"></a>
-<span class="sourceLineNo">314</span>    public long getTotalFailedCounter() {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>      return this.totalFailedPutCounter;<a name="line.315"></a>
-<span class="sourceLineNo">316</span>    }<a name="line.316"></a>
-<span class="sourceLineNo">317</span><a name="line.317"></a>
-<span class="sourceLineNo">318</span>    public long getMaxLatency() {<a name="line.318"></a>
-<span class="sourceLineNo">319</span>      return this.maxLatency;<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    }<a name="line.320"></a>
-<span class="sourceLineNo">321</span><a name="line.321"></a>
-<span class="sourceLineNo">322</span>    public long getOverallAverageLatency() {<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      return this.overallAverageLatency;<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>    public Map&lt;String, Long&gt; getBufferedCounterForEachRegionServer() {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>      return this.serverToBufferedCounterMap;<a name="line.327"></a>
-<span class="sourceLineNo">328</span>    }<a name="line.328"></a>
-<span class="sourceLineNo">329</span><a name="line.329"></a>
-<span class="sourceLineNo">330</span>    public Map&lt;String, Long&gt; getFailedCounterForEachRegionServer() {<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      return this.serverToFailedCounterMap;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    }<a name="line.332"></a>
-<span class="sourceLineNo">333</span><a name="line.333"></a>
-<span class="sourceLineNo">334</span>    public Map&lt;String, Long&gt; getMaxLatencyForEachRegionServer() {<a name="line.334"></a>
-<span class="sourceLineNo">335</span>      return this.serverToMaxLatencyMap;<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    }<a name="line.336"></a>
-<span class="sourceLineNo">337</span><a name="line.337"></a>
-<span class="sourceLineNo">338</span>    public Map&lt;String, Long&gt; getAverageLatencyForEachRegionServer() {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>      return this.serverToAverageLatencyMap;<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    }<a name="line.340"></a>
-<span class="sourceLineNo">341</span>  }<a name="line.341"></a>
-<span class="sourceLineNo">342</span><a name="line.342"></a>
-<span class="sourceLineNo">343</span>  private static class PutStatus {<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    private final HRegionInfo regionInfo;<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    private final Put put;<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    private final int maxAttempCount;<a name="line.346"></a>
-<span class="sourceLineNo">347</span><a name="line.347"></a>
-<span class="sourceLineNo">348</span>    public PutStatus(HRegionInfo regionInfo, Put put, int maxAttempCount) {<a name="line.348"></a>
-<span class="sourceLineNo">349</span>      this.regionInfo = regionInfo;<a name="line.349"></a>
-<span class="sourceLineNo">350</span>      this.put = put;<a name="line.350"></a>
-<span class="sourceLineNo">351</span>      this.maxAttempCount = maxAttempCount;<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    }<a name="line.352"></a>
-<span class="sourceLineNo">353</span>  }<a name="line.353"></a>
+<span class="sourceLineNo">310</span>    private void initialize(<a name="line.310"></a>
+<span class="sourceLineNo">311</span>        Map&lt;HRegionLocation, FlushWorker&gt; serverToFlushWorkerMap) {<a name="line.311"></a>
+<span class="sourceLineNo">312</span>      if (serverToFlushWorkerMap == null) {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>        return;<a name="line.313"></a>
+<span class="sourceLineNo">314</span>      }<a name="line.314"></a>
+<span class="sourceLineNo">315</span><a name="line.315"></a>
+<span class="sourceLineNo">316</span>      long averageCalcSum = 0;<a name="line.316"></a>
+<span class="sourceLineNo">317</span>      int averageCalcCount = 0;<a name="line.317"></a>
+<span class="sourceLineNo">318</span>      for (Map.Entry&lt;HRegionLocation, FlushWorker&gt; entry : serverToFlushWorkerMap<a name="line.318"></a>
+<span class="sourceLineNo">319</span>          .entrySet()) {<a name="line.319"></a>
+<span class="sourceLineNo">320</span>        HRegionLocation addr = entry.getKey();<a name="line.320"></a>
+<span class="sourceLineNo">321</span>        FlushWorker worker = entry.getValue();<a name="line.321"></a>
+<span class="sourceLineNo">322</span><a name="line.322"></a>
+<span class="sourceLineNo">323</span>        long bufferedCounter = worker.getTotalBufferedCount();<a name="line.323"></a>
+<span class="sourceLineNo">324</span>        long failedCounter = worker.getTotalFailedCount();<a name="line.324"></a>
+<span class="sourceLineNo">325</span>        long serverMaxLatency = worker.getMaxLatency();<a name="line.325"></a>
+<span class="sourceLineNo">326</span>        AtomicAverageCounter averageCounter = worker.getAverageLatencyCounter();<a name="line.326"></a>
+<span class="sourceLineNo">327</span>        // Get sum and count pieces separately to compute overall average<a name="line.327"></a>
+<span class="sourceLineNo">328</span>        SimpleEntry&lt;Long, Integer&gt; averageComponents = averageCounter<a name="line.328"></a>
+<span class="sourceLineNo">329</span>            .getComponents();<a name="line.329"></a>
+<span class="sourceLineNo">330</span>        long serverAvgLatency = averageCounter.getAndReset();<a name="line.330"></a>
+<span class="sourceLineNo">331</span><a name="line.331"></a>
+<span class="sourceLineNo">332</span>        this.totalBufferedPutCounter += bufferedCounter;<a name="line.332"></a>
+<span class="sourceLineNo">333</span>        this.totalFailedPutCounter += failedCounter;<a name="line.333"></a>
+<span class="sourceLineNo">334</span>        if (serverMaxLatency &gt; this.maxLatency) {<a name="line.334"></a>
+<span class="sourceLineNo">335</span>          this.maxLatency = serverMaxLatency;<a name="line.335"></a>
+<span class="sourceLineNo">336</span>        }<a name="line.336"></a>
+<span class="sourceLineNo">337</span>        averageCalcSum += averageComponents.getKey();<a name="line.337"></a>
+<span class="sourceLineNo">338</span>        averageCalcCount += averageComponents.getValue();<a name="line.338"></a>
+<span class="sourceLineNo">339</span><a name="line.339"></a>
+<span class="sourceLineNo">340</span>        this.serverToBufferedCounterMap.put(addr.getHostnamePort(),<a name="line.340"></a>
+<span class="sourceLineNo">341</span>            bufferedCounter);<a name="line.341"></a>
+<span class="sourceLineNo">342</span>        this.serverToFailedCounterMap<a name="line.342"></a>
+<span class="sourceLineNo">343</span>            .put(addr.getHostnamePort(),<a name="line.343"></a>
+<span class="sourceLineNo">344</span>            failedCounter);<a name="line.344"></a>
+<span class="sourceLineNo">345</span>        this.serverToAverageLatencyMap.put(addr.getHostnamePort(),<a name="line.345"></a>
+<span class="sourceLineNo">346</span>            serverAvgLatency);<a name="line.346"></a>
+<span class="sourceLineNo">347</span>        this.serverToMaxLatencyMap<a name="line.347"></a>
+<span class="sourceLineNo">348</span>            .put(addr.getHostnamePort(),<a name="line.348"></a>
+<span class="sourceLineNo">349</span>            serverMaxLatency);<a name="line.349"></a>
+<span class="sourceLineNo">350</span>      }<a name="line.350"></a>
+<span class="sourceLineNo">351</span>      this.overallAverageLatency = averageCalcCount != 0 ? averageCalcSum<a name="line.351"></a>
+<span class="sourceLineNo">352</span>          / averageCalcCount : 0;<a name="line.352"></a>
+<span class="sourceLineNo">353</span>    }<a name="line.353"></a>
 <span class="sourceLineNo">354</span><a name="line.354"></a>
-<span class="sourceLineNo">355</span>  /**<a name="line.355"></a>
-<span class="sourceLineNo">356</span>   * Helper to count the average over an interval until reset.<a name="line.356"></a>
-<span class="sourceLineNo">357</span>   */<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  private static class AtomicAverageCounter {<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    private long sum;<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    private int count;<a name="line.360"></a>
-<span class="sourceLineNo">361</span><a name="line.361"></a>
-<span class="sourceLineNo">362</span>    public AtomicAverageCounter() {<a name="line.362"></a>
-<span class="sourceLineNo">363</span>      this.sum = 0L;<a name="line.363"></a>
-<span class="sourceLineNo">364</span>      this.count = 0;<a name="line.364"></a>
+<span class="sourceLineNo">355</span>    public long getTotalBufferedCounter() {<a name="line.355"></a>
+<span class="sourceLineNo">356</span>      return this.totalBufferedPutCounter;<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>    public long getTotalFailedCounter() {<a name="line.359"></a>
+<span class="sourceLineNo">360</span>      return this.totalFailedPutCounter;<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>    public long getMaxLatency() {<a name="line.363"></a>
+<span class="sourceLineNo">364</span>      return this.maxLatency;<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>    public synchronized long getAndReset() {<a name="line.367"></a>
-<span class="sourceLineNo">368</span>      long result = this.get();<a name="line.368"></a>
-<span class="sourceLineNo">369</span>      this.reset();<a name="line.369"></a>
-<span class="sourceLineNo">370</span>      return result;<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>    public synchronized long get() {<a name="line.373"></a>
-<span class="sourceLineNo">374</span>      if (this.count == 0) {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>        return 0;<a name="line.375"></a>
-<span class="sourceLineNo">376</span>      }<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      return this.sum / this.count;<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>    public synchronized SimpleEntry&lt;Long, Integer&gt; getComponents() {<a name="line.380"></a>
-<span class="sourceLineNo">381</span>      return new SimpleEntry&lt;Long, Integer&gt;(sum, count);<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    }<a name="line.382"></a>
-<span class="sourceLineNo">383</span><a name="line.383"></a>
-<span class="sourceLineNo">384</span>    public synchronized void reset() {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>      this.sum = 0L;<a name="line.385"></a>
-<span class="sourceLineNo">386</span>      this.count = 0;<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    }<a name="line.387"></a>
-<span class="sourceLineNo">388</span><a name="line.388"></a>
-<span class="sourceLineNo">389</span>    public synchronized void add(long value) {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>      this.sum += value;<a name="line.390"></a>
-<span class="sourceLineNo">391</span>      this.count++;<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    }<a name="line.392"></a>
-<span class="sourceLineNo">393</span>  }<a name="line.393"></a>
-<span class="sourceLineNo">394</span><a name="line.394"></a>
-<span class="sourceLineNo">395</span>  private static class FlushWorker implements Runnable {<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    private final HRegionLocation addr;<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    private final LinkedBlockingQueue&lt;PutStatus&gt; queue;<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    private final HTableMultiplexer multiplexer;<a name="line.398"></a>
-<span class="sourceLineNo">399</span>    private final AtomicLong totalFailedPutCount = new AtomicLong(0);<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    private final AtomicInteger currentProcessingCount = new AtomicInteger(0);<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    private final AtomicAverageCounter averageLatency = new AtomicAverageCounter();<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    private final AtomicLong maxLatency = new AtomicLong(0);<a name="line.402"></a>
-<span class="sourceLineNo">403</span><a name="line.403"></a>
-<span class="sourceLineNo">404</span>    private final AsyncProcess ap;<a name="line.404"></a>
-<span class="sourceLineNo">405</span>    private final List&lt;PutStatus&gt; processingList = new ArrayList&lt;&gt;();<a name="line.405"></a>
-<span class="sourceLineNo">406</span>    private final ScheduledExecutorService executor;<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    private final int maxRetryInQueue;<a name="line.407"></a>
-<span class="sourceLineNo">408</span>    private final AtomicInteger retryInQueue = new AtomicInteger(0);<a name="line.408"></a>
-<span class="sourceLineNo">409</span><a name="line.409"></a>
-<span class="sourceLineNo">410</span>    public FlushWorker(Configuration conf, ClusterConnection conn, HRegionLocation addr,<a name="line.410"></a>
-<span class="sourceLineNo">411</span>        HTableMultiplexer htableMultiplexer, int perRegionServerBufferQueueSize,<a name="line.411"></a>
-<span class="sourceLineNo">412</span>        ExecutorService pool, ScheduledExecutorService executor) {<a name="line.412"></a>
-<span class="sourceLineNo">413</span>      this.addr = addr;<a name="line.413"></a>
-<span class="sourceLineNo">414</span>      this.multiplexer = htableMultiplexer;<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      this.queue = new LinkedBlockingQueue&lt;&gt;(perRegionServerBufferQueueSize);<a name="line.415"></a>
-<span class="sourceLineNo">416</span>      RpcRetryingCallerFactory rpcCallerFactory = RpcRetryingCallerFactory.instantiate(conf);<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      RpcControllerFactory rpcControllerFactory = RpcControllerFactory.instantiate(conf);<a name="line.417"></a>
-<span class="sourceLineNo">418</span>      this.ap = new AsyncProcess(conn, conf, pool, rpcCallerFactory, false, rpcControllerFactory);<a name="line.418"></a>
-<span class="sourceLineNo">419</span>      this.executor = executor;<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      this.maxRetryInQueue = conf.getInt(TABLE_MULTIPLEXER_MAX_RETRIES_IN_QUEUE, 10000);<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    }<a name="line.421"></a>
-<span class="sourceLineNo">422</span><a name="line.422"></a>
-<span class="sourceLineNo">423</span>    protected LinkedBlockingQueue&lt;PutStatus&gt; getQueue() {<a name="line.423"></a>
-<span class="sourceLineNo">424</span>      return this.queue;<a name="line.424"></a>
-<span class="sourceLineNo">425</span>    }<a name="line.425"></a>
-<span class="sourceLineNo">426</span><a name="line.426"></a>
-<span class="sourceLineNo">427</span>    public long getTotalFailedCount() {<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      return totalFailedPutCount.get();<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>    public long getTotalBufferedCount() {<a name="line.431"></a>
-<span class="sourceLineNo">432</span>      return queue.size() + currentProcessingCount.get();<a name="line.432"></a>
+<span class="sourceLineNo">367</span>    public long getOverallAverageLatency() {<a name="line.367"></a>
+<span class="sourceLineNo">368</span>      return this.overallAverageLatency;<a name="line.368"></a>
+<span class="sourceLineNo">369</span>    }<a name="line.369"></a>
+<span class="sourceLineNo">370</span><a name="line.370"></a>
+<span class="sourceLineNo">371</span>    public Map&lt;String, Long&gt; getBufferedCounterForEachRegionServer() {<a name="line.371"></a>
+<span class="sourceLineNo">372</span>      return this.serverToBufferedCounterMap;<a name="line.372"></a>
+<span class="sourceLineNo">373</span>    }<a name="line.373"></a>
+<span class="sourceLineNo">374</span><a name="line.374"></a>
+<span class="sourceLineNo">375</span>    public Map&lt;String, Long&gt; getFailedCounterForEachRegionServer() {<a name="line.375"></a>
+<span class="sourceLineNo">376</span>      return this.serverToFailedCounterMap;<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    }<a name="line.377"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>    public Map&lt;String, Long&gt; getMaxLatencyForEachRegionServer() {<a name="line.379"></a>
+<span class="sourceLineNo">380</span>      return this.serverToMaxLatencyMap;<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>    public Map&lt;String, Long&gt; getAverageLatencyForEachRegionServer() {<a name="line.383"></a>
+<span class="sourceLineNo">384</span>      return this.serverToAverageLatencyMap;<a name="line.384"></a>
+<span class="sourceLineNo">385</span>    }<a name="line.385"></a>
+<span class="sourceLineNo">386</span>  }<a name="line.386"></a>
+<span class="sourceLineNo">387</span><a name="line.387"></a>
+<span class="sourceLineNo">388</span>  @VisibleForTesting<a name="line.388"></a>
+<span class="sourceLineNo">389</span>  static class PutStatus {<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    final HRegionInfo regionInfo;<a name="line.390"></a>
+<span class="sourceLineNo">391</span>    final Put put;<a name="line.391"></a>
+<span class="sourceLineNo">392</span>    final int maxAttempCount;<a name="line.392"></a>
+<span class="sourceLineNo">393</span><a name="line.393"></a>
+<span class="sourceLineNo">394</span>    public PutStatus(HRegionInfo regionInfo, Put put, int maxAttempCount) {<a name="line.394"></a>
+<span class="sourceLineNo">395</span>      this.regionInfo = regionInfo;<a name="line.395"></a>
+<span class="sourceLineNo">396</span>      this.put = put;<a name="line.396"></a>
+<span class="sourceLineNo">397</span>      this.maxAttempCount = maxAttempCount;<a name="line.397"></a>
+<span class="sourceLineNo">398</span>    }<a name="line.398"></a>
+<span class="sourceLineNo">399</span>  }<a name="line.399"></a>
+<span class="sourceLineNo">400</span><a name="line.400"></a>
+<span class="sourceLineNo">401</span>  /**<a name="line.401"></a>
+<span class="sourceLineNo">402</span>   * Helper to count the average over an interval until reset.<a name="line.402"></a>
+<span class="sourceLineNo">403</span>   */<a name="line.403"></a>
+<span class="sourceLineNo">404</span>  private static class AtomicAverageCounter {<a name="line.404"></a>
+<span class="sourceLineNo">405</span>    private long sum;<a name="line.405"></a>
+<span class="sourceLineNo">406</span>    private int count;<a name="line.406"></a>
+<span class="sourceLineNo">407</span><a name="line.407"></a>
+<span class="sourceLineNo">408</span>    public AtomicAverageCounter() {<a name="line.408"></a>
+<span class="sourceLineNo">409</span>      this.sum = 0L;<a name="line.409"></a>
+<span class="sourceLineNo">410</span>      this.count = 0;<a name="line.410"></a>
+<span class="sourceLineNo">411</span>    }<a name="line.411"></a>
+<span class="sourceLineNo">412</span><a name="line.412"></a>
+<span class="sourceLineNo">413</span>    public synchronized long getAndReset() {<a name="line.413"></a>
+<span class="sourceLineNo">414</span>      long result = this.get();<a name="line.414"></a>
+<span class="sourceLineNo">415</span>      this.reset();<a name="line.415"></a>
+<span class="sourceLineNo">416</span>      return result;<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>    public synchronized long get() {<a name="line.419"></a>
+<span class="sourceLineNo">420</span>      if (this.count == 0) {<a name="line.420"></a>
+<span class="sourceLineNo">421</span>        return 0;<a name="line.421"></a>
+<span class="sourceLineNo">422</span>      }<a name="line.422"></a>
+<span class="sourceLineNo">423</span>      return this.sum / this.count;<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>    public synchronized SimpleEntry&lt;Long, Integer&gt; getComponents() {<a name="line.426"></a>
+<span class="sourceLineNo">427</span>      return new SimpleEntry&lt;Long, Integer&gt;(sum, count);<a name="line.427"></a>
+<span class="sourceLineNo">428</span>    }<a name="line.428"></a>
+<span class="sourceLineNo">429</span><a name="line.429"></a>
+<span class="sourceLineNo">430</span>    public synchronized void reset() {<a name="line.430"></a>
+<span class="sourceLineNo">431</span>      this.sum = 0L;<a name="line.431"></a>
+<span class="sourceLineNo">432</span>      this.count = 0;<a name="line.432"></a>
 <span class="sourceLineNo">433</span>    }<a name="line.433"></a>
 <span class="sourceLineNo">434</span><a name="line.434"></a>
-<span class="sourceLineNo">435</span>    public AtomicAverageCounter getAverageLatencyCounter() {<a name="line.435"></a>
-<span class="sourceLineNo">436</span>      return this.averageLatency;<a name="line.436"></a>
-<span class="sourceLineNo">437</span>    }<a name="line.437"></a>
-<span class="sourceLineNo">438</span><a name="line.438"></a>
-<span class="sourceLineNo">439</span>    public long getMaxLatency() {<a name="line.439"></a>
-<span class="sourceLineNo">440</span>      return this.maxLatency.getAndSet(0);<a name="line.440"></a>
-<span class="sourceLineNo">441</span>    }<a name="line.441"></a>
-<span class="sourceLineNo">442</span><a name="line.442"></a>
-<span class="sourceLineNo">443</span>    private boolean resubmitFailedPut(PutStatus ps, HRegionLocation oldLoc) throws IOException {<a name="line.443"></a>
-<span class="sourceLineNo">444</span>      // Decrease the retry count<a name="line.444"></a>
-<span class="sourceLineNo">445</span>      final int retryCount = ps.maxAttempCount - 1;<a name="line.445"></a>
-<span class="sourceLineNo">446</span><a name="line.446"></a>
-<span class="sourceLineNo">447</span>      if (retryCount &lt;= 0) {<a name="line.447"></a>
-<span class="sourceLineNo">448</span>        // Update the failed counter and no retry any more.<a name="line.448"></a>
-<span class="sourceLineNo">449</span>        return false;<a name="line.449"></a>
-<span class="sourceLineNo">450</span>      }<a name="line.450"></a>
-<span class="sourceLineNo">451</span><a name="line.451"></a>
-<span class="sourceLineNo">452</span>      int cnt = retryInQueue.incrementAndGet();<a name="line.452"></a>
-<span class="sourceLineNo">453</span>      if (cnt &gt; maxRetryInQueue) {<a name="line.453"></a>
-<span class="sourceLineNo">454</span>        // Too many Puts in queue for resubmit, give up this<a name="line.454"></a>
-<span class="sourceLineNo">455</span>        retryInQueue.decrementAndGet();<a name="line.455"></a>
-<span class="sourceLineNo">456</span>        return false;<a name="line.456"></a>
-<span class="sourceLineNo">457</span>      }<a name="line.457"></a>
-<span class="sourceLineNo">458</span><a name="line.458"></a>
-<span class="sourceLineNo">459</span>      final Put failedPut = ps.put;<a name="line.459"></a>
-<span class="sourceLineNo">460</span>      // The currentPut is failed. So get the table name for the currentPut.<a name="line.460"></a>
-<span class="sourceLineNo">461</span>      final TableName tableName = ps.regionInfo.getTable();<a name="line.461"></a>
-<span class="sourceLineNo">462</span><a name="line.462"></a>
-<span class="sourceLineNo">463</span>      long delayMs = ConnectionUtils.getPauseTime(multiplexer.flushPeriod,<a name="line.463"></a>
-<span class="sourceLineNo">464</span>        multiplexer.maxAttempts - retryCount - 1);<a name="line.464"></a>
-<span class="sourceLineNo">465</span>      if (LOG.isDebugEnabled()) {<a name="line.465"></a>
-<span class="sourceLineNo">466</span>        LOG.debug("resubmitting after " + delayMs + "ms: " + retryCount);<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>      executor.schedule(new Runnable() {<a name="line.469"></a>
-<span class="sourceLineNo">470</span>        @Override<a name="line.470"></a>
-<span class="sourceLineNo">471</span>        public void run() {<a name="line.471"></a>
-<span class="sourceLineNo">472</span>          boolean succ = false;<a name="line.472"></a>
-<span class="sourceLineNo">473</span>          try {<a name="line.473"></a>
-<span class="sourceLineNo">474</span>            succ = FlushWorker.this.multiplexer.put(tableName, failedPut, retryCount);<a name="line.474"></a>
-<span class="sourceLineNo">475</span>          } finally {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>            FlushWorker.this.retryInQueue.decrementAndGet();<a name="line.476"></a>
-<span class="sourceLineNo">477</span>            if (!succ) {<a name="line.477"></a>
-<span class="sourceLineNo">478</span>              FlushWorker.this.totalFailedPutCount.incrementAndGet();<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>      }, delayMs, TimeUnit.MILLISECONDS);<a name="line.482"></a>
-<span class="sourceLineNo">483</span>      return true;<a name="line.483"></a>
+<span class="sourceLineNo">435</span>    public synchronized void add(long value) {<a name="line.435"></a>
+<span class="sourceLineNo">436</span>      this.sum += value;<a name="line.436"></a>
+<span class="sourceLineNo">437</span>      this.count++;<a name="line.437"></a>
+<span class="sourceLineNo">438</span>    }<a name="line.438"></a>
+<span class="sourceLineNo">439</span>  }<a name="line.439"></a>
+<span class="sourceLineNo">440</span><a name="line.440"></a>
+<span class="sourceLineNo">441</span>  @VisibleForTesting<a name="line.441"></a>
+<span class="sourceLineNo">442</span>  static class FlushWorker implements Runnable {<a name="line.442"></a>
+<span class="sourceLineNo">443</span>    private final HRegionLocation addr;<a name="line.443"></a>
+<span class="sourceLineNo">444</span>    private final LinkedBlockingQueue&lt;PutStatus&gt; queue;<a name="line.444"></a>
+<span class="sourceLineNo">445</span>    private final HTableMultiplexer multiplexer;<a name="line.445"></a>
+<span class="sourceLineNo">446</span>    private final AtomicLong totalFailedPutCount = new AtomicLong(0);<a name="line.446"></a>
+<span class="sourceLineNo">447</span>    private final AtomicInteger currentProcessingCount = new AtomicInteger(0);<a name="line.447"></a>
+<span class="sourceLineNo">448</span>    private final AtomicAverageCounter averageLatency = new AtomicAverageCounter();<a name="line.448"></a>
+<span class="sourceLineNo">449</span>    private final AtomicLong maxLatency = new AtomicLong(0);<a name="line.449"></a>
+<span class="sourceLineNo">450</span><a name="line.450"></a>
+<span class="sourceLineNo">451</span>    private final AsyncProcess ap;<a name="line.451"></a>
+<span class="sourceLineNo">452</span>    private final List&lt;PutStatus&gt; processingList = new ArrayList&lt;&gt;();<a name="line.452"></a>
+<span class="sourceLineNo">453</span>    private final ScheduledExecutorService executor;<a name="line.453"></a>
+<span class="sourceLineNo">454</span>    private final int maxRetryInQueue;<a name="line.454"></a>
+<span class="sourceLineNo">455</span>    private final AtomicInteger retryInQueue = new AtomicInteger(0);<a name="line.455"></a>
+<span class="sourceLineNo">456</span><a name="line.456"></a>
+<span class="sourceLineNo">457</span>    public FlushWorker(Configuration conf, ClusterConnection conn, HRegionLocation addr,<a name="line.457"></a>
+<span class="sourceLineNo">458</span>        HTableMultiplexer htableMultiplexer, int perRegionServerBufferQueueSize,<a name="line.458"></a>
+<span class="sourceLineNo">459</span>        ExecutorService pool, ScheduledExecutorService executor) {<a name="line.459"></a>
+<span class="sourceLineNo">460</span>      this.addr = addr;<a name="line.460"></a>
+<span class="sourceLineNo">461</span>      this.multiplexer = htableMultiplexer;<a name="line.461"></a>
+<span class="sourceLineNo">462</span>      this.queue = new LinkedBlockingQueue&lt;&gt;(perRegionServerBufferQueueSize);<a name="line.462"></a>
+<span class="sourceLineNo">463</span>      RpcRetryingCallerFactory rpcCallerFactory = RpcRetryingCallerFactory.instantiate(conf);<a name="line.463"></a>
+<span class="sourceLineNo">464</span>      RpcControllerFactory rpcControllerFactory = RpcControllerFactory.instantiate(conf);<a name="line.464"></a>
+<span class="sourceLineNo">465</span>      this.ap = new AsyncProcess(conn, conf, pool, rpcCallerFactory, false, rpcControllerFactory);<a name="line.465"></a>
+<span class="sourceLineNo">466</span>      this.executor = executor;<a name="line.466"></a>
+<span class="sourceLineNo">467</span>      this.maxRetryInQueue = conf.getInt(TABLE_MULTIPLEXER_MAX_RETRIES_IN_QUEUE, 10000);<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>    protected LinkedBlockingQueue&lt;PutStatus&gt; getQueue() {<a name="line.470"></a>
+<spa

<TRUNCATED>

[10/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html
index d266952..fbdde18 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html
@@ -7,36 +7,36 @@
 <body>
 <div class="sourceContainer">
 <pre><span class="sourceLineNo">001</span>/*<a name="line.1"></a>
-<span class="sourceLineNo">002</span> *<a name="line.2"></a>
-<span class="sourceLineNo">003</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.3"></a>
-<span class="sourceLineNo">004</span> * or more contributor license agreements.  See the NOTICE file<a name="line.4"></a>
-<span class="sourceLineNo">005</span> * distributed with this work for additional information<a name="line.5"></a>
-<span class="sourceLineNo">006</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.6"></a>
-<span class="sourceLineNo">007</span> * to you under the Apache License, Version 2.0 (the<a name="line.7"></a>
-<span class="sourceLineNo">008</span> * "License"); you may not use this file except in compliance<a name="line.8"></a>
-<span class="sourceLineNo">009</span> * with the License.  You may obtain a copy of the License at<a name="line.9"></a>
-<span class="sourceLineNo">010</span> *<a name="line.10"></a>
-<span class="sourceLineNo">011</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.11"></a>
-<span class="sourceLineNo">012</span> *<a name="line.12"></a>
-<span class="sourceLineNo">013</span> * Unless required by applicable law or agreed to in writing, software<a name="line.13"></a>
-<span class="sourceLineNo">014</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.14"></a>
-<span class="sourceLineNo">015</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.15"></a>
-<span class="sourceLineNo">016</span> * See the License for the specific language governing permissions and<a name="line.16"></a>
-<span class="sourceLineNo">017</span> * limitations under the License.<a name="line.17"></a>
-<span class="sourceLineNo">018</span> */<a name="line.18"></a>
-<span class="sourceLineNo">019</span>package org.apache.hadoop.hbase.regionserver;<a name="line.19"></a>
-<span class="sourceLineNo">020</span><a name="line.20"></a>
-<span class="sourceLineNo">021</span>import java.io.EOFException;<a name="line.21"></a>
-<span class="sourceLineNo">022</span>import java.io.FileNotFoundException;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.io.IOException;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.io.InterruptedIOException;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.lang.reflect.Constructor;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.text.ParseException;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import java.util.AbstractList;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import java.util.ArrayList;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import java.util.Arrays;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import java.util.Collection;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import java.util.Collections;<a name="line.31"></a>
+<span class="sourceLineNo">002</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.2"></a>
+<span class="sourceLineNo">003</span> * or more contributor license agreements.  See the NOTICE file<a name="line.3"></a>
+<span class="sourceLineNo">004</span> * distributed with this work for additional information<a name="line.4"></a>
+<span class="sourceLineNo">005</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.5"></a>
+<span class="sourceLineNo">006</span> * to you under the Apache License, Version 2.0 (the<a name="line.6"></a>
+<span class="sourceLineNo">007</span> * "License"); you may not use this file except in compliance<a name="line.7"></a>
+<span class="sourceLineNo">008</span> * with the License.  You may obtain a copy of the License at<a name="line.8"></a>
+<span class="sourceLineNo">009</span> *<a name="line.9"></a>
+<span class="sourceLineNo">010</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.10"></a>
+<span class="sourceLineNo">011</span> *<a name="line.11"></a>
+<span class="sourceLineNo">012</span> * Unless required by applicable law or agreed to in writing, software<a name="line.12"></a>
+<span class="sourceLineNo">013</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.13"></a>
+<span class="sourceLineNo">014</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.14"></a>
+<span class="sourceLineNo">015</span> * See the License for the specific language governing permissions and<a name="line.15"></a>
+<span class="sourceLineNo">016</span> * limitations under the License.<a name="line.16"></a>
+<span class="sourceLineNo">017</span> */<a name="line.17"></a>
+<span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.regionserver;<a name="line.18"></a>
+<span class="sourceLineNo">019</span><a name="line.19"></a>
+<span class="sourceLineNo">020</span>import java.io.EOFException;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import java.io.FileNotFoundException;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import java.io.IOException;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import java.io.InterruptedIOException;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.lang.reflect.Constructor;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.text.ParseException;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.util.AbstractList;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.util.ArrayList;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import java.util.Arrays;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import java.util.Collection;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import java.util.Collections;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import java.util.Comparator;<a name="line.31"></a>
 <span class="sourceLineNo">032</span>import java.util.HashMap;<a name="line.32"></a>
 <span class="sourceLineNo">033</span>import java.util.HashSet;<a name="line.33"></a>
 <span class="sourceLineNo">034</span>import java.util.Iterator;<a name="line.34"></a>
@@ -49,35 +49,35 @@
 <span class="sourceLineNo">041</span>import java.util.RandomAccess;<a name="line.41"></a>
 <span class="sourceLineNo">042</span>import java.util.Set;<a name="line.42"></a>
 <span class="sourceLineNo">043</span>import java.util.TreeMap;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import java.util.concurrent.Callable;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import java.util.concurrent.CompletionService;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import java.util.concurrent.ConcurrentMap;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import java.util.concurrent.ConcurrentSkipListMap;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import java.util.concurrent.ExecutionException;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import java.util.concurrent.ExecutorCompletionService;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import java.util.concurrent.ExecutorService;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import java.util.concurrent.Executors;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import java.util.concurrent.Future;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import java.util.concurrent.FutureTask;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import java.util.concurrent.ThreadFactory;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import java.util.concurrent.ThreadPoolExecutor;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import java.util.concurrent.TimeUnit;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import java.util.concurrent.TimeoutException;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import java.util.concurrent.atomic.AtomicBoolean;<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.atomic.AtomicLong;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import java.util.concurrent.locks.Lock;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import java.util.concurrent.locks.ReadWriteLock;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import java.util.concurrent.locks.ReentrantReadWriteLock;<a name="line.64"></a>
-<span class="sourceLineNo">065</span><a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.commons.logging.Log;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.commons.logging.LogFactory;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.conf.Configuration;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.fs.FileStatus;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.fs.FileSystem;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.fs.Path;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.ArrayBackedTag;<a name="line.72"></a>
+<span class="sourceLineNo">044</span>import java.util.UUID;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import java.util.concurrent.Callable;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import java.util.concurrent.CompletionService;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import java.util.concurrent.ConcurrentMap;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import java.util.concurrent.ConcurrentSkipListMap;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import java.util.concurrent.ExecutionException;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import java.util.concurrent.ExecutorCompletionService;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import java.util.concurrent.ExecutorService;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import java.util.concurrent.Executors;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import java.util.concurrent.Future;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import java.util.concurrent.FutureTask;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import java.util.concurrent.ThreadFactory;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import java.util.concurrent.ThreadPoolExecutor;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import java.util.concurrent.TimeUnit;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import java.util.concurrent.TimeoutException;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import java.util.concurrent.atomic.AtomicBoolean;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import java.util.concurrent.locks.Lock;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import java.util.concurrent.locks.ReadWriteLock;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import java.util.concurrent.locks.ReentrantReadWriteLock;<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.fs.FileStatus;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.fs.FileSystem;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.fs.Path;<a name="line.72"></a>
 <span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.Cell;<a name="line.73"></a>
 <span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.CellComparator;<a name="line.74"></a>
 <span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.75"></a>
@@ -85,8169 +85,7763 @@
 <span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.CompoundConfiguration;<a name="line.77"></a>
 <span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.78"></a>
 <span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.DroppedSnapshotException;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.HBaseConfiguration;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.HConstants;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.HConstants.OperationStatusCode;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.HDFSBlocksDistribution;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.KeyValue;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.KeyValueUtil;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.RegionTooBusyException;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.ShareableMemory;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.TableName;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.Tag;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.TagRewriteCell;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.TagType;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.TagUtil;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.UnknownScannerException;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.backup.HFileArchiver;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.client.Append;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.client.Durability;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.client.Get;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.client.Increment;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.client.IsolationLevel;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.client.Put;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.client.Result;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.client.RowMutations;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.conf.ConfigurationManager;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.conf.PropagatingConfigurationObserver;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.coprocessor.RegionObserver;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.errorhandling.ForeignExceptionSnare;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.exceptions.FailedSanityCheckException;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.exceptions.RegionInRecoveryException;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.exceptions.UnknownProtocolException;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.filter.ByteArrayComparable;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.filter.FilterWrapper;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.filter.IncompatibleFilterException;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.io.HeapSize;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.io.TimeRange;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.io.hfile.BlockCache;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.io.hfile.CacheConfig;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.io.hfile.HFile;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.ipc.CallerDisconnectedException;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.ipc.RpcCallContext;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.mob.MobUtils;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.monitoring.MonitoredTask;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.protobuf.ResponseConverter;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceCall;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.RegionLoad;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.StoreSequenceId;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor.FlushAction;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor.StoreFlushDescriptor;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor.EventType;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.StoreDescriptor;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.NextState;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.regionserver.compactions.CompactionContext;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.regionserver.throttle.CompactionThroughputControllerFactory;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.regionserver.throttle.NoLimitThroughputController;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.regionserver.throttle.ThroughputController;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.regionserver.wal.HLogKey;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.regionserver.wal.ReplayHLogKey;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.regionserver.wal.WALUtil;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.security.User;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.snapshot.SnapshotDescriptionUtils;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.snapshot.SnapshotManifest;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.util.ByteStringer;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.util.CancelableProgressable;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.util.ClassSize;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.util.CompressionTest;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.util.Counter;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.util.EncryptionTest;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.util.FSTableDescriptors;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.util.HashedBytes;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.Threads;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.wal.WALFactory;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.wal.WALSplitter.MutationReplay;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.io.MultipleIOException;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.util.StringUtils;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.htrace.Trace;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>import org.apache.htrace.TraceScope;<a name="line.186"></a>
-<span class="sourceLineNo">187</span><a name="line.187"></a>
-<span class="sourceLineNo">188</span>import com.google.common.annotations.VisibleForTesting;<a name="line.188"></a>
-<span class="sourceLineNo">189</span>import com.google.common.base.Optional;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>import com.google.common.base.Preconditions;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>import com.google.common.collect.Lists;<a name="line.191"></a>
-<span class="sourceLineNo">192</span>import com.google.common.collect.Maps;<a name="line.192"></a>
-<span class="sourceLineNo">193</span>import com.google.common.io.Closeables;<a name="line.193"></a>
-<span class="sourceLineNo">194</span>import com.google.protobuf.ByteString;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>import com.google.protobuf.Descriptors;<a name="line.195"></a>
-<span class="sourceLineNo">196</span>import com.google.protobuf.Message;<a name="line.196"></a>
-<span class="sourceLineNo">197</span>import com.google.protobuf.RpcCallback;<a name="line.197"></a>
-<span class="sourceLineNo">198</span>import com.google.protobuf.RpcController;<a name="line.198"></a>
-<span class="sourceLineNo">199</span>import com.google.protobuf.Service;<a name="line.199"></a>
-<span class="sourceLineNo">200</span>import com.google.protobuf.TextFormat;<a name="line.200"></a>
-<span class="sourceLineNo">201</span><a name="line.201"></a>
-<span class="sourceLineNo">202</span>@InterfaceAudience.Private<a name="line.202"></a>
-<span class="sourceLineNo">203</span>public class HRegion implements HeapSize, PropagatingConfigurationObserver, Region {<a name="line.203"></a>
-<span class="sourceLineNo">204</span>  private static final Log LOG = LogFactory.getLog(HRegion.class);<a name="line.204"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.HConstants;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.HConstants.OperationStatusCode;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.HDFSBlocksDistribution;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.KeyValue;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.KeyValueUtil;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.RegionTooBusyException;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.ShareableMemory;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.TableName;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.Tag;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.TagRewriteCell;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.TagUtil;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.UnknownScannerException;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.backup.HFileArchiver;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.client.Append;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.client.Durability;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.client.Get;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.client.Increment;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.client.IsolationLevel;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.client.Put;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.client.Result;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.client.RowMutations;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.conf.ConfigurationManager;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.conf.PropagatingConfigurationObserver;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.coprocessor.RegionObserver.MutationType;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.errorhandling.ForeignExceptionSnare;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.exceptions.FailedSanityCheckException;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.exceptions.RegionInRecoveryException;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.exceptions.UnknownProtocolException;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.filter.ByteArrayComparable;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.filter.FilterWrapper;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.filter.IncompatibleFilterException;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.io.HeapSize;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.io.TimeRange;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.io.hfile.HFile;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.ipc.CallerDisconnectedException;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.ipc.RpcCallContext;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.mob.MobUtils;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.monitoring.MonitoredTask;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.protobuf.ResponseConverter;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceCall;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.RegionLoad;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.StoreSequenceId;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor.FlushAction;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor.StoreFlushDescriptor;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor.EventType;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.StoreDescriptor;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl.WriteEntry;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.NextState;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.regionserver.compactions.CompactionContext;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.regionserver.throttle.CompactionThroughputControllerFactory;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.regionserver.throttle.NoLimitThroughputController;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.regionserver.throttle.ThroughputController;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.regionserver.wal.HLogKey;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.regionserver.wal.ReplayHLogKey;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.regionserver.wal.WALUtil;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.security.User;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.snapshot.SnapshotDescriptionUtils;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.snapshot.SnapshotManifest;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.util.ByteStringer;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.util.CancelableProgressable;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.util.ClassSize;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.util.CompressionTest;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.util.Counter;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.util.EncryptionTest;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.util.HashedBytes;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.util.Threads;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.wal.WALFactory;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.wal.WALSplitter.MutationReplay;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>import org.apache.hadoop.io.MultipleIOException;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>import org.apache.hadoop.util.StringUtils;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>import org.apache.htrace.Trace;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.htrace.TraceScope;<a name="line.182"></a>
+<span class="sourceLineNo">183</span><a name="line.183"></a>
+<span class="sourceLineNo">184</span>import com.google.common.annotations.VisibleForTesting;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import com.google.common.base.Optional;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import com.google.common.base.Preconditions;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import com.google.common.collect.Lists;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>import com.google.common.collect.Maps;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>import com.google.common.io.Closeables;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>import com.google.protobuf.ByteString;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>import com.google.protobuf.Descriptors;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>import com.google.protobuf.Message;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>import com.google.protobuf.RpcCallback;<a name="line.193"></a>
+<span class="sourceLineNo">194</span>import com.google.protobuf.RpcController;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>import com.google.protobuf.Service;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>import com.google.protobuf.TextFormat;<a name="line.196"></a>
+<span class="sourceLineNo">197</span><a name="line.197"></a>
+<span class="sourceLineNo">198</span>@SuppressWarnings("deprecation")<a name="line.198"></a>
+<span class="sourceLineNo">199</span>@InterfaceAudience.Private<a name="line.199"></a>
+<span class="sourceLineNo">200</span>public class HRegion implements HeapSize, PropagatingConfigurationObserver, Region {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>  private static final Log LOG = LogFactory.getLog(HRegion.class);<a name="line.201"></a>
+<span class="sourceLineNo">202</span><a name="line.202"></a>
+<span class="sourceLineNo">203</span>  public static final String LOAD_CFS_ON_DEMAND_CONFIG_KEY =<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    "hbase.hregion.scan.loadColumnFamiliesOnDemand";<a name="line.204"></a>
 <span class="sourceLineNo">205</span><a name="line.205"></a>
-<span class="sourceLineNo">206</span>  public static final String LOAD_CFS_ON_DEMAND_CONFIG_KEY =<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    "hbase.hregion.scan.loadColumnFamiliesOnDemand";<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>   * Longest time we'll wait on a sequenceid.<a name="line.210"></a>
-<span class="sourceLineNo">211</span>   * Sequenceid comes up out of the WAL subsystem. WAL subsystem can go bad or a test might use<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   * it without cleaning up previous usage properly; generally, a WAL roll is needed. The timeout<a name="line.212"></a>
-<span class="sourceLineNo">213</span>   * is for a latch in WALKey. There is no global accounting of outstanding WALKeys; intentionally<a name="line.213"></a>
-<span class="sourceLineNo">214</span>   * to avoid contention, but it makes it so if an abort or problem, we could be stuck waiting<a name="line.214"></a>
-<span class="sourceLineNo">215</span>   * on the WALKey latch. Revisit.<a name="line.215"></a>
-<span class="sourceLineNo">216</span>   */<a name="line.216"></a>
-<span class="sourceLineNo">217</span>  private final int maxWaitForSeqId;<a name="line.217"></a>
-<span class="sourceLineNo">218</span>  private static final String MAX_WAIT_FOR_SEQ_ID_KEY = "hbase.hregion.max.wait.for.sequenceid.ms";<a name="line.218"></a>
-<span class="sourceLineNo">219</span>  private static final int DEFAULT_MAX_WAIT_FOR_SEQ_ID = 30000;<a name="line.219"></a>
+<span class="sourceLineNo">206</span>  /**<a name="line.206"></a>
+<span class="sourceLineNo">207</span>   * This is the global default value for durability. All tables/mutations not<a name="line.207"></a>
+<span class="sourceLineNo">208</span>   * defining a durability or using USE_DEFAULT will default to this value.<a name="line.208"></a>
+<span class="sourceLineNo">209</span>   */<a name="line.209"></a>
+<span class="sourceLineNo">210</span>  private static final Durability DEFAULT_DURABILITY = Durability.SYNC_WAL;<a name="line.210"></a>
+<span class="sourceLineNo">211</span><a name="line.211"></a>
+<span class="sourceLineNo">212</span>  final AtomicBoolean closed = new AtomicBoolean(false);<a name="line.212"></a>
+<span class="sourceLineNo">213</span><a name="line.213"></a>
+<span class="sourceLineNo">214</span>  /* Closing can take some time; use the closing flag if there is stuff we don't<a name="line.214"></a>
+<span class="sourceLineNo">215</span>   * want to do while in closing state; e.g. like offer this region up to the<a name="line.215"></a>
+<span class="sourceLineNo">216</span>   * master as a region to close if the carrying regionserver is overloaded.<a name="line.216"></a>
+<span class="sourceLineNo">217</span>   * Once set, it is never cleared.<a name="line.217"></a>
+<span class="sourceLineNo">218</span>   */<a name="line.218"></a>
+<span class="sourceLineNo">219</span>  final AtomicBoolean closing = new AtomicBoolean(false);<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>   * This is the global default value for durability. All tables/mutations not<a name="line.222"></a>
-<span class="sourceLineNo">223</span>   * defining a durability or using USE_DEFAULT will default to this value.<a name="line.223"></a>
+<span class="sourceLineNo">222</span>   * The max sequence id of flushed data on this region. There is no edit in memory that is<a name="line.222"></a>
+<span class="sourceLineNo">223</span>   * less that this sequence id.<a name="line.223"></a>
 <span class="sourceLineNo">224</span>   */<a name="line.224"></a>
-<span class="sourceLineNo">225</span>  private static final Durability DEFAULT_DURABILITY = Durability.SYNC_WAL;<a name="line.225"></a>
+<span class="sourceLineNo">225</span>  private volatile long maxFlushedSeqId = HConstants.NO_SEQNUM;<a name="line.225"></a>
 <span class="sourceLineNo">226</span><a name="line.226"></a>
-<span class="sourceLineNo">227</span>  final AtomicBoolean closed = new AtomicBoolean(false);<a name="line.227"></a>
-<span class="sourceLineNo">228</span><a name="line.228"></a>
-<span class="sourceLineNo">229</span>  /* Closing can take some time; use the closing flag if there is stuff we don't<a name="line.229"></a>
-<span class="sourceLineNo">230</span>   * want to do while in closing state; e.g. like offer this region up to the<a name="line.230"></a>
-<span class="sourceLineNo">231</span>   * master as a region to close if the carrying regionserver is overloaded.<a name="line.231"></a>
-<span class="sourceLineNo">232</span>   * Once set, it is never cleared.<a name="line.232"></a>
-<span class="sourceLineNo">233</span>   */<a name="line.233"></a>
-<span class="sourceLineNo">234</span>  final AtomicBoolean closing = new AtomicBoolean(false);<a name="line.234"></a>
-<span class="sourceLineNo">235</span><a name="line.235"></a>
-<span class="sourceLineNo">236</span>  /**<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   * The max sequence id of flushed data on this region. There is no edit in memory that is<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   * less that this sequence id.<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   */<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  private volatile long maxFlushedSeqId = HConstants.NO_SEQNUM;<a name="line.240"></a>
+<span class="sourceLineNo">227</span>  /**<a name="line.227"></a>
+<span class="sourceLineNo">228</span>   * Record the sequence id of last flush operation. Can be in advance of<a name="line.228"></a>
+<span class="sourceLineNo">229</span>   * {@link #maxFlushedSeqId} when flushing a single column family. In this case,<a name="line.229"></a>
+<span class="sourceLineNo">230</span>   * {@link #maxFlushedSeqId} will be older than the oldest edit in memory.<a name="line.230"></a>
+<span class="sourceLineNo">231</span>   */<a name="line.231"></a>
+<span class="sourceLineNo">232</span>  private volatile long lastFlushOpSeqId = HConstants.NO_SEQNUM;<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>   * The sequence id of the last replayed open region event from the primary region. This is used<a name="line.235"></a>
+<span class="sourceLineNo">236</span>   * to skip entries before this due to the possibility of replay edits coming out of order from<a name="line.236"></a>
+<span class="sourceLineNo">237</span>   * replication.<a name="line.237"></a>
+<span class="sourceLineNo">238</span>   */<a name="line.238"></a>
+<span class="sourceLineNo">239</span>  protected volatile long lastReplayedOpenRegionSeqId = -1L;<a name="line.239"></a>
+<span class="sourceLineNo">240</span>  protected volatile long lastReplayedCompactionSeqId = -1L;<a name="line.240"></a>
 <span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>  /**<a name="line.242"></a>
-<span class="sourceLineNo">243</span>   * Record the sequence id of last flush operation. Can be in advance of<a name="line.243"></a>
-<span class="sourceLineNo">244</span>   * {@link #maxFlushedSeqId} when flushing a single column family. In this case,<a name="line.244"></a>
-<span class="sourceLineNo">245</span>   * {@link #maxFlushedSeqId} will be older than the oldest edit in memory.<a name="line.245"></a>
-<span class="sourceLineNo">246</span>   */<a name="line.246"></a>
-<span class="sourceLineNo">247</span>  private volatile long lastFlushOpSeqId = HConstants.NO_SEQNUM;<a name="line.247"></a>
-<span class="sourceLineNo">248</span><a name="line.248"></a>
-<span class="sourceLineNo">249</span>  /**<a name="line.249"></a>
-<span class="sourceLineNo">250</span>   * The sequence id of the last replayed open region event from the primary region. This is used<a name="line.250"></a>
-<span class="sourceLineNo">251</span>   * to skip entries before this due to the possibility of replay edits coming out of order from<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * replication.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  protected volatile long lastReplayedOpenRegionSeqId = -1L;<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  protected volatile long lastReplayedCompactionSeqId = -1L;<a name="line.255"></a>
+<span class="sourceLineNo">242</span>  //////////////////////////////////////////////////////////////////////////////<a name="line.242"></a>
+<span class="sourceLineNo">243</span>  // Members<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>  // map from a locked row to the context for that lock including:<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  // - CountDownLatch for threads waiting on that row<a name="line.247"></a>
+<span class="sourceLineNo">248</span>  // - the thread that owns the lock (allow reentrancy)<a name="line.248"></a>
+<span class="sourceLineNo">249</span>  // - reference count of (reentrant) locks held by the thread<a name="line.249"></a>
+<span class="sourceLineNo">250</span>  // - the row itself<a name="line.250"></a>
+<span class="sourceLineNo">251</span>  private final ConcurrentHashMap&lt;HashedBytes, RowLockContext&gt; lockedRows =<a name="line.251"></a>
+<span class="sourceLineNo">252</span>      new ConcurrentHashMap&lt;HashedBytes, RowLockContext&gt;();<a name="line.252"></a>
+<span class="sourceLineNo">253</span><a name="line.253"></a>
+<span class="sourceLineNo">254</span>  protected final Map&lt;byte[], Store&gt; stores = new ConcurrentSkipListMap&lt;byte[], Store&gt;(<a name="line.254"></a>
+<span class="sourceLineNo">255</span>      Bytes.BYTES_RAWCOMPARATOR);<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>  // Members<a name="line.258"></a>
-<span class="sourceLineNo">259</span>  //////////////////////////////////////////////////////////////////////////////<a name="line.259"></a>
-<span class="sourceLineNo">260</span><a name="line.260"></a>
-<span class="sourceLineNo">261</span>  // map from a locked row to the context for that lock including:<a name="line.261"></a>
-<span class="sourceLineNo">262</span>  // - CountDownLatch for threads waiting on that row<a name="line.262"></a>
-<span class="sourceLineNo">263</span>  // - the thread that owns the lock (allow reentrancy)<a name="line.263"></a>
-<span class="sourceLineNo">264</span>  // - reference count of (reentrant) locks held by the thread<a name="line.264"></a>
-<span class="sourceLineNo">265</span>  // - the row itself<a name="line.265"></a>
-<span class="sourceLineNo">266</span>  private final ConcurrentHashMap&lt;HashedBytes, RowLockContext&gt; lockedRows =<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      new ConcurrentHashMap&lt;HashedBytes, RowLockContext&gt;();<a name="line.267"></a>
-<span class="sourceLineNo">268</span><a name="line.268"></a>
-<span class="sourceLineNo">269</span>  protected final Map&lt;byte[], Store&gt; stores = new ConcurrentSkipListMap&lt;byte[], Store&gt;(<a name="line.269"></a>
-<span class="sourceLineNo">270</span>      Bytes.BYTES_RAWCOMPARATOR);<a name="line.270"></a>
-<span class="sourceLineNo">271</span><a name="line.271"></a>
-<span class="sourceLineNo">272</span>  // TODO: account for each registered handler in HeapSize computation<a name="line.272"></a>
-<span class="sourceLineNo">273</span>  private Map&lt;String, Service&gt; coprocessorServiceHandlers = Maps.newHashMap();<a name="line.273"></a>
+<span class="sourceLineNo">257</span>  // TODO: account for each registered handler in HeapSize computation<a name="line.257"></a>
+<span class="sourceLineNo">258</span>  private Map&lt;String, Service&gt; coprocessorServiceHandlers = Maps.newHashMap();<a name="line.258"></a>
+<span class="sourceLineNo">259</span><a name="line.259"></a>
+<span class="sourceLineNo">260</span>  private final AtomicLong memstoreSize = new AtomicLong(0);<a name="line.260"></a>
+<span class="sourceLineNo">261</span><a name="line.261"></a>
+<span class="sourceLineNo">262</span>  // Debug possible data loss due to WAL off<a name="line.262"></a>
+<span class="sourceLineNo">263</span>  final Counter numMutationsWithoutWAL = new Counter();<a name="line.263"></a>
+<span class="sourceLineNo">264</span>  final Counter dataInMemoryWithoutWAL = new Counter();<a name="line.264"></a>
+<span class="sourceLineNo">265</span><a name="line.265"></a>
+<span class="sourceLineNo">266</span>  // Debug why CAS operations are taking a while.<a name="line.266"></a>
+<span class="sourceLineNo">267</span>  final Counter checkAndMutateChecksPassed = new Counter();<a name="line.267"></a>
+<span class="sourceLineNo">268</span>  final Counter checkAndMutateChecksFailed = new Counter();<a name="line.268"></a>
+<span class="sourceLineNo">269</span><a name="line.269"></a>
+<span class="sourceLineNo">270</span>  // Number of requests<a name="line.270"></a>
+<span class="sourceLineNo">271</span>  final Counter readRequestsCount = new Counter();<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  final Counter filteredReadRequestsCount = new Counter();<a name="line.272"></a>
+<span class="sourceLineNo">273</span>  final Counter writeRequestsCount = new Counter();<a name="line.273"></a>
 <span class="sourceLineNo">274</span><a name="line.274"></a>
-<span class="sourceLineNo">275</span>  private final AtomicLong memstoreSize = new AtomicLong(0);<a name="line.275"></a>
-<span class="sourceLineNo">276</span><a name="line.276"></a>
-<span class="sourceLineNo">277</span>  // Debug possible data loss due to WAL off<a name="line.277"></a>
-<span class="sourceLineNo">278</span>  final Counter numMutationsWithoutWAL = new Counter();<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  final Counter dataInMemoryWithoutWAL = new Counter();<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  // Debug why CAS operations are taking a while.<a name="line.281"></a>
-<span class="sourceLineNo">282</span>  final Counter checkAndMutateChecksPassed = new Counter();<a name="line.282"></a>
-<span class="sourceLineNo">283</span>  final Counter checkAndMutateChecksFailed = new Counter();<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>  //Number of requests<a name="line.285"></a>
-<span class="sourceLineNo">286</span>  final Counter readRequestsCount = new Counter();<a name="line.286"></a>
-<span class="sourceLineNo">287</span>  final Counter filteredReadRequestsCount = new Counter();<a name="line.287"></a>
-<span class="sourceLineNo">288</span>  final Counter writeRequestsCount = new Counter();<a name="line.288"></a>
-<span class="sourceLineNo">289</span><a name="line.289"></a>
-<span class="sourceLineNo">290</span>  // Number of requests blocked by memstore size.<a name="line.290"></a>
-<span class="sourceLineNo">291</span>  private final Counter blockedRequestsCount = new Counter();<a name="line.291"></a>
-<span class="sourceLineNo">292</span><a name="line.292"></a>
-<span class="sourceLineNo">293</span>  // Compaction counters<a name="line.293"></a>
-<span class="sourceLineNo">294</span>  final AtomicLong compactionsFinished = new AtomicLong(0L);<a name="line.294"></a>
-<span class="sourceLineNo">295</span>  final AtomicLong compactionNumFilesCompacted = new AtomicLong(0L);<a name="line.295"></a>
-<span class="sourceLineNo">296</span>  final AtomicLong compactionNumBytesCompacted = new AtomicLong(0L);<a name="line.296"></a>
-<span class="sourceLineNo">297</span><a name="line.297"></a>
-<span class="sourceLineNo">298</span>  private final WAL wal;<a name="line.298"></a>
-<span class="sourceLineNo">299</span>  private final HRegionFileSystem fs;<a name="line.299"></a>
-<span class="sourceLineNo">300</span>  protected final Configuration conf;<a name="line.300"></a>
-<span class="sourceLineNo">301</span>  private final Configuration baseConf;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  private final int rowLockWaitDuration;<a name="line.302"></a>
-<span class="sourceLineNo">303</span>  private CompactedHFilesDischarger compactedFileDischarger;<a name="line.303"></a>
-<span class="sourceLineNo">304</span>  static final int DEFAULT_ROWLOCK_WAIT_DURATION = 30000;<a name="line.304"></a>
-<span class="sourceLineNo">305</span><a name="line.305"></a>
-<span class="sourceLineNo">306</span>  // The internal wait duration to acquire a lock before read/update<a name="line.306"></a>
-<span class="sourceLineNo">307</span>  // from the region. It is not per row. The purpose of this wait time<a name="line.307"></a>
-<span class="sourceLineNo">308</span>  // is to avoid waiting a long time while the region is busy, so that<a name="line.308"></a>
-<span class="sourceLineNo">309</span>  // we can release the IPC handler soon enough to improve the<a name="line.309"></a>
-<span class="sourceLineNo">310</span>  // availability of the region server. It can be adjusted by<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  // tuning configuration "hbase.busy.wait.duration".<a name="line.311"></a>
-<span class="sourceLineNo">312</span>  final long busyWaitDuration;<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  static final long DEFAULT_BUSY_WAIT_DURATION = HConstants.DEFAULT_HBASE_RPC_TIMEOUT;<a name="line.313"></a>
+<span class="sourceLineNo">275</span>  // Number of requests blocked by memstore size.<a name="line.275"></a>
+<span class="sourceLineNo">276</span>  private final Counter blockedRequestsCount = new Counter();<a name="line.276"></a>
+<span class="sourceLineNo">277</span><a name="line.277"></a>
+<span class="sourceLineNo">278</span>  // Compaction counters<a name="line.278"></a>
+<span class="sourceLineNo">279</span>  final AtomicLong compactionsFinished = new AtomicLong(0L);<a name="line.279"></a>
+<span class="sourceLineNo">280</span>  final AtomicLong compactionNumFilesCompacted = new AtomicLong(0L);<a name="line.280"></a>
+<span class="sourceLineNo">281</span>  final AtomicLong compactionNumBytesCompacted = new AtomicLong(0L);<a name="line.281"></a>
+<span class="sourceLineNo">282</span><a name="line.282"></a>
+<span class="sourceLineNo">283</span>  private final WAL wal;<a name="line.283"></a>
+<span class="sourceLineNo">284</span>  private final HRegionFileSystem fs;<a name="line.284"></a>
+<span class="sourceLineNo">285</span>  protected final Configuration conf;<a name="line.285"></a>
+<span class="sourceLineNo">286</span>  private final Configuration baseConf;<a name="line.286"></a>
+<span class="sourceLineNo">287</span>  private final int rowLockWaitDuration;<a name="line.287"></a>
+<span class="sourceLineNo">288</span>  private CompactedHFilesDischarger compactedFileDischarger;<a name="line.288"></a>
+<span class="sourceLineNo">289</span>  static final int DEFAULT_ROWLOCK_WAIT_DURATION = 30000;<a name="line.289"></a>
+<span class="sourceLineNo">290</span><a name="line.290"></a>
+<span class="sourceLineNo">291</span>  // The internal wait duration to acquire a lock before read/update<a name="line.291"></a>
+<span class="sourceLineNo">292</span>  // from the region. It is not per row. The purpose of this wait time<a name="line.292"></a>
+<span class="sourceLineNo">293</span>  // is to avoid waiting a long time while the region is busy, so that<a name="line.293"></a>
+<span class="sourceLineNo">294</span>  // we can release the IPC handler soon enough to improve the<a name="line.294"></a>
+<span class="sourceLineNo">295</span>  // availability of the region server. It can be adjusted by<a name="line.295"></a>
+<span class="sourceLineNo">296</span>  // tuning configuration "hbase.busy.wait.duration".<a name="line.296"></a>
+<span class="sourceLineNo">297</span>  final long busyWaitDuration;<a name="line.297"></a>
+<span class="sourceLineNo">298</span>  static final long DEFAULT_BUSY_WAIT_DURATION = HConstants.DEFAULT_HBASE_RPC_TIMEOUT;<a name="line.298"></a>
+<span class="sourceLineNo">299</span><a name="line.299"></a>
+<span class="sourceLineNo">300</span>  // If updating multiple rows in one call, wait longer,<a name="line.300"></a>
+<span class="sourceLineNo">301</span>  // i.e. waiting for busyWaitDuration * # of rows. However,<a name="line.301"></a>
+<span class="sourceLineNo">302</span>  // we can limit the max multiplier.<a name="line.302"></a>
+<span class="sourceLineNo">303</span>  final int maxBusyWaitMultiplier;<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span>  // Max busy wait duration. There is no point to wait longer than the RPC<a name="line.305"></a>
+<span class="sourceLineNo">306</span>  // purge timeout, when a RPC call will be terminated by the RPC engine.<a name="line.306"></a>
+<span class="sourceLineNo">307</span>  final long maxBusyWaitDuration;<a name="line.307"></a>
+<span class="sourceLineNo">308</span><a name="line.308"></a>
+<span class="sourceLineNo">309</span>  // negative number indicates infinite timeout<a name="line.309"></a>
+<span class="sourceLineNo">310</span>  static final long DEFAULT_ROW_PROCESSOR_TIMEOUT = 60 * 1000L;<a name="line.310"></a>
+<span class="sourceLineNo">311</span>  final ExecutorService rowProcessorExecutor = Executors.newCachedThreadPool();<a name="line.311"></a>
+<span class="sourceLineNo">312</span><a name="line.312"></a>
+<span class="sourceLineNo">313</span>  private final ConcurrentHashMap&lt;RegionScanner, Long&gt; scannerReadPoints;<a name="line.313"></a>
 <span class="sourceLineNo">314</span><a name="line.314"></a>
-<span class="sourceLineNo">315</span>  // If updating multiple rows in one call, wait longer,<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  // i.e. waiting for busyWaitDuration * # of rows. However,<a name="line.316"></a>
-<span class="sourceLineNo">317</span>  // we can limit the max multiplier.<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  final int maxBusyWaitMultiplier;<a name="line.318"></a>
+<span class="sourceLineNo">315</span>  /**<a name="line.315"></a>
+<span class="sourceLineNo">316</span>   * The sequence ID that was encountered when this region was opened.<a name="line.316"></a>
+<span class="sourceLineNo">317</span>   */<a name="line.317"></a>
+<span class="sourceLineNo">318</span>  private long openSeqNum = HConstants.NO_SEQNUM;<a name="line.318"></a>
 <span class="sourceLineNo">319</span><a name="line.319"></a>
-<span class="sourceLineNo">320</span>  // Max busy wait duration. There is no point to wait longer than the RPC<a name="line.320"></a>
-<span class="sourceLineNo">321</span>  // purge timeout, when a RPC call will be terminated by the RPC engine.<a name="line.321"></a>
-<span class="sourceLineNo">322</span>  final long maxBusyWaitDuration;<a name="line.322"></a>
-<span class="sourceLineNo">323</span><a name="line.323"></a>
-<span class="sourceLineNo">324</span>  // negative number indicates infinite timeout<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  static final long DEFAULT_ROW_PROCESSOR_TIMEOUT = 60 * 1000L;<a name="line.325"></a>
-<span class="sourceLineNo">326</span>  final ExecutorService rowProcessorExecutor = Executors.newCachedThreadPool();<a name="line.326"></a>
-<span class="sourceLineNo">327</span><a name="line.327"></a>
-<span class="sourceLineNo">328</span>  private final ConcurrentHashMap&lt;RegionScanner, Long&gt; scannerReadPoints;<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>   * The sequence ID that was encountered when this region was opened.<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   */<a name="line.332"></a>
-<span class="sourceLineNo">333</span>  private long openSeqNum = HConstants.NO_SEQNUM;<a name="line.333"></a>
-<span class="sourceLineNo">334</span><a name="line.334"></a>
-<span class="sourceLineNo">335</span>  /**<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   * The default setting for whether to enable on-demand CF loading for<a name="line.336"></a>
-<span class="sourceLineNo">337</span>   * scan requests to this region. Requests can override it.<a name="line.337"></a>
-<span class="sourceLineNo">338</span>   */<a name="line.338"></a>
-<span class="sourceLineNo">339</span>  private boolean isLoadingCfsOnDemandDefault = false;<a name="line.339"></a>
-<span class="sourceLineNo">340</span><a name="line.340"></a>
-<span class="sourceLineNo">341</span>  private final AtomicInteger majorInProgress = new AtomicInteger(0);<a name="line.341"></a>
-<span class="sourceLineNo">342</span>  private final AtomicInteger minorInProgress = new AtomicInteger(0);<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>  // Context: During replay we want to ensure that we do not lose any data. So, we<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  // have to be conservative in how we replay wals. For each store, we calculate<a name="line.346"></a>
-<span class="sourceLineNo">347</span>  // the maxSeqId up to which the store was flushed. And, skip the edits which<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  // are equal to or lower than maxSeqId for each store.<a name="line.348"></a>
-<span class="sourceLineNo">349</span>  // The following map is populated when opening the region<a name="line.349"></a>
-<span class="sourceLineNo">350</span>  Map&lt;byte[], Long&gt; maxSeqIdInStores = new TreeMap&lt;byte[], Long&gt;(Bytes.BYTES_COMPARATOR);<a name="line.350"></a>
-<span class="sourceLineNo">351</span><a name="line.351"></a>
-<span class="sourceLineNo">352</span>  /** Saved state from replaying prepare flush cache */<a name="line.352"></a>
-<span class="sourceLineNo">353</span>  private PrepareFlushResult prepareFlushResult = null;<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>   * Config setting for whether to allow writes when a region is in recovering or not.<a name="line.356"></a>
-<span class="sourceLineNo">357</span>   */<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  private boolean disallowWritesInRecovering = false;<a name="line.358"></a>
-<span class="sourceLineNo">359</span><a name="line.359"></a>
-<span class="sourceLineNo">360</span>  // when a region is in recovering state, it can only accept writes not reads<a name="line.360"></a>
-<span class="sourceLineNo">361</span>  private volatile boolean recovering = false;<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>  private volatile Optional&lt;ConfigurationManager&gt; configurationManager;<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>   * @return The smallest mvcc readPoint across all the scanners in this<a name="line.366"></a>
-<span class="sourceLineNo">367</span>   * region. Writes older than this readPoint, are included in every<a name="line.367"></a>
-<span class="sourceLineNo">368</span>   * read operation.<a name="line.368"></a>
-<span class="sourceLineNo">369</span>   */<a name="line.369"></a>
-<span class="sourceLineNo">370</span>  public long getSmallestReadPoint() {<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    long minimumReadPoint;<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    // We need to ensure that while we are calculating the smallestReadPoint<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    // no new RegionScanners can grab a readPoint that we are unaware of.<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    // We achieve this by synchronizing on the scannerReadPoints object.<a name="line.374"></a>
-<span class="sourceLineNo">375</span>    synchronized(scannerReadPoints) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>      minimumReadPoint = mvcc.getReadPoint();<a name="line.376"></a>
-<span class="sourceLineNo">377</span><a name="line.377"></a>
-<span class="sourceLineNo">378</span>      for (Long readPoint: this.scannerReadPoints.values()) {<a name="line.378"></a>
-<span class="sourceLineNo">379</span>        if (readPoint &lt; minimumReadPoint) {<a name="line.379"></a>
-<span class="sourceLineNo">380</span>          minimumReadPoint = readPoint;<a name="line.380"></a>
-<span class="sourceLineNo">381</span>        }<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      }<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    }<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    return minimumReadPoint;<a name="line.384"></a>
-<span class="sourceLineNo">385</span>  }<a name="line.385"></a>
-<span class="sourceLineNo">386</span><a name="line.386"></a>
-<span class="sourceLineNo">387</span>  /*<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * Data structure of write state flags used coordinating flushes,<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   * compactions and closes.<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   */<a name="line.390"></a>
-<span class="sourceLineNo">391</span>  static class WriteState {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    // Set while a memstore flush is happening.<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    volatile boolean flushing = false;<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    // Set when a flush has been requested.<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    volatile boolean flushRequested = false;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    // Number of compactions running.<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    AtomicInteger compacting = new AtomicInteger(0);<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    // Gets set in close. If set, cannot compact or flush again.<a name="line.398"></a>
-<span class="sourceLineNo">399</span>    volatile boolean writesEnabled = true;<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    // Set if region is read-only<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    volatile boolean readOnly = false;<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    // whether the reads are enabled. This is different than readOnly, because readOnly is<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    // static in the lifetime of the region, while readsEnabled is dynamic<a name="line.403"></a>
-<span class="sourceLineNo">404</span>    volatile boolean readsEnabled = true;<a name="line.404"></a>
-<span class="sourceLineNo">405</span><a name="line.405"></a>
-<span class="sourceLineNo">406</span>    /**<a name="line.406"></a>
-<span class="sourceLineNo">407</span>     * Set flags that make this region read-only.<a name="line.407"></a>
-<span class="sourceLineNo">408</span>     *<a name="line.408"></a>
-<span class="sourceLineNo">409</span>     * @param onOff flip value for region r/o setting<a name="line.409"></a>
-<span class="sourceLineNo">410</span>     */<a name="line.410"></a>
-<span class="sourceLineNo">411</span>    synchronized void setReadOnly(final boolean onOff) {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      this.writesEnabled = !onOff;<a name="line.412"></a>
-<span class="sourceLineNo">413</span>      this.readOnly = onOff;<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    }<a name="line.414"></a>
+<span class="sourceLineNo">320</span>  /**<a name="line.320"></a>
+<span class="sourceLineNo">321</span>   * The default setting for whether to enable on-demand CF loading for<a name="line.321"></a>
+<span class="sourceLineNo">322</span>   * scan requests to this region. Requests can override it.<a name="line.322"></a>
+<span class="sourceLineNo">323</span>   */<a name="line.323"></a>
+<span class="sourceLineNo">324</span>  private boolean isLoadingCfsOnDemandDefault = false;<a name="line.324"></a>
+<span class="sourceLineNo">325</span><a name="line.325"></a>
+<span class="sourceLineNo">326</span>  private final AtomicInteger majorInProgress = new AtomicInteger(0);<a name="line.326"></a>
+<span class="sourceLineNo">327</span>  private final AtomicInteger minorInProgress = new AtomicInteger(0);<a name="line.327"></a>
+<span class="sourceLineNo">328</span><a name="line.328"></a>
+<span class="sourceLineNo">329</span>  //<a name="line.329"></a>
+<span class="sourceLineNo">330</span>  // Context: During replay we want to ensure that we do not lose any data. So, we<a name="line.330"></a>
+<span class="sourceLineNo">331</span>  // have to be conservative in how we replay wals. For each store, we calculate<a name="line.331"></a>
+<span class="sourceLineNo">332</span>  // the maxSeqId up to which the store was flushed. And, skip the edits which<a name="line.332"></a>
+<span class="sourceLineNo">333</span>  // are equal to or lower than maxSeqId for each store.<a name="line.333"></a>
+<span class="sourceLineNo">334</span>  // The following map is populated when opening the region<a name="line.334"></a>
+<span class="sourceLineNo">335</span>  Map&lt;byte[], Long&gt; maxSeqIdInStores = new TreeMap&lt;byte[], Long&gt;(Bytes.BYTES_COMPARATOR);<a name="line.335"></a>
+<span class="sourceLineNo">336</span><a name="line.336"></a>
+<span class="sourceLineNo">337</span>  /** Saved state from replaying prepare flush cache */<a name="line.337"></a>
+<span class="sourceLineNo">338</span>  private PrepareFlushResult prepareFlushResult = null;<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>   * Config setting for whether to allow writes when a region is in recovering or not.<a name="line.341"></a>
+<span class="sourceLineNo">342</span>   */<a name="line.342"></a>
+<span class="sourceLineNo">343</span>  private boolean disallowWritesInRecovering = false;<a name="line.343"></a>
+<span class="sourceLineNo">344</span><a name="line.344"></a>
+<span class="sourceLineNo">345</span>  // When a region is in recovering state, it can only accept writes not reads<a name="line.345"></a>
+<span class="sourceLineNo">346</span>  private volatile boolean recovering = false;<a name="line.346"></a>
+<span class="sourceLineNo">347</span><a name="line.347"></a>
+<span class="sourceLineNo">348</span>  private volatile Optional&lt;ConfigurationManager&gt; configurationManager;<a name="line.348"></a>
+<span class="sourceLineNo">349</span><a name="line.349"></a>
+<span class="sourceLineNo">350</span>  /**<a name="line.350"></a>
+<span class="sourceLineNo">351</span>   * @return The smallest mvcc readPoint across all the scanners in this<a name="line.351"></a>
+<span class="sourceLineNo">352</span>   * region. Writes older than this readPoint, are included in every<a name="line.352"></a>
+<span class="sourceLineNo">353</span>   * read operation.<a name="line.353"></a>
+<span class="sourceLineNo">354</span>   */<a name="line.354"></a>
+<span class="sourceLineNo">355</span>  public long getSmallestReadPoint() {<a name="line.355"></a>
+<span class="sourceLineNo">356</span>    long minimumReadPoint;<a name="line.356"></a>
+<span class="sourceLineNo">357</span>    // We need to ensure that while we are calculating the smallestReadPoint<a name="line.357"></a>
+<span class="sourceLineNo">358</span>    // no new RegionScanners can grab a readPoint that we are unaware of.<a name="line.358"></a>
+<span class="sourceLineNo">359</span>    // We achieve this by synchronizing on the scannerReadPoints object.<a name="line.359"></a>
+<span class="sourceLineNo">360</span>    synchronized(scannerReadPoints) {<a name="line.360"></a>
+<span class="sourceLineNo">361</span>      minimumReadPoint = mvcc.getReadPoint();<a name="line.361"></a>
+<span class="sourceLineNo">362</span>      for (Long readPoint: this.scannerReadPoints.values()) {<a name="line.362"></a>
+<span class="sourceLineNo">363</span>        if (readPoint &lt; minimumReadPoint) {<a name="line.363"></a>
+<span class="sourceLineNo">364</span>          minimumReadPoint = readPoint;<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>    return minimumReadPoint;<a name="line.368"></a>
+<span class="sourceLineNo">369</span>  }<a name="line.369"></a>
+<span class="sourceLineNo">370</span><a name="line.370"></a>
+<span class="sourceLineNo">371</span>  /*<a name="line.371"></a>
+<span class="sourceLineNo">372</span>   * Data structure of write state flags used coordinating flushes,<a name="line.372"></a>
+<span class="sourceLineNo">373</span>   * compactions and closes.<a name="line.373"></a>
+<span class="sourceLineNo">374</span>   */<a name="line.374"></a>
+<span class="sourceLineNo">375</span>  static class WriteState {<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    // Set while a memstore flush is happening.<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    volatile boolean flushing = false;<a name="line.377"></a>
+<span class="sourceLineNo">378</span>    // Set when a flush has been requested.<a name="line.378"></a>
+<span class="sourceLineNo">379</span>    volatile boolean flushRequested = false;<a name="line.379"></a>
+<span class="sourceLineNo">380</span>    // Number of compactions running.<a name="line.380"></a>
+<span class="sourceLineNo">381</span>    AtomicInteger compacting = new AtomicInteger(0);<a name="line.381"></a>
+<span class="sourceLineNo">382</span>    // Gets set in close. If set, cannot compact or flush again.<a name="line.382"></a>
+<span class="sourceLineNo">383</span>    volatile boolean writesEnabled = true;<a name="line.383"></a>
+<span class="sourceLineNo">384</span>    // Set if region is read-only<a name="line.384"></a>
+<span class="sourceLineNo">385</span>    volatile boolean readOnly = false;<a name="line.385"></a>
+<span class="sourceLineNo">386</span>    // whether the reads are enabled. This is different than readOnly, because readOnly is<a name="line.386"></a>
+<span class="sourceLineNo">387</span>    // static in the lifetime of the region, while readsEnabled is dynamic<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    volatile boolean readsEnabled = true;<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>     * Set flags that make this region read-only.<a name="line.391"></a>
+<span class="sourceLineNo">392</span>     *<a name="line.392"></a>
+<span class="sourceLineNo">393</span>     * @param onOff flip value for region r/o setting<a name="line.393"></a>
+<span class="sourceLineNo">394</span>     */<a name="line.394"></a>
+<span class="sourceLineNo">395</span>    synchronized void setReadOnly(final boolean onOff) {<a name="line.395"></a>
+<span class="sourceLineNo">396</span>      this.writesEnabled = !onOff;<a name="line.396"></a>
+<span class="sourceLineNo">397</span>      this.readOnly = onOff;<a name="line.397"></a>
+<span class="sourceLineNo">398</span>    }<a name="line.398"></a>
+<span class="sourceLineNo">399</span><a name="line.399"></a>
+<span class="sourceLineNo">400</span>    boolean isReadOnly() {<a name="line.400"></a>
+<span class="sourceLineNo">401</span>      return this.readOnly;<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>    boolean isFlushRequested() {<a name="line.404"></a>
+<span class="sourceLineNo">405</span>      return this.flushRequested;<a name="line.405"></a>
+<span class="sourceLineNo">406</span>    }<a name="line.406"></a>
+<span class="sourceLineNo">407</span><a name="line.407"></a>
+<span class="sourceLineNo">408</span>    void setReadsEnabled(boolean readsEnabled) {<a name="line.408"></a>
+<span class="sourceLineNo">409</span>      this.readsEnabled = readsEnabled;<a name="line.409"></a>
+<span class="sourceLineNo">410</span>    }<a name="line.410"></a>
+<span class="sourceLineNo">411</span><a name="line.411"></a>
+<span class="sourceLineNo">412</span>    static final long HEAP_SIZE = ClassSize.align(<a name="line.412"></a>
+<span class="sourceLineNo">413</span>        ClassSize.OBJECT + 5 * Bytes.SIZEOF_BOOLEAN);<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>    boolean isReadOnly() {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      return this.readOnly;<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>    boolean isFlushRequested() {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>      return this.flushRequested;<a name="line.421"></a>
-<span class="sourceLineNo">422</span>    }<a name="line.422"></a>
-<span class="sourceLineNo">423</span><a name="line.423"></a>
-<span class="sourceLineNo">424</span>    void setReadsEnabled(boolean readsEnabled) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span>      this.readsEnabled = readsEnabled;<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    }<a name="line.426"></a>
+<span class="sourceLineNo">416</span>  /**<a name="line.416"></a>
+<span class="sourceLineNo">417</span>   * Objects from this class are created when flushing to describe all the different states that<a name="line.417"></a>
+<span class="sourceLineNo">418</span>   * that method ends up in. The Result enum describes those states. The sequence id should only<a name="line.418"></a>
+<span class="sourceLineNo">419</span>   * be specified if the flush was successful, and the failure message should only be specified<a name="line.419"></a>
+<span class="sourceLineNo">420</span>   * if it didn't flush.<a name="line.420"></a>
+<span class="sourceLineNo">421</span>   */<a name="line.421"></a>
+<span class="sourceLineNo">422</span>  public static class FlushResultImpl implements FlushResult {<a name="line.422"></a>
+<span class="sourceLineNo">423</span>    final Result result;<a name="line.423"></a>
+<span class="sourceLineNo">424</span>    final String failureReason;<a name="line.424"></a>
+<span class="sourceLineNo">425</span>    final long flushSequenceId;<a name="line.425"></a>
+<span class="sourceLineNo">426</span>    final boolean wroteFlushWalMarker;<a name="line.426"></a>
 <span class="sourceLineNo">427</span><a name="line.427"></a>
-<span class="sourceLineNo">428</span>    static final long HEAP_SIZE = ClassSize.align(<a name="line.428"></a>
-<span class="sourceLineNo">429</span>        ClassSize.OBJECT + 5 * Bytes.SIZEOF_BOOLEAN);<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  }<a name="line.430"></a>
-<span class="sourceLineNo">431</span><a name="line.431"></a>
-<span class="sourceLineNo">432</span>  /**<a name="line.432"></a>
-<span class="sourceLineNo">433</span>   * Objects from this class are created when flushing to describe all the different states that<a name="line.433"></a>
-<span class="sourceLineNo">434</span>   * that method ends up in. The Result enum describes those states. The sequence id should only<a name="line.434"></a>
-<span class="sourceLineNo">435</span>   * be specified if the flush was successful, and the failure message should only be specified<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   * if it didn't flush.<a name="line.436"></a>
-<span class="sourceLineNo">437</span>   */<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  public static class FlushResultImpl implements FlushResult {<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    final Result result;<a name="line.439"></a>
-<span class="sourceLineNo">440</span>    final String failureReason;<a name="line.440"></a>
-<span class="sourceLineNo">441</span>    final long flushSequenceId;<a name="line.441"></a>
-<span class="sourceLineNo">442</span>    final boolean wroteFlushWalMarker;<a name="line.442"></a>
-<span class="sourceLineNo">443</span><a name="line.443"></a>
-<span class="sourceLineNo">444</span>    /**<a name="line.444"></a>
-<span class="sourceLineNo">445</span>     * Convenience constructor to use when the flush is successful, the failure message is set to<a name="line.445"></a>
-<span class="sourceLineNo">446</span>     * null.<a name="line.446"></a>
-<span class="sourceLineNo">447</span>     * @param result Expecting FLUSHED_NO_COMPACTION_NEEDED or FLUSHED_COMPACTION_NEEDED.<a name="line.447"></a>
-<span class="sourceLineNo">448</span>     * @param flushSequenceId Generated sequence id that comes right after the edits in the<a name="line.448"></a>
-<span class="sourceLineNo">449</span>     *                        memstores.<a name="line.449"></a>
-<span class="sourceLineNo">450</span>     */<a name="line.450"></a>
-<span c

<TRUNCATED>

[33/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/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 b1a89aa..794496e 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.html
@@ -36,7 +36,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/hadoop/hbase/regionserver/HMobStore.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="strong">Next Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/hadoop/hbase/regionserver/HRegion.html" target="_top">Frames</a></li>
@@ -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/HRegion.html#line.203">HRegion</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.200">HRegion</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/HeapSize.html" title="interface in org.apache.hadoop.hbase.io">HeapSize</a>, <a href="../../../../../org/apache/hadoop/hbase/conf/PropagatingConfigurationObserver.html" title="interface in org.apache.hadoop.hbase.conf">PropagatingConfigurationObserver</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a></pre>
 </li>
@@ -123,7 +123,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>private static class&nbsp;</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="type parameter in HRegion.BatchOperationInProgress">T</a>&gt;</strong></code>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="type parameter in HRegion.BatchOperation">T</a>&gt;</strong></code>
 <div class="block">Struct-like class that tracks the progress of a batch operation,
  accumulating status codes and tracking the index at which processing
  is proceeding.</div>
@@ -289,123 +289,115 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#DEFAULT_FLUSH_PER_CHANGES">DEFAULT_FLUSH_PER_CHANGES</a></strong></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>private static int</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#DEFAULT_MAX_WAIT_FOR_SEQ_ID">DEFAULT_MAX_WAIT_FOR_SEQ_ID</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><code>(package private) static long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#DEFAULT_ROW_PROCESSOR_TIMEOUT">DEFAULT_ROW_PROCESSOR_TIMEOUT</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) static int</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#DEFAULT_ROWLOCK_WAIT_DURATION">DEFAULT_ROWLOCK_WAIT_DURATION</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#disallowWritesInRecovering">disallowWritesInRecovering</a></strong></code>
 <div class="block">Config setting for whether to allow writes when a region is in recovering or not.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#durability">durability</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private byte[]</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#explicitSplitPoint">explicitSplitPoint</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/util/Counter.html" title="class in org.apache.hadoop.hbase.util">Counter</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#filteredReadRequestsCount">filteredReadRequestsCount</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/regionserver/HRegion.html#FIXED_OVERHEAD">FIXED_OVERHEAD</a></strong></code>&nbsp;</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#flushCheckInterval">flushCheckInterval</a></strong></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#flushPerChanges">flushPerChanges</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushPolicy.html" title="class in org.apache.hadoop.hbase.regionserver">FlushPolicy</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#flushPolicy">flushPolicy</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private static byte[]</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#FOR_UNIT_TESTS_ONLY">FOR_UNIT_TESTS_ONLY</a></strong></code>
 <div class="block">Row needed by below method.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <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#fs">fs</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#htableDescriptor">htableDescriptor</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#isLoadingCfsOnDemandDefault">isLoadingCfsOnDemandDefault</a></strong></code>
 <div class="block">The default setting for whether to enable on-demand CF loading for
  scan requests to this region.</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#lastFlushOpSeqId">lastFlushOpSeqId</a></strong></code>
 <div class="block">Record the sequence id of last flush operation.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#lastReplayedCompactionSeqId">lastReplayedCompactionSeqId</a></strong></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#lastReplayedOpenRegionSeqId">lastReplayedOpenRegionSeqId</a></strong></code>
 <div class="block">The sequence id of the last replayed open region event from the primary region.</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/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>,<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;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#lastStoreFlushTimeMap">lastStoreFlushTimeMap</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/regionserver/HRegion.html#LOAD_CFS_ON_DEMAND_CONFIG_KEY">LOAD_CFS_ON_DEMAND_CONFIG_KEY</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/ReentrantReadWriteLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReentrantReadWriteLock</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#lock">lock</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/concurrent/ConcurrentHashMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentHashMap</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/HashedBytes.html" title="class in org.apache.hadoop.hbase.util">HashedBytes</a>,<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockContext</a>&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#lockedRows">lockedRows</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private static org.apache.commons.logging.Log</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#LOG">LOG</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/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/HRegion.html#majorInProgress">majorInProgress</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/regionserver/HRegion.html#MAX_FLUSH_PER_CHANGES">MAX_FLUSH_PER_CHANGES</a></strong></code>
 <div class="block">The following MAX_FLUSH_PER_CHANGES is large enough because each KeyValue has 20+ bytes
  overhead.</div>
 </td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code>private static <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#MAX_WAIT_FOR_SEQ_ID_KEY">MAX_WAIT_FOR_SEQ_ID_KEY</a></strong></code>&nbsp;</td>
-</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>(package private) long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#maxBusyWaitDuration">maxBusyWaitDuration</a></strong></code>&nbsp;</td>
@@ -425,144 +417,138 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#maxSeqIdInStores">maxSeqIdInStores</a></strong></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>private int</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#maxWaitForSeqId">maxWaitForSeqId</a></strong></code>
-<div class="block">Longest time we'll wait on a sequenceid.</div>
-</td>
-</tr>
-<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/regionserver/HRegion.html#MEMSTORE_FLUSH_PER_CHANGES">MEMSTORE_FLUSH_PER_CHANGES</a></strong></code>
 <div class="block">Conf key to force a flush if there are already enough changes for one region in memstore</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/regionserver/HRegion.html#MEMSTORE_PERIODIC_FLUSH_INTERVAL">MEMSTORE_PERIODIC_FLUSH_INTERVAL</a></strong></code>
 <div class="block">Conf key for the periodic flush interval</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#memstoreFlushSize">memstoreFlushSize</a></strong></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/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/HRegion.html#memstoreSize">memstoreSize</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegion.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegion</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#metricsRegion">metricsRegion</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegionWrapperImpl</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#metricsRegionWrapper">metricsRegionWrapper</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/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/HRegion.html#minorInProgress">minorInProgress</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private static <a href="http://docs.oracle.com/javase/7/docs/api/java/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;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#MOCKED_LIST">MOCKED_LIST</a></strong></code>
 <div class="block">A mocked list implementation - discards all updates.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#mvcc">mvcc</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/util/Counter.html" title="class in org.apache.hadoop.hbase.util">Counter</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#numMutationsWithoutWAL">numMutationsWithoutWAL</a></strong></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#openSeqNum">openSeqNum</a></strong></code>
 <div class="block">The sequence ID that was encountered when this region was opened.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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#prepareFlushResult">prepareFlushResult</a></strong></code>
 <div class="block">Saved state from replaying prepare flush cache</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/util/Counter.html" title="class in org.apache.hadoop.hbase.util">Counter</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#readRequestsCount">readRequestsCount</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#recovering">recovering</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#regionStatsEnabled">regionStatsEnabled</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/HRegion.html#rowLockWaitDuration">rowLockWaitDuration</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) <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></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#rowProcessorExecutor">rowProcessorExecutor</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#rowProcessorTimeout">rowProcessorTimeout</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerAccounting.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerAccounting</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#rsAccounting">rsAccounting</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <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#rsServices">rsServices</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/concurrent/ConcurrentHashMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentHashMap</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>,<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;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#scannerReadPoints">scannerReadPoints</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <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#splitPolicy">splitPolicy</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#splitRequest">splitRequest</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected <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="../../../../../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#stores">stores</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/regionserver/HRegion.html#SYSTEM_CACHE_FLUSH_INTERVAL">SYSTEM_CACHE_FLUSH_INTERVAL</a></strong></code>
 <div class="block">Default interval for System tables memstore flush</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#threadWakeFrequency">threadWakeFrequency</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#timestampSlop">timestampSlop</a></strong></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/concurrent/locks/ReentrantReadWriteLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReentrantReadWriteLock</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#updatesLock">updatesLock</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <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#wal">wal</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/util/Counter.html" title="class in org.apache.hadoop.hbase.util">Counter</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#writeRequestsCount">writeRequestsCount</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/HRegion.WriteState.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.WriteState</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#writestate">writestate</a></strong></code>&nbsp;</td>
 </tr>
@@ -652,34 +638,50 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 </tr>
 <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#append(org.apache.hadoop.hbase.client.Append,%20long,%20long)">append</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/Append.html" title="class in org.apache.hadoop.hbase.client">Append</a>&nbsp;mutate,
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#append(org.apache.hadoop.hbase.client.Append,%20long,%20long)">append</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/Append.html" title="class in org.apache.hadoop.hbase.client">Append</a>&nbsp;mutation,
             long&nbsp;nonceGroup,
             long&nbsp;nonce)</code>
 <div class="block">Perform one or more append operations on a row.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#appendEmptyEdit(org.apache.hadoop.hbase.wal.WAL)">appendEmptyEdit</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal)</code>
-<div class="block">Append a faked WALEdit in order to get a long sequence number and wal syncer will just ignore
- the WALEdit append later.</div>
-</td>
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#appendCurrentNonces(org.apache.hadoop.hbase.client.Mutation,%20boolean,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20long,%20long,%20long)">appendCurrentNonces</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
+                                      boolean&nbsp;replay,
+                                      <a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;walEdit,
+                                      long&nbsp;now,
+                                      long&nbsp;currentNonceGroup,
+                                      long&nbsp;currentNonce)</code>&nbsp;</td>
 </tr>
 <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#applyFamilyMapToMemstore(java.util.Map,%20long,%20boolean)">applyFamilyMapToMemstore</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,
-                                                long&nbsp;mvccNum,
-                                                boolean&nbsp;isInReplay)</code>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#applyFamilyMapToMemstore(java.util.Map,%20boolean,%20long)">applyFamilyMapToMemstore</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,
+                                                boolean&nbsp;replay,
+                                                long&nbsp;sequenceId)</code>
 <div class="block">Atomically apply the given map of family->edits to the memstore.</div>
 </td>
 </tr>
 <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#applyToMemstore(org.apache.hadoop.hbase.regionserver.Store,%20org.apache.hadoop.hbase.Cell,%20long)">applyToMemstore</a></strong>(<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/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
+                              long&nbsp;sequenceId)</code>&nbsp;</td>
+</tr>
+<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#applyToMemstore(org.apache.hadoop.hbase.regionserver.Store,%20java.util.List,%20boolean,%20boolean,%20long)">applyToMemstore</a></strong>(<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;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;cells,
+                              boolean&nbsp;delta,
+                              boolean&nbsp;replay,
+                              long&nbsp;sequenceId)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#areWritesEnabled()">areWritesEnabled</a></strong>()</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[]</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#batchMutate(org.apache.hadoop.hbase.regionserver.HRegion.BatchOperationInProgress)">batchMutate</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a>&lt;?&gt;&nbsp;batchOp)</code>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#batchMutate(org.apache.hadoop.hbase.regionserver.HRegion.BatchOperation)">batchMutate</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a>&lt;?&gt;&nbsp;batchOp)</code>
 <div class="block">Perform a batch of mutations.</div>
 </td>
 </tr>
@@ -711,24 +713,19 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>private 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/regionserver/HRegion.html#carryForwardTags(org.apache.hadoop.hbase.Cell,%20java.util.List)">carryForwardTags</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
-                                <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>&nbsp;</td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.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</a></strong>(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,
                             <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,
+                            <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 value and if it does,
  it performs the mutation.</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#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</a></strong>(byte[]&nbsp;row,
                                   byte[]&nbsp;family,
@@ -741,6 +738,13 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
  it performs the row mutations.</div>
 </td>
 </tr>
+<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#checkBatchOp(org.apache.hadoop.hbase.regionserver.HRegion.BatchOperation,%20int,%20java.util.Map[],%20long)">checkBatchOp</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a>&lt;?&gt;&nbsp;batchOp,
+                        int&nbsp;lastIndexExclusive,
+                        <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;familyMaps,
+                        long&nbsp;now)</code>&nbsp;</td>
+</tr>
 <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#checkClassLoading()">checkClassLoading</a></strong>()</code>&nbsp;</td>
@@ -764,31 +768,36 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#checkFamily(byte[])">checkFamily</a></strong>(byte[]&nbsp;family)</code>&nbsp;</td>
 </tr>
 <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#checkMutationType(org.apache.hadoop.hbase.client.Mutation,%20byte[])">checkMutationType</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
+                                  byte[]&nbsp;row)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#checkReadOnly()">checkReadOnly</a></strong>()</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#checkReadsEnabled()">checkReadsEnabled</a></strong>()</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#checkResources()">checkResources</a></strong>()</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#checkRow(byte[],%20java.lang.String)">checkRow</a></strong>(byte[]&nbsp;row,
                 <a href="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;op)</code>
 <div class="block">Make sure this is a valid row for the HRegion</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#checkSplit()">checkSplit</a></strong>()</code>
 <div class="block">Return the splitpoint.</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#checkTargetRegion(byte[],%20java.lang.String,%20java.lang.Object)">checkTargetRegion</a></strong>(byte[]&nbsp;encodedRegionName,
                                   <a href="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;exceptionMsg,
@@ -797,67 +806,67 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
  the regionName is the primary region to our corresponding range for the secondary replica.</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#checkTimestamps(java.util.Map,%20long)">checkTimestamps</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,
                               long&nbsp;now)</code>
 <div class="block">Check the collection of families for valid timestamps</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#clearSplit()">clearSplit</a></strong>()</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/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/regionserver/StoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFile</a>&gt;&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#close()">close</a></strong>()</code>
 <div class="block">Close down this HRegion.</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/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/regionserver/StoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFile</a>&gt;&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#close(boolean)">close</a></strong>(boolean&nbsp;abort)</code>
 <div class="block">Close down this HRegion.</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#closeBulkRegionOperation()">closeBulkRegionOperation</a></strong>()</code>
 <div class="block">Closes the lock.</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#closeRegionOperation()">closeRegionOperation</a></strong>()</code>
 <div class="block">Closes the region operation lock.</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#closeRegionOperation(org.apache.hadoop.hbase.regionserver.Region.Operation)">closeRegionOperation</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a>&nbsp;operation)</code>
 <div class="block">Closes the lock.</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#compact(boolean)">compact</a></strong>(boolean&nbsp;majorCompaction)</code>
 <div class="block">Synchronously compact all stores in the region.</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#compact(org.apache.hadoop.hbase.regionserver.compactions.CompactionContext,%20org.apache.hadoop.hbase.regionserver.Store,%20org.apache.hadoop.hbase.regionserver.throttle.ThroughputController)">compact</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionContext.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">CompactionContext</a>&nbsp;compaction,
               <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/throttle/ThroughputController.html" title="interface in org.apache.hadoop.hbase.regionserver.throttle">ThroughputController</a>&nbsp;throughputController)</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#compact(org.apache.hadoop.hbase.regionserver.compactions.CompactionContext,%20org.apache.hadoop.hbase.regionserver.Store,%20org.apache.hadoop.hbase.regionserver.throttle.ThroughputController,%20org.apache.hadoop.hbase.security.User)">compact</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionContext.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">CompactionContext</a>&nbsp;compaction,
               <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/throttle/ThroughputController.html" title="interface in org.apache.hadoop.hbase.regionserver.throttle">ThroughputController</a>&nbsp;throughputController,
               <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)</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#compactStore(byte[],%20org.apache.hadoop.hbase.regionserver.throttle.ThroughputController)">compactStore</a></strong>(byte[]&nbsp;family,
                         <a href="../../../../../org/apache/hadoop/hbase/regionserver/throttle/ThroughputController.html" title="interface in org.apache.hadoop.hbase.regionserver.throttle">ThroughputController</a>&nbsp;throughputController)</code>
@@ -865,14 +874,14 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
  It is used by utilities and testing</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#compactStores()">compactStores</a></strong>()</code>
 <div class="block">This is a helper function that compact all the stores synchronously
  It is used by utilities and testing</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/HDFSBlocksDistribution.html" title="class in org.apache.hadoop.hbase">HDFSBlocksDistribution</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#computeHDFSBlocksDistribution(org.apache.hadoop.conf.Configuration,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo)">computeHDFSBlocksDistribution</a></strong>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                                           <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;tableDescriptor,
@@ -880,7 +889,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <div class="block">This is a helper function to compute HDFS block distribution on demand</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/HDFSBlocksDistribution.html" title="class in org.apache.hadoop.hbase">HDFSBlocksDistribution</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#computeHDFSBlocksDistribution(org.apache.hadoop.conf.Configuration,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.fs.Path)">computeHDFSBlocksDistribution</a></strong>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                                           <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;tableDescriptor,
@@ -889,13 +898,13 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <div class="block">This is a helper function to compute HDFS block distribution on demand</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) <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#createDaughterRegionFromSplits(org.apache.hadoop.hbase.HRegionInfo)">createDaughterRegionFromSplits</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri)</code>
 <div class="block">Create a daughter region from given a temp directory with the region data.</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#createHRegion(org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.fs.Path,%20org.apache.hadoop.conf.Configuration,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.wal.WAL)">createHRegion</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;info,
                           org.apache.hadoop.fs.Path&nbsp;rootDir,
@@ -903,7 +912,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
                           <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;hTableDescriptor,
                           <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>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#createHRegion(org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.fs.Path,%20org.apache.hadoop.conf.Configuration,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.wal.WAL,%20boolean)">createHRegion</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;info,
                           org.apache.hadoop.fs.Path&nbsp;rootDir,
@@ -914,62 +923,92 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <div class="block">Convenience method creating new HRegions.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) <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#createMergedRegionFromMerges(org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.regionserver.HRegion)">createMergedRegionFromMerges</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;mergedRegionInfo,
                                                         <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;region_b)</code>
 <div class="block">Create a merged region given a temp directory with the region 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/HRegion.html#delete(org.apache.hadoop.hbase.client.Delete)">delete</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">Deletes the specified cells/row.</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#delete(java.util.NavigableMap,%20org.apache.hadoop.hbase.client.Durability)">delete</a></strong>(<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;<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/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;durability)</code>
 <div class="block">This is used only by unit tests.</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#deregisterChildren(org.apache.hadoop.hbase.conf.ConfigurationManager)">deregisterChildren</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 deregister the children from the manager.</div>
 </td>
 </tr>
+<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#doAbortFlushToWAL(org.apache.hadoop.hbase.wal.WAL,%20long,%20java.util.Map)">doAbortFlushToWAL</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;flushOpSeqId,
+                                  <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;org.apache.hadoop.fs.Path&gt;&gt;&nbsp;committedFiles)</code>&nbsp;</td>
+</tr>
 <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#doBatchMutate(org.apache.hadoop.hbase.client.Mutation)">doBatchMutate</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation)</code>&nbsp;</td>
 </tr>
 <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#doCheckAndRowMutate(byte[],%20byte[],%20byte[],%20org.apache.hadoop.hbase.filter.CompareFilter.CompareOp,%20org.apache.hadoop.hbase.filter.ByteArrayComparable,%20org.apache.hadoop.hbase.client.RowMutations,%20org.apache.hadoop.hbase.client.Mutation,%20boolean)">doCheckAndRowMutate</a></strong>(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,
+                                      <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;rowMutations,
+                                      <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">checkAndMutate and checkAndRowMutate are 90% the same.</div>
+</td>
+</tr>
+<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;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/regionserver/StoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFile</a>&gt;&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doClose(boolean,%20org.apache.hadoop.hbase.monitoring.MonitoredTask)">doClose</a></strong>(boolean&nbsp;abort,
               <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">
+<td class="colFirst"><code>private <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#doCoprocessorPreCall(org.apache.hadoop.hbase.regionserver.Region.Operation,%20org.apache.hadoop.hbase.client.Mutation)">doCoprocessorPreCall</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,
+                                        <a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation)</code>
+<div class="block">Do coprocessor pre-increment or pre-append call.</div>
+</td>
+</tr>
 <tr class="rowColor">
+<td class="colFirst"><code>private <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#doDelta(org.apache.hadoop.hbase.regionserver.Region.Operation,%20org.apache.hadoop.hbase.client.Mutation,%20long,%20long,%20boolean)">doDelta</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,
+              <a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
+              long&nbsp;nonceGroup,
+              long&nbsp;nonce,
+              boolean&nbsp;returnResults)</code>
+<div class="block">Add "deltas" to Cells.</div>
+</td>
+</tr>
+<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#doDropStoreMemstoreContentsForSeqId(org.apache.hadoop.hbase.regionserver.Store,%20long)">doDropStoreMemstoreContentsForSeqId</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&nbsp;s,
                                                                       long&nbsp;currentSeqId)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doGet(org.apache.hadoop.hbase.regionserver.Store,%20byte[],%20java.util.Map.Entry,%20org.apache.hadoop.hbase.io.TimeRange)">doGet</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&nbsp;store,
-          byte[]&nbsp;row,
-          <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">Map.Entry</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;family,
-          <a href="../../../../../org/apache/hadoop/hbase/io/TimeRange.html" title="class in org.apache.hadoop.hbase.io">TimeRange</a>&nbsp;tr)</code>
-<div class="block">Run a Get against passed in <code>store</code> on passed <code>row</code>, etc.</div>
-</td>
-</tr>
 <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#doMiniBatchMutation(org.apache.hadoop.hbase.regionserver.HRegion.BatchOperationInProgress)">doMiniBatchMutation</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a>&lt;?&gt;&nbsp;batchOp)</code>&nbsp;</td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doMiniBatchMutate(org.apache.hadoop.hbase.regionserver.HRegion.BatchOperation)">doMiniBatchMutate</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a>&lt;?&gt;&nbsp;batchOp)</code>
+<div class="block">Called to do a piece of the batch that came in to <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#batchMutate(org.apache.hadoop.hbase.client.Mutation[],%20long,%20long)"><code>batchMutate(Mutation[], long, long)</code></a>
+ In here we also handle replay of edits on region recover.</div>
+</td>
 </tr>
 <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#doPreMutationHook(org.apache.hadoop.hbase.regionserver.HRegion.BatchOperationInProgress)">doPreMutationHook</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a>&lt;?&gt;&nbsp;batchOp)</code>&nbsp;</td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doPreBatchMutateHook(org.apache.hadoop.hbase.regionserver.HRegion.BatchOperation)">doPreBatchMutateHook</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a>&lt;?&gt;&nbsp;batchOp)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>private void</code></td>
@@ -985,6 +1024,29 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doRegionCompactionPrep()">doRegionCompactionPrep</a></strong>()</code>&nbsp;</td>
 </tr>
 <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#doSyncOfUnflushedWALChanges(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HRegionInfo)">doSyncOfUnflushedWALChanges</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/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri)</code>
+<div class="block">Sync unflushed WAL changes.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doWALAppend(org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20org.apache.hadoop.hbase.client.Durability,%20java.util.List,%20long,%20long,%20long)">doWALAppend</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;walEdit,
+                      <a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;durability,
+                      <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;clusterIds,
+                      long&nbsp;now,
+                      long&nbsp;nonceGroup,
+                      long&nbsp;nonce)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doWALAppend(org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20org.apache.hadoop.hbase.client.Durability,%20long,%20long)">doWALAppend</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;walEdit,
+                      <a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;durability,
+                      long&nbsp;nonceGroup,
+                      long&nbsp;nonce)</code>&nbsp;</td>
+</tr>
+<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#dropMemstoreContentsForSeqId(long,%20org.apache.hadoop.hbase.regionserver.Store)">dropMemstoreContentsForSeqId</a></strong>(long&nbsp;seqId,
                                                         <a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&nbsp;store)</code>
@@ -992,17 +1054,17 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
  if the memstore edits have seqNums smaller than the given seq id</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#dropPrepareFlushIfPossible()">dropPrepareFlushIfPossible</a></strong>()</code>
 <div class="block">If all stores ended up dropping their snapshots, we can safely drop the prepareFlushResult</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#equals(java.lang.Object)">equals</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>com.google.protobuf.Message</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#execService(com.google.protobuf.RpcController,%20org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceCall)">execService</a></strong>(com.google.protobuf.RpcController&nbsp;controller,
                       org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceCall&nbsp;call)</code>
@@ -1010,36 +1072,46 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
  the registered protocol handlers.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><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#flush(boolean)">flush</a></strong>(boolean&nbsp;force)</code>
 <div class="block">Flush the cache.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><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#flushcache(boolean,%20boolean)">flushcache</a></strong>(boolean&nbsp;forceFlushAllStores,
                     boolean&nbsp;writeFlushRequestWalMarker)</code>
 <div class="block">Flush the cache.</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#forceSplit(byte[])">forceSplit</a></strong>(byte[]&nbsp;sp)</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#get(org.apache.hadoop.hbase.client.Get)">get</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get)</code>
 <div class="block">Do a get based on the get parameter.</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="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#get(org.apache.hadoop.hbase.client.Get,%20boolean)">get</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get,
       boolean&nbsp;withCoprocessor)</code>
 <div class="block">Do a get based on the get parameter.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#get(org.apache.hadoop.hbase.client.Mutation,%20org.apache.hadoop.hbase.regionserver.Store,%20java.util.List,%20org.apache.hadoop.hbase.client.IsolationLevel,%20org.apache.hadoop.hbase.io.TimeRange)">get</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="../../../../../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;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;coordinates,
+      <a href="../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client">IsolationLevel</a>&nbsp;isolation,
+      <a href="../../../../../org/apache/hadoop/hbase/io/TimeRange.html" title="class in org.apache.hadoop.hbase.io">TimeRange</a>&nbsp;tr)</code>
+<div class="block">Do a specific Get on passed <code>columnFamily</code> and column qualifiers.</div>
+</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><code>(package private) org.apache.hadoop.conf.Configuration</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getBaseConf()">getBaseConf</a></strong>()</code>
@@ -1113,62 +1185,70 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getLargestHStoreSize()">getLargestHStoreSize</a></strong>()</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>private static long</code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getLongValue(org.apache.hadoop.hbase.Cell)">getLongValue</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>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getMaxFlushedSeqId()">getMaxFlushedSeqId</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/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;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getMaxStoreSeqId()">getMaxStoreSeqId</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#getMemstoreFlushSize()">getMemstoreFlushSize</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getMemstoreSize()">getMemstoreSize</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegion.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegion</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getMetrics()">getMetrics</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getMVCC()">getMVCC</a></strong>()</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#getNextSequenceId(org.apache.hadoop.hbase.wal.WAL)">getNextSequenceId</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal)</code>
 <div class="block">Method to safely get the next sequence number.</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#getNumMutationsWithoutWAL()">getNumMutationsWithoutWAL</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#getOldestHfileTs(boolean)">getOldestHfileTs</a></strong>(boolean&nbsp;majorCompactioOnly)</code>
 <div class="block">This can be used to determine the last time all files of this region were major compacted.</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#getOldestSeqIdOfStore(byte[])">getOldestSeqIdOfStore</a></strong>(byte[]&nbsp;familyName)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) static <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#getOpenAndCloseThreadPool(int,%20java.lang.String)">getOpenAndCloseThreadPool</a></strong>(int&nbsp;maxThreads,
                                                   <a href="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>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getOpenSeqNum()">getOpenSeqNum</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/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#getPrepareFlushResult()">getPrepareFlushResult</a></strong>()</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#getReadPoint()">getReadPoint</a></strong>()</code>&nbsp;</td>
+</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#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>
@@ -1256,88 +1336,82 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 </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#getSequenceId()">getSequenceId</a></strong>()</code>
-<div class="block">Do not change this sequence id.</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/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.c

<TRUNCATED>

[20/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html
index cd6f37a..902213f 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html
@@ -465,535 +465,534 @@
 <span class="sourceLineNo">457</span>   * This is called under row lock, so Get operations will still see updates<a name="line.457"></a>
 <span class="sourceLineNo">458</span>   * atomically.  Scans will only see each KeyValue update as atomic.<a name="line.458"></a>
 <span class="sourceLineNo">459</span>   *<a name="line.459"></a>
-<span class="sourceLineNo">460</span>   * @param cells<a name="line.460"></a>
-<span class="sourceLineNo">461</span>   * @param readpoint readpoint below which we can safely remove duplicate KVs<a name="line.461"></a>
-<span class="sourceLineNo">462</span>   * @return change in memstore size<a name="line.462"></a>
-<span class="sourceLineNo">463</span>   */<a name="line.463"></a>
-<span class="sourceLineNo">464</span>  @Override<a name="line.464"></a>
-<span class="sourceLineNo">465</span>  public long upsert(Iterable&lt;Cell&gt; cells, long readpoint) {<a name="line.465"></a>
-<span class="sourceLineNo">466</span>    long size = 0;<a name="line.466"></a>
-<span class="sourceLineNo">467</span>    for (Cell cell : cells) {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>      size += upsert(cell, readpoint);<a name="line.468"></a>
-<span class="sourceLineNo">469</span>    }<a name="line.469"></a>
-<span class="sourceLineNo">470</span>    return size;<a name="line.470"></a>
-<span class="sourceLineNo">471</span>  }<a name="line.471"></a>
-<span class="sourceLineNo">472</span><a name="line.472"></a>
-<span class="sourceLineNo">473</span>  /**<a name="line.473"></a>
-<span class="sourceLineNo">474</span>   * Inserts the specified KeyValue into MemStore and deletes any existing<a name="line.474"></a>
-<span class="sourceLineNo">475</span>   * versions of the same row/family/qualifier as the specified KeyValue.<a name="line.475"></a>
-<span class="sourceLineNo">476</span>   * &lt;p&gt;<a name="line.476"></a>
-<span class="sourceLineNo">477</span>   * First, the specified KeyValue is inserted into the Memstore.<a name="line.477"></a>
-<span class="sourceLineNo">478</span>   * &lt;p&gt;<a name="line.478"></a>
-<span class="sourceLineNo">479</span>   * If there are any existing KeyValues in this MemStore with the same row,<a name="line.479"></a>
-<span class="sourceLineNo">480</span>   * family, and qualifier, they are removed.<a name="line.480"></a>
-<span class="sourceLineNo">481</span>   * &lt;p&gt;<a name="line.481"></a>
-<span class="sourceLineNo">482</span>   * Callers must hold the read lock.<a name="line.482"></a>
-<span class="sourceLineNo">483</span>   * @param readpoint Smallest outstanding readpoint; below which we can remove duplicate Cells.<a name="line.483"></a>
-<span class="sourceLineNo">484</span>   * @return change in size of MemStore<a name="line.484"></a>
-<span class="sourceLineNo">485</span>   */<a name="line.485"></a>
-<span class="sourceLineNo">486</span>  private long upsert(Cell cell, long readpoint) {<a name="line.486"></a>
-<span class="sourceLineNo">487</span>    // Add the Cell to the MemStore<a name="line.487"></a>
-<span class="sourceLineNo">488</span>    // Use the internalAdd method here since we (a) already have a lock<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    // and (b) cannot safely use the MSLAB here without potentially<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    // hitting OOME - see TestMemStore.testUpsertMSLAB for a<a name="line.490"></a>
-<span class="sourceLineNo">491</span>    // test that triggers the pathological case if we don't avoid MSLAB<a name="line.491"></a>
-<span class="sourceLineNo">492</span>    // here.<a name="line.492"></a>
-<span class="sourceLineNo">493</span>    long addedSize = internalAdd(cell);<a name="line.493"></a>
-<span class="sourceLineNo">494</span><a name="line.494"></a>
-<span class="sourceLineNo">495</span>    // Get the Cells for the row/family/qualifier regardless of timestamp.<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    // For this case we want to clean up any other puts<a name="line.496"></a>
-<span class="sourceLineNo">497</span>    Cell firstCell = KeyValueUtil.createFirstOnRow(<a name="line.497"></a>
-<span class="sourceLineNo">498</span>        cell.getRowArray(), cell.getRowOffset(), cell.getRowLength(),<a name="line.498"></a>
-<span class="sourceLineNo">499</span>        cell.getFamilyArray(), cell.getFamilyOffset(), cell.getFamilyLength(),<a name="line.499"></a>
-<span class="sourceLineNo">500</span>        cell.getQualifierArray(), cell.getQualifierOffset(), cell.getQualifierLength());<a name="line.500"></a>
-<span class="sourceLineNo">501</span>    SortedSet&lt;Cell&gt; ss = cellSet.tailSet(firstCell);<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    Iterator&lt;Cell&gt; it = ss.iterator();<a name="line.502"></a>
-<span class="sourceLineNo">503</span>    // Versions visible to oldest scanner.<a name="line.503"></a>
-<span class="sourceLineNo">504</span>    int versionsVisible = 0;<a name="line.504"></a>
-<span class="sourceLineNo">505</span>    while ( it.hasNext() ) {<a name="line.505"></a>
-<span class="sourceLineNo">506</span>      Cell cur = it.next();<a name="line.506"></a>
-<span class="sourceLineNo">507</span><a name="line.507"></a>
-<span class="sourceLineNo">508</span>      if (cell == cur) {<a name="line.508"></a>
-<span class="sourceLineNo">509</span>        // ignore the one just put in<a name="line.509"></a>
-<span class="sourceLineNo">510</span>        continue;<a name="line.510"></a>
-<span class="sourceLineNo">511</span>      }<a name="line.511"></a>
-<span class="sourceLineNo">512</span>      // check that this is the row and column we are interested in, otherwise bail<a name="line.512"></a>
-<span class="sourceLineNo">513</span>      if (CellUtil.matchingRow(cell, cur) &amp;&amp; CellUtil.matchingQualifier(cell, cur)) {<a name="line.513"></a>
-<span class="sourceLineNo">514</span>        // only remove Puts that concurrent scanners cannot possibly see<a name="line.514"></a>
-<span class="sourceLineNo">515</span>        if (cur.getTypeByte() == KeyValue.Type.Put.getCode() &amp;&amp;<a name="line.515"></a>
-<span class="sourceLineNo">516</span>            cur.getSequenceId() &lt;= readpoint) {<a name="line.516"></a>
-<span class="sourceLineNo">517</span>          if (versionsVisible &gt;= 1) {<a name="line.517"></a>
-<span class="sourceLineNo">518</span>            // if we get here we have seen at least one version visible to the oldest scanner,<a name="line.518"></a>
-<span class="sourceLineNo">519</span>            // which means we can prove that no scanner will see this version<a name="line.519"></a>
-<span class="sourceLineNo">520</span><a name="line.520"></a>
-<span class="sourceLineNo">521</span>            // false means there was a change, so give us the size.<a name="line.521"></a>
-<span class="sourceLineNo">522</span>            long delta = heapSizeChange(cur, true);<a name="line.522"></a>
-<span class="sourceLineNo">523</span>            addedSize -= delta;<a name="line.523"></a>
-<span class="sourceLineNo">524</span>            this.size.addAndGet(-delta);<a name="line.524"></a>
-<span class="sourceLineNo">525</span>            it.remove();<a name="line.525"></a>
-<span class="sourceLineNo">526</span>            setOldestEditTimeToNow();<a name="line.526"></a>
-<span class="sourceLineNo">527</span>          } else {<a name="line.527"></a>
-<span class="sourceLineNo">528</span>            versionsVisible++;<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>      } else {<a name="line.531"></a>
-<span class="sourceLineNo">532</span>        // past the row or column, done<a name="line.532"></a>
-<span class="sourceLineNo">533</span>        break;<a name="line.533"></a>
-<span class="sourceLineNo">534</span>      }<a name="line.534"></a>
-<span class="sourceLineNo">535</span>    }<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    return addedSize;<a name="line.536"></a>
-<span class="sourceLineNo">537</span>  }<a name="line.537"></a>
-<span class="sourceLineNo">538</span><a name="line.538"></a>
-<span class="sourceLineNo">539</span>  /**<a name="line.539"></a>
-<span class="sourceLineNo">540</span>   * @return scanner on memstore and snapshot in this order.<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 List&lt;KeyValueScanner&gt; getScanners(long readPt) {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>    return Collections.&lt;KeyValueScanner&gt; singletonList(new MemStoreScanner(readPt));<a name="line.544"></a>
-<span class="sourceLineNo">545</span>  }<a name="line.545"></a>
-<span class="sourceLineNo">546</span><a name="line.546"></a>
-<span class="sourceLineNo">547</span>  /**<a name="line.547"></a>
-<span class="sourceLineNo">548</span>   * Check if this memstore may contain the required keys<a name="line.548"></a>
-<span class="sourceLineNo">549</span>   * @param scan scan<a name="line.549"></a>
-<span class="sourceLineNo">550</span>   * @param store holds reference to cf<a name="line.550"></a>
-<span class="sourceLineNo">551</span>   * @param oldestUnexpiredTS<a name="line.551"></a>
-<span class="sourceLineNo">552</span>   * @return False if the key definitely does not exist in this Memstore<a name="line.552"></a>
-<span class="sourceLineNo">553</span>   */<a name="line.553"></a>
-<span class="sourceLineNo">554</span>  public boolean shouldSeek(Scan scan, Store store, long oldestUnexpiredTS) {<a name="line.554"></a>
-<span class="sourceLineNo">555</span>    byte[] cf = store.getFamily().getName();<a name="line.555"></a>
-<span class="sourceLineNo">556</span>    TimeRange timeRange = scan.getColumnFamilyTimeRange().get(cf);<a name="line.556"></a>
-<span class="sourceLineNo">557</span>    if (timeRange == null) {<a name="line.557"></a>
-<span class="sourceLineNo">558</span>      timeRange = scan.getTimeRange();<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    }<a name="line.559"></a>
-<span class="sourceLineNo">560</span>    return (timeRangeTracker.includesTimeRange(timeRange) ||<a name="line.560"></a>
-<span class="sourceLineNo">561</span>        snapshotTimeRangeTracker.includesTimeRange(timeRange))<a name="line.561"></a>
-<span class="sourceLineNo">562</span>        &amp;&amp; (Math.max(timeRangeTracker.getMaximumTimestamp(),<a name="line.562"></a>
-<span class="sourceLineNo">563</span>                     snapshotTimeRangeTracker.getMaximumTimestamp()) &gt;=<a name="line.563"></a>
-<span class="sourceLineNo">564</span>            oldestUnexpiredTS);<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>  /*<a name="line.567"></a>
-<span class="sourceLineNo">568</span>   * MemStoreScanner implements the KeyValueScanner.<a name="line.568"></a>
-<span class="sourceLineNo">569</span>   * It lets the caller scan the contents of a memstore -- both current<a name="line.569"></a>
-<span class="sourceLineNo">570</span>   * map and snapshot.<a name="line.570"></a>
-<span class="sourceLineNo">571</span>   * This behaves as if it were a real scanner but does not maintain position.<a name="line.571"></a>
-<span class="sourceLineNo">572</span>   */<a name="line.572"></a>
-<span class="sourceLineNo">573</span>  protected class MemStoreScanner extends NonLazyKeyValueScanner {<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    // Next row information for either cellSet or snapshot<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    private Cell cellSetNextRow = null;<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    private Cell snapshotNextRow = null;<a name="line.576"></a>
-<span class="sourceLineNo">577</span><a name="line.577"></a>
-<span class="sourceLineNo">578</span>    // last iterated Cells for cellSet and snapshot (to restore iterator state after reseek)<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    private Cell cellSetItRow = null;<a name="line.579"></a>
-<span class="sourceLineNo">580</span>    private Cell snapshotItRow = null;<a name="line.580"></a>
-<span class="sourceLineNo">581</span>    <a name="line.581"></a>
-<span class="sourceLineNo">582</span>    // iterator based scanning.<a name="line.582"></a>
-<span class="sourceLineNo">583</span>    private Iterator&lt;Cell&gt; cellSetIt;<a name="line.583"></a>
-<span class="sourceLineNo">584</span>    private Iterator&lt;Cell&gt; snapshotIt;<a name="line.584"></a>
-<span class="sourceLineNo">585</span><a name="line.585"></a>
-<span class="sourceLineNo">586</span>    // The cellSet and snapshot at the time of creating this scanner<a name="line.586"></a>
-<span class="sourceLineNo">587</span>    private CellSkipListSet cellSetAtCreation;<a name="line.587"></a>
-<span class="sourceLineNo">588</span>    private CellSkipListSet snapshotAtCreation;<a name="line.588"></a>
-<span class="sourceLineNo">589</span><a name="line.589"></a>
-<span class="sourceLineNo">590</span>    // the pre-calculated Cell to be returned by peek() or next()<a name="line.590"></a>
-<span class="sourceLineNo">591</span>    private Cell theNext;<a name="line.591"></a>
-<span class="sourceLineNo">592</span><a name="line.592"></a>
-<span class="sourceLineNo">593</span>    // The allocator and snapshot allocator at the time of creating this scanner<a name="line.593"></a>
-<span class="sourceLineNo">594</span>    volatile MemStoreLAB allocatorAtCreation;<a name="line.594"></a>
-<span class="sourceLineNo">595</span>    volatile MemStoreLAB snapshotAllocatorAtCreation;<a name="line.595"></a>
-<span class="sourceLineNo">596</span>    <a name="line.596"></a>
-<span class="sourceLineNo">597</span>    // A flag represents whether could stop skipping Cells for MVCC<a name="line.597"></a>
-<span class="sourceLineNo">598</span>    // if have encountered the next row. Only used for reversed scan<a name="line.598"></a>
-<span class="sourceLineNo">599</span>    private boolean stopSkippingCellsIfNextRow = false;<a name="line.599"></a>
-<span class="sourceLineNo">600</span><a name="line.600"></a>
-<span class="sourceLineNo">601</span>    private long readPoint;<a name="line.601"></a>
-<span class="sourceLineNo">602</span><a name="line.602"></a>
-<span class="sourceLineNo">603</span>    /*<a name="line.603"></a>
-<span class="sourceLineNo">604</span>    Some notes...<a name="line.604"></a>
-<span class="sourceLineNo">605</span><a name="line.605"></a>
-<span class="sourceLineNo">606</span>     So memstorescanner is fixed at creation time. this includes pointers/iterators into<a name="line.606"></a>
-<span class="sourceLineNo">607</span>    existing kvset/snapshot.  during a snapshot creation, the kvset is null, and the<a name="line.607"></a>
-<span class="sourceLineNo">608</span>    snapshot is moved.  since kvset is null there is no point on reseeking on both,<a name="line.608"></a>
-<span class="sourceLineNo">609</span>      we can save us the trouble. During the snapshot-&gt;hfile transition, the memstore<a name="line.609"></a>
-<span class="sourceLineNo">610</span>      scanner is re-created by StoreScanner#updateReaders().  StoreScanner should<a name="line.610"></a>
-<span class="sourceLineNo">611</span>      potentially do something smarter by adjusting the existing memstore scanner.<a name="line.611"></a>
-<span class="sourceLineNo">612</span><a name="line.612"></a>
-<span class="sourceLineNo">613</span>      But there is a greater problem here, that being once a scanner has progressed<a name="line.613"></a>
-<span class="sourceLineNo">614</span>      during a snapshot scenario, we currently iterate past the kvset then 'finish' up.<a name="line.614"></a>
-<span class="sourceLineNo">615</span>      if a scan lasts a little while, there is a chance for new entries in kvset to<a name="line.615"></a>
-<span class="sourceLineNo">616</span>      become available but we will never see them.  This needs to be handled at the<a name="line.616"></a>
-<span class="sourceLineNo">617</span>      StoreScanner level with coordination with MemStoreScanner.<a name="line.617"></a>
-<span class="sourceLineNo">618</span><a name="line.618"></a>
-<span class="sourceLineNo">619</span>      Currently, this problem is only partly managed: during the small amount of time<a name="line.619"></a>
-<span class="sourceLineNo">620</span>      when the StoreScanner has not yet created a new MemStoreScanner, we will miss<a name="line.620"></a>
-<span class="sourceLineNo">621</span>      the adds to kvset in the MemStoreScanner.<a name="line.621"></a>
-<span class="sourceLineNo">622</span>    */<a name="line.622"></a>
-<span class="sourceLineNo">623</span><a name="line.623"></a>
-<span class="sourceLineNo">624</span>    MemStoreScanner(long readPoint) {<a name="line.624"></a>
-<span class="sourceLineNo">625</span>      super();<a name="line.625"></a>
-<span class="sourceLineNo">626</span><a name="line.626"></a>
-<span class="sourceLineNo">627</span>      this.readPoint = readPoint;<a name="line.627"></a>
-<span class="sourceLineNo">628</span>      cellSetAtCreation = cellSet;<a name="line.628"></a>
-<span class="sourceLineNo">629</span>      snapshotAtCreation = snapshot;<a name="line.629"></a>
-<span class="sourceLineNo">630</span>      if (allocator != null) {<a name="line.630"></a>
-<span class="sourceLineNo">631</span>        this.allocatorAtCreation = allocator;<a name="line.631"></a>
-<span class="sourceLineNo">632</span>        this.allocatorAtCreation.incScannerCount();<a name="line.632"></a>
-<span class="sourceLineNo">633</span>      }<a name="line.633"></a>
-<span class="sourceLineNo">634</span>      if (snapshotAllocator != null) {<a name="line.634"></a>
-<span class="sourceLineNo">635</span>        this.snapshotAllocatorAtCreation = snapshotAllocator;<a name="line.635"></a>
-<span class="sourceLineNo">636</span>        this.snapshotAllocatorAtCreation.incScannerCount();<a name="line.636"></a>
-<span class="sourceLineNo">637</span>      }<a name="line.637"></a>
-<span class="sourceLineNo">638</span>      if (Trace.isTracing() &amp;&amp; Trace.currentSpan() != null) {<a name="line.638"></a>
-<span class="sourceLineNo">639</span>        Trace.currentSpan().addTimelineAnnotation("Creating MemStoreScanner");<a name="line.639"></a>
-<span class="sourceLineNo">640</span>      }<a name="line.640"></a>
-<span class="sourceLineNo">641</span>    }<a name="line.641"></a>
-<span class="sourceLineNo">642</span><a name="line.642"></a>
-<span class="sourceLineNo">643</span>    /**<a name="line.643"></a>
-<span class="sourceLineNo">644</span>     * Lock on 'this' must be held by caller.<a name="line.644"></a>
-<span class="sourceLineNo">645</span>     * @param it<a name="line.645"></a>
-<span class="sourceLineNo">646</span>     * @return Next Cell<a name="line.646"></a>
-<span class="sourceLineNo">647</span>     */<a name="line.647"></a>
-<span class="sourceLineNo">648</span>    private Cell getNext(Iterator&lt;Cell&gt; it) {<a name="line.648"></a>
-<span class="sourceLineNo">649</span>      Cell startCell = theNext;<a name="line.649"></a>
-<span class="sourceLineNo">650</span>      Cell v = null;<a name="line.650"></a>
-<span class="sourceLineNo">651</span>      try {<a name="line.651"></a>
-<span class="sourceLineNo">652</span>        while (it.hasNext()) {<a name="line.652"></a>
-<span class="sourceLineNo">653</span>          v = it.next();<a name="line.653"></a>
-<span class="sourceLineNo">654</span>          if (v.getSequenceId() &lt;= this.readPoint) {<a name="line.654"></a>
-<span class="sourceLineNo">655</span>            return v;<a name="line.655"></a>
-<span class="sourceLineNo">656</span>          }<a name="line.656"></a>
-<span class="sourceLineNo">657</span>          if (stopSkippingCellsIfNextRow &amp;&amp; startCell != null<a name="line.657"></a>
-<span class="sourceLineNo">658</span>              &amp;&amp; comparator.compareRows(v, startCell) &gt; 0) {<a name="line.658"></a>
-<span class="sourceLineNo">659</span>            return null;<a name="line.659"></a>
-<span class="sourceLineNo">660</span>          }<a name="line.660"></a>
-<span class="sourceLineNo">661</span>        }<a name="line.661"></a>
-<span class="sourceLineNo">662</span><a name="line.662"></a>
-<span class="sourceLineNo">663</span>        return null;<a name="line.663"></a>
-<span class="sourceLineNo">664</span>      } finally {<a name="line.664"></a>
-<span class="sourceLineNo">665</span>        if (v != null) {<a name="line.665"></a>
-<span class="sourceLineNo">666</span>          // in all cases, remember the last Cell iterated to<a name="line.666"></a>
-<span class="sourceLineNo">667</span>          if (it == snapshotIt) {<a name="line.667"></a>
-<span class="sourceLineNo">668</span>            snapshotItRow = v;<a name="line.668"></a>
-<span class="sourceLineNo">669</span>          } else {<a name="line.669"></a>
-<span class="sourceLineNo">670</span>            cellSetItRow = v;<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>    }<a name="line.674"></a>
-<span class="sourceLineNo">675</span><a name="line.675"></a>
-<span class="sourceLineNo">676</span>    /**<a name="line.676"></a>
-<span class="sourceLineNo">677</span>     *  Set the scanner at the seek key.<a name="line.677"></a>
-<span class="sourceLineNo">678</span>     *  Must be called only once: there is no thread safety between the scanner<a name="line.678"></a>
-<span class="sourceLineNo">679</span>     *   and the memStore.<a name="line.679"></a>
-<span class="sourceLineNo">680</span>     * @param key seek value<a name="line.680"></a>
-<span class="sourceLineNo">681</span>     * @return false if the key is null or if there is no data<a name="line.681"></a>
-<span class="sourceLineNo">682</span>     */<a name="line.682"></a>
-<span class="sourceLineNo">683</span>    @Override<a name="line.683"></a>
-<span class="sourceLineNo">684</span>    public synchronized boolean seek(Cell key) {<a name="line.684"></a>
-<span class="sourceLineNo">685</span>      if (key == null) {<a name="line.685"></a>
-<span class="sourceLineNo">686</span>        close();<a name="line.686"></a>
-<span class="sourceLineNo">687</span>        return false;<a name="line.687"></a>
-<span class="sourceLineNo">688</span>      }<a name="line.688"></a>
-<span class="sourceLineNo">689</span>      // kvset and snapshot will never be null.<a name="line.689"></a>
-<span class="sourceLineNo">690</span>      // if tailSet can't find anything, SortedSet is empty (not null).<a name="line.690"></a>
-<span class="sourceLineNo">691</span>      cellSetIt = cellSetAtCreation.tailSet(key).iterator();<a name="line.691"></a>
-<span class="sourceLineNo">692</span>      snapshotIt = snapshotAtCreation.tailSet(key).iterator();<a name="line.692"></a>
-<span class="sourceLineNo">693</span>      cellSetItRow = null;<a name="line.693"></a>
-<span class="sourceLineNo">694</span>      snapshotItRow = null;<a name="line.694"></a>
-<span class="sourceLineNo">695</span><a name="line.695"></a>
-<span class="sourceLineNo">696</span>      return seekInSubLists(key);<a name="line.696"></a>
-<span class="sourceLineNo">697</span>    }<a name="line.697"></a>
+<span class="sourceLineNo">460</span>   * @param readpoint readpoint below which we can safely remove duplicate KVs<a name="line.460"></a>
+<span class="sourceLineNo">461</span>   * @return change in memstore size<a name="line.461"></a>
+<span class="sourceLineNo">462</span>   */<a name="line.462"></a>
+<span class="sourceLineNo">463</span>  @Override<a name="line.463"></a>
+<span class="sourceLineNo">464</span>  public long upsert(Iterable&lt;Cell&gt; cells, long readpoint) {<a name="line.464"></a>
+<span class="sourceLineNo">465</span>    long size = 0;<a name="line.465"></a>
+<span class="sourceLineNo">466</span>    for (Cell cell : cells) {<a name="line.466"></a>
+<span class="sourceLineNo">467</span>      size += upsert(cell, readpoint);<a name="line.467"></a>
+<span class="sourceLineNo">468</span>    }<a name="line.468"></a>
+<span class="sourceLineNo">469</span>    return size;<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>  /**<a name="line.472"></a>
+<span class="sourceLineNo">473</span>   * Inserts the specified KeyValue into MemStore and deletes any existing<a name="line.473"></a>
+<span class="sourceLineNo">474</span>   * versions of the same row/family/qualifier as the specified KeyValue.<a name="line.474"></a>
+<span class="sourceLineNo">475</span>   * &lt;p&gt;<a name="line.475"></a>
+<span class="sourceLineNo">476</span>   * First, the specified KeyValue is inserted into the Memstore.<a name="line.476"></a>
+<span class="sourceLineNo">477</span>   * &lt;p&gt;<a name="line.477"></a>
+<span class="sourceLineNo">478</span>   * If there are any existing KeyValues in this MemStore with the same row,<a name="line.478"></a>
+<span class="sourceLineNo">479</span>   * family, and qualifier, they are removed.<a name="line.479"></a>
+<span class="sourceLineNo">480</span>   * &lt;p&gt;<a name="line.480"></a>
+<span class="sourceLineNo">481</span>   * Callers must hold the read lock.<a name="line.481"></a>
+<span class="sourceLineNo">482</span>   * @param readpoint Smallest outstanding readpoint; below which we can remove duplicate Cells.<a name="line.482"></a>
+<span class="sourceLineNo">483</span>   * @return change in size of MemStore<a name="line.483"></a>
+<span class="sourceLineNo">484</span>   */<a name="line.484"></a>
+<span class="sourceLineNo">485</span>  private long upsert(Cell cell, long readpoint) {<a name="line.485"></a>
+<span class="sourceLineNo">486</span>    // Add the Cell to the MemStore<a name="line.486"></a>
+<span class="sourceLineNo">487</span>    // Use the internalAdd method here since we (a) already have a lock<a name="line.487"></a>
+<span class="sourceLineNo">488</span>    // and (b) cannot safely use the MSLAB here without potentially<a name="line.488"></a>
+<span class="sourceLineNo">489</span>    // hitting OOME - see TestMemStore.testUpsertMSLAB for a<a name="line.489"></a>
+<span class="sourceLineNo">490</span>    // test that triggers the pathological case if we don't avoid MSLAB<a name="line.490"></a>
+<span class="sourceLineNo">491</span>    // here.<a name="line.491"></a>
+<span class="sourceLineNo">492</span>    long addedSize = internalAdd(cell);<a name="line.492"></a>
+<span class="sourceLineNo">493</span><a name="line.493"></a>
+<span class="sourceLineNo">494</span>    // Get the Cells for the row/family/qualifier regardless of timestamp.<a name="line.494"></a>
+<span class="sourceLineNo">495</span>    // For this case we want to clean up any other puts<a name="line.495"></a>
+<span class="sourceLineNo">496</span>    Cell firstCell = KeyValueUtil.createFirstOnRow(<a name="line.496"></a>
+<span class="sourceLineNo">497</span>        cell.getRowArray(), cell.getRowOffset(), cell.getRowLength(),<a name="line.497"></a>
+<span class="sourceLineNo">498</span>        cell.getFamilyArray(), cell.getFamilyOffset(), cell.getFamilyLength(),<a name="line.498"></a>
+<span class="sourceLineNo">499</span>        cell.getQualifierArray(), cell.getQualifierOffset(), cell.getQualifierLength());<a name="line.499"></a>
+<span class="sourceLineNo">500</span>    SortedSet&lt;Cell&gt; ss = cellSet.tailSet(firstCell);<a name="line.500"></a>
+<span class="sourceLineNo">501</span>    Iterator&lt;Cell&gt; it = ss.iterator();<a name="line.501"></a>
+<span class="sourceLineNo">502</span>    // Versions visible to oldest scanner.<a name="line.502"></a>
+<span class="sourceLineNo">503</span>    int versionsVisible = 0;<a name="line.503"></a>
+<span class="sourceLineNo">504</span>    while ( it.hasNext() ) {<a name="line.504"></a>
+<span class="sourceLineNo">505</span>      Cell cur = it.next();<a name="line.505"></a>
+<span class="sourceLineNo">506</span><a name="line.506"></a>
+<span class="sourceLineNo">507</span>      if (cell == cur) {<a name="line.507"></a>
+<span class="sourceLineNo">508</span>        // ignore the one just put in<a name="line.508"></a>
+<span class="sourceLineNo">509</span>        continue;<a name="line.509"></a>
+<span class="sourceLineNo">510</span>      }<a name="line.510"></a>
+<span class="sourceLineNo">511</span>      // check that this is the row and column we are interested in, otherwise bail<a name="line.511"></a>
+<span class="sourceLineNo">512</span>      if (CellUtil.matchingRow(cell, cur) &amp;&amp; CellUtil.matchingQualifier(cell, cur)) {<a name="line.512"></a>
+<span class="sourceLineNo">513</span>        // only remove Puts that concurrent scanners cannot possibly see<a name="line.513"></a>
+<span class="sourceLineNo">514</span>        if (cur.getTypeByte() == KeyValue.Type.Put.getCode() &amp;&amp;<a name="line.514"></a>
+<span class="sourceLineNo">515</span>            cur.getSequenceId() &lt;= readpoint) {<a name="line.515"></a>
+<span class="sourceLineNo">516</span>          if (versionsVisible &gt;= 1) {<a name="line.516"></a>
+<span class="sourceLineNo">517</span>            // if we get here we have seen at least one version visible to the oldest scanner,<a name="line.517"></a>
+<span class="sourceLineNo">518</span>            // which means we can prove that no scanner will see this version<a name="line.518"></a>
+<span class="sourceLineNo">519</span><a name="line.519"></a>
+<span class="sourceLineNo">520</span>            // false means there was a change, so give us the size.<a name="line.520"></a>
+<span class="sourceLineNo">521</span>            long delta = heapSizeChange(cur, true);<a name="line.521"></a>
+<span class="sourceLineNo">522</span>            addedSize -= delta;<a name="line.522"></a>
+<span class="sourceLineNo">523</span>            this.size.addAndGet(-delta);<a name="line.523"></a>
+<span class="sourceLineNo">524</span>            it.remove();<a name="line.524"></a>
+<span class="sourceLineNo">525</span>            setOldestEditTimeToNow();<a name="line.525"></a>
+<span class="sourceLineNo">526</span>          } else {<a name="line.526"></a>
+<span class="sourceLineNo">527</span>            versionsVisible++;<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>      } else {<a name="line.530"></a>
+<span class="sourceLineNo">531</span>        // past the row or column, done<a name="line.531"></a>
+<span class="sourceLineNo">532</span>        break;<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>    return addedSize;<a name="line.535"></a>
+<span class="sourceLineNo">536</span>  }<a name="line.536"></a>
+<span class="sourceLineNo">537</span><a name="line.537"></a>
+<span class="sourceLineNo">538</span>  /**<a name="line.538"></a>
+<span class="sourceLineNo">539</span>   * @return scanner on memstore and snapshot in this order.<a name="line.539"></a>
+<span class="sourceLineNo">540</span>   */<a name="line.540"></a>
+<span class="sourceLineNo">541</span>  @Override<a name="line.541"></a>
+<span class="sourceLineNo">542</span>  public List&lt;KeyValueScanner&gt; getScanners(long readPt) {<a name="line.542"></a>
+<span class="sourceLineNo">543</span>    return Collections.&lt;KeyValueScanner&gt; singletonList(new MemStoreScanner(readPt));<a name="line.543"></a>
+<span class="sourceLineNo">544</span>  }<a name="line.544"></a>
+<span class="sourceLineNo">545</span><a name="line.545"></a>
+<span class="sourceLineNo">546</span>  /**<a name="line.546"></a>
+<span class="sourceLineNo">547</span>   * Check if this memstore may contain the required keys<a name="line.547"></a>
+<span class="sourceLineNo">548</span>   * @param scan scan<a name="line.548"></a>
+<span class="sourceLineNo">549</span>   * @param store holds reference to cf<a name="line.549"></a>
+<span class="sourceLineNo">550</span>   * @param oldestUnexpiredTS<a name="line.550"></a>
+<span class="sourceLineNo">551</span>   * @return False if the key definitely does not exist in this Memstore<a name="line.551"></a>
+<span class="sourceLineNo">552</span>   */<a name="line.552"></a>
+<span class="sourceLineNo">553</span>  public boolean shouldSeek(Scan scan, Store store, long oldestUnexpiredTS) {<a name="line.553"></a>
+<span class="sourceLineNo">554</span>    byte[] cf = store.getFamily().getName();<a name="line.554"></a>
+<span class="sourceLineNo">555</span>    TimeRange timeRange = scan.getColumnFamilyTimeRange().get(cf);<a name="line.555"></a>
+<span class="sourceLineNo">556</span>    if (timeRange == null) {<a name="line.556"></a>
+<span class="sourceLineNo">557</span>      timeRange = scan.getTimeRange();<a name="line.557"></a>
+<span class="sourceLineNo">558</span>    }<a name="line.558"></a>
+<span class="sourceLineNo">559</span>    return (timeRangeTracker.includesTimeRange(timeRange) ||<a name="line.559"></a>
+<span class="sourceLineNo">560</span>        snapshotTimeRangeTracker.includesTimeRange(timeRange))<a name="line.560"></a>
+<span class="sourceLineNo">561</span>        &amp;&amp; (Math.max(timeRangeTracker.getMaximumTimestamp(),<a name="line.561"></a>
+<span class="sourceLineNo">562</span>                     snapshotTimeRangeTracker.getMaximumTimestamp()) &gt;=<a name="line.562"></a>
+<span class="sourceLineNo">563</span>            oldestUnexpiredTS);<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>   * MemStoreScanner implements the KeyValueScanner.<a name="line.567"></a>
+<span class="sourceLineNo">568</span>   * It lets the caller scan the contents of a memstore -- both current<a name="line.568"></a>
+<span class="sourceLineNo">569</span>   * map and snapshot.<a name="line.569"></a>
+<span class="sourceLineNo">570</span>   * This behaves as if it were a real scanner but does not maintain position.<a name="line.570"></a>
+<span class="sourceLineNo">571</span>   */<a name="line.571"></a>
+<span class="sourceLineNo">572</span>  protected class MemStoreScanner extends NonLazyKeyValueScanner {<a name="line.572"></a>
+<span class="sourceLineNo">573</span>    // Next row information for either cellSet or snapshot<a name="line.573"></a>
+<span class="sourceLineNo">574</span>    private Cell cellSetNextRow = null;<a name="line.574"></a>
+<span class="sourceLineNo">575</span>    private Cell snapshotNextRow = null;<a name="line.575"></a>
+<span class="sourceLineNo">576</span><a name="line.576"></a>
+<span class="sourceLineNo">577</span>    // last iterated Cells for cellSet and snapshot (to restore iterator state after reseek)<a name="line.577"></a>
+<span class="sourceLineNo">578</span>    private Cell cellSetItRow = null;<a name="line.578"></a>
+<span class="sourceLineNo">579</span>    private Cell snapshotItRow = null;<a name="line.579"></a>
+<span class="sourceLineNo">580</span><a name="line.580"></a>
+<span class="sourceLineNo">581</span>    // iterator based scanning.<a name="line.581"></a>
+<span class="sourceLineNo">582</span>    private Iterator&lt;Cell&gt; cellSetIt;<a name="line.582"></a>
+<span class="sourceLineNo">583</span>    private Iterator&lt;Cell&gt; snapshotIt;<a name="line.583"></a>
+<span class="sourceLineNo">584</span><a name="line.584"></a>
+<span class="sourceLineNo">585</span>    // The cellSet and snapshot at the time of creating this scanner<a name="line.585"></a>
+<span class="sourceLineNo">586</span>    private CellSkipListSet cellSetAtCreation;<a name="line.586"></a>
+<span class="sourceLineNo">587</span>    private CellSkipListSet snapshotAtCreation;<a name="line.587"></a>
+<span class="sourceLineNo">588</span><a name="line.588"></a>
+<span class="sourceLineNo">589</span>    // the pre-calculated Cell to be returned by peek() or next()<a name="line.589"></a>
+<span class="sourceLineNo">590</span>    private Cell theNext;<a name="line.590"></a>
+<span class="sourceLineNo">591</span><a name="line.591"></a>
+<span class="sourceLineNo">592</span>    // The allocator and snapshot allocator at the time of creating this scanner<a name="line.592"></a>
+<span class="sourceLineNo">593</span>    volatile MemStoreLAB allocatorAtCreation;<a name="line.593"></a>
+<span class="sourceLineNo">594</span>    volatile MemStoreLAB snapshotAllocatorAtCreation;<a name="line.594"></a>
+<span class="sourceLineNo">595</span><a name="line.595"></a>
+<span class="sourceLineNo">596</span>    // A flag represents whether could stop skipping Cells for MVCC<a name="line.596"></a>
+<span class="sourceLineNo">597</span>    // if have encountered the next row. Only used for reversed scan<a name="line.597"></a>
+<span class="sourceLineNo">598</span>    private boolean stopSkippingCellsIfNextRow = false;<a name="line.598"></a>
+<span class="sourceLineNo">599</span><a name="line.599"></a>
+<span class="sourceLineNo">600</span>    private long readPoint;<a name="line.600"></a>
+<span class="sourceLineNo">601</span><a name="line.601"></a>
+<span class="sourceLineNo">602</span>    /*<a name="line.602"></a>
+<span class="sourceLineNo">603</span>    Some notes...<a name="line.603"></a>
+<span class="sourceLineNo">604</span><a name="line.604"></a>
+<span class="sourceLineNo">605</span>     So memstorescanner is fixed at creation time. this includes pointers/iterators into<a name="line.605"></a>
+<span class="sourceLineNo">606</span>    existing kvset/snapshot.  during a snapshot creation, the kvset is null, and the<a name="line.606"></a>
+<span class="sourceLineNo">607</span>    snapshot is moved.  since kvset is null there is no point on reseeking on both,<a name="line.607"></a>
+<span class="sourceLineNo">608</span>      we can save us the trouble. During the snapshot-&gt;hfile transition, the memstore<a name="line.608"></a>
+<span class="sourceLineNo">609</span>      scanner is re-created by StoreScanner#updateReaders().  StoreScanner should<a name="line.609"></a>
+<span class="sourceLineNo">610</span>      potentially do something smarter by adjusting the existing memstore scanner.<a name="line.610"></a>
+<span class="sourceLineNo">611</span><a name="line.611"></a>
+<span class="sourceLineNo">612</span>      But there is a greater problem here, that being once a scanner has progressed<a name="line.612"></a>
+<span class="sourceLineNo">613</span>      during a snapshot scenario, we currently iterate past the kvset then 'finish' up.<a name="line.613"></a>
+<span class="sourceLineNo">614</span>      if a scan lasts a little while, there is a chance for new entries in kvset to<a name="line.614"></a>
+<span class="sourceLineNo">615</span>      become available but we will never see them.  This needs to be handled at the<a name="line.615"></a>
+<span class="sourceLineNo">616</span>      StoreScanner level with coordination with MemStoreScanner.<a name="line.616"></a>
+<span class="sourceLineNo">617</span><a name="line.617"></a>
+<span class="sourceLineNo">618</span>      Currently, this problem is only partly managed: during the small amount of time<a name="line.618"></a>
+<span class="sourceLineNo">619</span>      when the StoreScanner has not yet created a new MemStoreScanner, we will miss<a name="line.619"></a>
+<span class="sourceLineNo">620</span>      the adds to kvset in the MemStoreScanner.<a name="line.620"></a>
+<span class="sourceLineNo">621</span>    */<a name="line.621"></a>
+<span class="sourceLineNo">622</span><a name="line.622"></a>
+<span class="sourceLineNo">623</span>    MemStoreScanner(long readPoint) {<a name="line.623"></a>
+<span class="sourceLineNo">624</span>      super();<a name="line.624"></a>
+<span class="sourceLineNo">625</span><a name="line.625"></a>
+<span class="sourceLineNo">626</span>      this.readPoint = readPoint;<a name="line.626"></a>
+<span class="sourceLineNo">627</span>      cellSetAtCreation = cellSet;<a name="line.627"></a>
+<span class="sourceLineNo">628</span>      snapshotAtCreation = snapshot;<a name="line.628"></a>
+<span class="sourceLineNo">629</span>      if (allocator != null) {<a name="line.629"></a>
+<span class="sourceLineNo">630</span>        this.allocatorAtCreation = allocator;<a name="line.630"></a>
+<span class="sourceLineNo">631</span>        this.allocatorAtCreation.incScannerCount();<a name="line.631"></a>
+<span class="sourceLineNo">632</span>      }<a name="line.632"></a>
+<span class="sourceLineNo">633</span>      if (snapshotAllocator != null) {<a name="line.633"></a>
+<span class="sourceLineNo">634</span>        this.snapshotAllocatorAtCreation = snapshotAllocator;<a name="line.634"></a>
+<span class="sourceLineNo">635</span>        this.snapshotAllocatorAtCreation.incScannerCount();<a name="line.635"></a>
+<span class="sourceLineNo">636</span>      }<a name="line.636"></a>
+<span class="sourceLineNo">637</span>      if (Trace.isTracing() &amp;&amp; Trace.currentSpan() != null) {<a name="line.637"></a>
+<span class="sourceLineNo">638</span>        Trace.currentSpan().addTimelineAnnotation("Creating MemStoreScanner");<a name="line.638"></a>
+<span class="sourceLineNo">639</span>      }<a name="line.639"></a>
+<span class="sourceLineNo">640</span>    }<a name="line.640"></a>
+<span class="sourceLineNo">641</span><a name="line.641"></a>
+<span class="sourceLineNo">642</span>    /**<a name="line.642"></a>
+<span class="sourceLineNo">643</span>     * Lock on 'this' must be held by caller.<a name="line.643"></a>
+<span class="sourceLineNo">644</span>     * @param it<a name="line.644"></a>
+<span class="sourceLineNo">645</span>     * @return Next Cell<a name="line.645"></a>
+<span class="sourceLineNo">646</span>     */<a name="line.646"></a>
+<span class="sourceLineNo">647</span>    private Cell getNext(Iterator&lt;Cell&gt; it) {<a name="line.647"></a>
+<span class="sourceLineNo">648</span>      Cell startCell = theNext;<a name="line.648"></a>
+<span class="sourceLineNo">649</span>      Cell v = null;<a name="line.649"></a>
+<span class="sourceLineNo">650</span>      try {<a name="line.650"></a>
+<span class="sourceLineNo">651</span>        while (it.hasNext()) {<a name="line.651"></a>
+<span class="sourceLineNo">652</span>          v = it.next();<a name="line.652"></a>
+<span class="sourceLineNo">653</span>          if (v.getSequenceId() &lt;= this.readPoint) {<a name="line.653"></a>
+<span class="sourceLineNo">654</span>            return v;<a name="line.654"></a>
+<span class="sourceLineNo">655</span>          }<a name="line.655"></a>
+<span class="sourceLineNo">656</span>          if (stopSkippingCellsIfNextRow &amp;&amp; startCell != null<a name="line.656"></a>
+<span class="sourceLineNo">657</span>              &amp;&amp; comparator.compareRows(v, startCell) &gt; 0) {<a name="line.657"></a>
+<span class="sourceLineNo">658</span>            return null;<a name="line.658"></a>
+<span class="sourceLineNo">659</span>          }<a name="line.659"></a>
+<span class="sourceLineNo">660</span>        }<a name="line.660"></a>
+<span class="sourceLineNo">661</span><a name="line.661"></a>
+<span class="sourceLineNo">662</span>        return null;<a name="line.662"></a>
+<span class="sourceLineNo">663</span>      } finally {<a name="line.663"></a>
+<span class="sourceLineNo">664</span>        if (v != null) {<a name="line.664"></a>
+<span class="sourceLineNo">665</span>          // in all cases, remember the last Cell iterated to<a name="line.665"></a>
+<span class="sourceLineNo">666</span>          if (it == snapshotIt) {<a name="line.666"></a>
+<span class="sourceLineNo">667</span>            snapshotItRow = v;<a name="line.667"></a>
+<span class="sourceLineNo">668</span>          } else {<a name="line.668"></a>
+<span class="sourceLineNo">669</span>            cellSetItRow = v;<a name="line.669"></a>
+<span class="sourceLineNo">670</span>          }<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><a name="line.674"></a>
+<span class="sourceLineNo">675</span>    /**<a name="line.675"></a>
+<span class="sourceLineNo">676</span>     *  Set the scanner at the seek key.<a name="line.676"></a>
+<span class="sourceLineNo">677</span>     *  Must be called only once: there is no thread safety between the scanner<a name="line.677"></a>
+<span class="sourceLineNo">678</span>     *   and the memStore.<a name="line.678"></a>
+<span class="sourceLineNo">679</span>     * @param key seek value<a name="line.679"></a>
+<span class="sourceLineNo">680</span>     * @return false if the key is null or if there is no data<a name="line.680"></a>
+<span class="sourceLineNo">681</span>     */<a name="line.681"></a>
+<span class="sourceLineNo">682</span>    @Override<a name="line.682"></a>
+<span class="sourceLineNo">683</span>    public synchronized boolean seek(Cell key) {<a name="line.683"></a>
+<span class="sourceLineNo">684</span>      if (key == null) {<a name="line.684"></a>
+<span class="sourceLineNo">685</span>        close();<a name="line.685"></a>
+<span class="sourceLineNo">686</span>        return false;<a name="line.686"></a>
+<span class="sourceLineNo">687</span>      }<a name="line.687"></a>
+<span class="sourceLineNo">688</span>      // kvset and snapshot will never be null.<a name="line.688"></a>
+<span class="sourceLineNo">689</span>      // if tailSet can't find anything, SortedSet is empty (not null).<a name="line.689"></a>
+<span class="sourceLineNo">690</span>      cellSetIt = cellSetAtCreation.tailSet(key).iterator();<a name="line.690"></a>
+<span class="sourceLineNo">691</span>      snapshotIt = snapshotAtCreation.tailSet(key).iterator();<a name="line.691"></a>
+<span class="sourceLineNo">692</span>      cellSetItRow = null;<a name="line.692"></a>
+<span class="sourceLineNo">693</span>      snapshotItRow = null;<a name="line.693"></a>
+<span class="sourceLineNo">694</span><a name="line.694"></a>
+<span class="sourceLineNo">695</span>      return seekInSubLists(key);<a name="line.695"></a>
+<span class="sourceLineNo">696</span>    }<a name="line.696"></a>
+<span class="sourceLineNo">697</span><a name="line.697"></a>
 <span class="sourceLineNo">698</span><a name="line.698"></a>
-<span class="sourceLineNo">699</span><a name="line.699"></a>
-<span class="sourceLineNo">700</span>    /**<a name="line.700"></a>
-<span class="sourceLineNo">701</span>     * (Re)initialize the iterators after a seek or a reseek.<a name="line.701"></a>
-<span class="sourceLineNo">702</span>     */<a name="line.702"></a>
-<span class="sourceLineNo">703</span>    private synchronized boolean seekInSubLists(Cell key){<a name="line.703"></a>
-<span class="sourceLineNo">704</span>      cellSetNextRow = getNext(cellSetIt);<a name="line.704"></a>
-<span class="sourceLineNo">705</span>      snapshotNextRow = getNext(snapshotIt);<a name="line.705"></a>
-<span class="sourceLineNo">706</span><a name="line.706"></a>
-<span class="sourceLineNo">707</span>      // Calculate the next value<a name="line.707"></a>
-<span class="sourceLineNo">708</span>      theNext = getLowest(cellSetNextRow, snapshotNextRow);<a name="line.708"></a>
-<span class="sourceLineNo">709</span><a name="line.709"></a>
-<span class="sourceLineNo">710</span>      // has data<a name="line.710"></a>
-<span class="sourceLineNo">711</span>      return (theNext != null);<a name="line.711"></a>
-<span class="sourceLineNo">712</span>    }<a name="line.712"></a>
+<span class="sourceLineNo">699</span>    /**<a name="line.699"></a>
+<span class="sourceLineNo">700</span>     * (Re)initialize the iterators after a seek or a reseek.<a name="line.700"></a>
+<span class="sourceLineNo">701</span>     */<a name="line.701"></a>
+<span class="sourceLineNo">702</span>    private synchronized boolean seekInSubLists(Cell key){<a name="line.702"></a>
+<span class="sourceLineNo">703</span>      cellSetNextRow = getNext(cellSetIt);<a name="line.703"></a>
+<span class="sourceLineNo">704</span>      snapshotNextRow = getNext(snapshotIt);<a name="line.704"></a>
+<span class="sourceLineNo">705</span><a name="line.705"></a>
+<span class="sourceLineNo">706</span>      // Calculate the next value<a name="line.706"></a>
+<span class="sourceLineNo">707</span>      theNext = getLowest(cellSetNextRow, snapshotNextRow);<a name="line.707"></a>
+<span class="sourceLineNo">708</span><a name="line.708"></a>
+<span class="sourceLineNo">709</span>      // has data<a name="line.709"></a>
+<span class="sourceLineNo">710</span>      return (theNext != null);<a name="line.710"></a>
+<span class="sourceLineNo">711</span>    }<a name="line.711"></a>
+<span class="sourceLineNo">712</span><a name="line.712"></a>
 <span class="sourceLineNo">713</span><a name="line.713"></a>
-<span class="sourceLineNo">714</span><a name="line.714"></a>
-<span class="sourceLineNo">715</span>    /**<a name="line.715"></a>
-<span class="sourceLineNo">716</span>     * Move forward on the sub-lists set previously by seek.<a name="line.716"></a>
-<span class="sourceLineNo">717</span>     * @param key seek value (should be non-null)<a name="line.717"></a>
-<span class="sourceLineNo">718</span>     * @return true if there is at least one KV to read, false otherwise<a name="line.718"></a>
-<span class="sourceLineNo">719</span>     */<a name="line.719"></a>
-<span class="sourceLineNo">720</span>    @Override<a name="line.720"></a>
-<span class="sourceLineNo">721</span>    public synchronized boolean reseek(Cell key) {<a name="line.721"></a>
-<span class="sourceLineNo">722</span>      /*<a name="line.722"></a>
-<span class="sourceLineNo">723</span>      See HBASE-4195 &amp; HBASE-3855 &amp; HBASE-6591 for the background on this implementation.<a name="line.723"></a>
-<span class="sourceLineNo">724</span>      This code is executed concurrently with flush and puts, without locks.<a name="line.724"></a>
-<span class="sourceLineNo">725</span>      Two points must be known when working on this code:<a name="line.725"></a>
-<span class="sourceLineNo">726</span>      1) It's not possible to use the 'kvTail' and 'snapshot'<a name="line.726"></a>
-<span class="sourceLineNo">727</span>       variables, as they are modified during a flush.<a name="line.727"></a>
-<span class="sourceLineNo">728</span>      2) The ideal implementation for performance would use the sub skip list<a name="line.728"></a>
-<span class="sourceLineNo">729</span>       implicitly pointed by the iterators 'kvsetIt' and<a name="line.729"></a>
-<span class="sourceLineNo">730</span>       'snapshotIt'. Unfortunately the Java API does not offer a method to<a name="line.730"></a>
-<span class="sourceLineNo">731</span>       get it. So we remember the last keys we iterated to and restore<a name="line.731"></a>
-<span class="sourceLineNo">732</span>       the reseeked set to at least that point.<a name="line.732"></a>
-<span class="sourceLineNo">733</span>       */<a name="line.733"></a>
-<span class="sourceLineNo">734</span>      cellSetIt = cellSetAtCreation.tailSet(getHighest(key, cellSetItRow)).iterator();<a name="line.734"></a>
-<span class="sourceLineNo">735</span>      snapshotIt = snapshotAtCreation.tailSet(getHighest(key, snapshotItRow)).iterator();<a name="line.735"></a>
-<span class="sourceLineNo">736</span><a name="line.736"></a>
-<span class="sourceLineNo">737</span>      return seekInSubLists(key);<a name="line.737"></a>
-<span class="sourceLineNo">738</span>    }<a name="line.738"></a>
+<span class="sourceLineNo">714</span>    /**<a name="line.714"></a>
+<span class="sourceLineNo">715</span>     * Move forward on the sub-lists set previously by seek.<a name="line.715"></a>
+<span class="sourceLineNo">716</span>     * @param key seek value (should be non-null)<a name="line.716"></a>
+<span class="sourceLineNo">717</span>     * @return true if there is at least one KV to read, false otherwise<a name="line.717"></a>
+<span class="sourceLineNo">718</span>     */<a name="line.718"></a>
+<span class="sourceLineNo">719</span>    @Override<a name="line.719"></a>
+<span class="sourceLineNo">720</span>    public synchronized boolean reseek(Cell key) {<a name="line.720"></a>
+<span class="sourceLineNo">721</span>      /*<a name="line.721"></a>
+<span class="sourceLineNo">722</span>      See HBASE-4195 &amp; HBASE-3855 &amp; HBASE-6591 for the background on this implementation.<a name="line.722"></a>
+<span class="sourceLineNo">723</span>      This code is executed concurrently with flush and puts, without locks.<a name="line.723"></a>
+<span class="sourceLineNo">724</span>      Two points must be known when working on this code:<a name="line.724"></a>
+<span class="sourceLineNo">725</span>      1) It's not possible to use the 'kvTail' and 'snapshot'<a name="line.725"></a>
+<span class="sourceLineNo">726</span>       variables, as they are modified during a flush.<a name="line.726"></a>
+<span class="sourceLineNo">727</span>      2) The ideal implementation for performance would use the sub skip list<a name="line.727"></a>
+<span class="sourceLineNo">728</span>       implicitly pointed by the iterators 'kvsetIt' and<a name="line.728"></a>
+<span class="sourceLineNo">729</span>       'snapshotIt'. Unfortunately the Java API does not offer a method to<a name="line.729"></a>
+<span class="sourceLineNo">730</span>       get it. So we remember the last keys we iterated to and restore<a name="line.730"></a>
+<span class="sourceLineNo">731</span>       the reseeked set to at least that point.<a name="line.731"></a>
+<span class="sourceLineNo">732</span>       */<a name="line.732"></a>
+<span class="sourceLineNo">733</span>      cellSetIt = cellSetAtCreation.tailSet(getHighest(key, cellSetItRow)).iterator();<a name="line.733"></a>
+<span class="sourceLineNo">734</span>      snapshotIt = snapshotAtCreation.tailSet(getHighest(key, snapshotItRow)).iterator();<a name="line.734"></a>
+<span class="sourceLineNo">735</span><a name="line.735"></a>
+<span class="sourceLineNo">736</span>      return seekInSubLists(key);<a name="line.736"></a>
+<span class="sourceLineNo">737</span>    }<a name="line.737"></a>
+<span class="sourceLineNo">738</span><a name="line.738"></a>
 <span class="sourceLineNo">739</span><a name="line.739"></a>
-<span class="sourceLineNo">740</span><a name="line.740"></a>
-<span class="sourceLineNo">741</span>    @Override<a name="line.741"></a>
-<span class="sourceLineNo">742</span>    public synchronized Cell peek() {<a name="line.742"></a>
-<span class="sourceLineNo">743</span>      //DebugPrint.println(" MS@" + hashCode() + " peek = " + getLowest());<a name="line.743"></a>
-<span class="sourceLineNo">744</span>      return theNext;<a name="line.744"></a>
-<span class="sourceLineNo">745</span>    }<a name="line.745"></a>
-<span class="sourceLineNo">746</span><a name="line.746"></a>
-<span class="sourceLineNo">747</span>    @Override<a name="line.747"></a>
-<span class="sourceLineNo">748</span>    public synchronized Cell next() {<a name="line.748"></a>
-<span class="sourceLineNo">749</span>      if (theNext == null) {<a name="line.749"></a>
-<span class="sourceLineNo">750</span>          return null;<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>      final Cell ret = theNext;<a name="line.753"></a>
-<span class="sourceLineNo">754</span><a name="line.754"></a>
-<span class="sourceLineNo">755</span>      // Advance one of the iterators<a name="line.755"></a>
-<span class="sourceLineNo">756</span>      if (theNext == cellSetNextRow) {<a name="line.756"></a>
-<span class="sourceLineNo">757</span>        cellSetNextRow = getNext(cellSetIt);<a name="line.757"></a>
-<span class="sourceLineNo">758</span>      } else {<a name="line.758"></a>
-<span class="sourceLineNo">759</span>        snapshotNextRow = getNext(snapshotIt);<a name="line.759"></a>
-<span class="sourceLineNo">760</span>      }<a name="line.760"></a>
-<span class="sourceLineNo">761</span><a name="line.761"></a>
-<span class="sourceLineNo">762</span>      // Calculate the next value<a name="line.762"></a>
-<span class="sourceLineNo">763</span>      theNext = getLowest(cellSetNextRow, snapshotNextRow);<a name="line.763"></a>
-<span class="sourceLineNo">764</span><a name="line.764"></a>
-<span class="sourceLineNo">765</span>      //long readpoint = ReadWriteConsistencyControl.getThreadReadPoint();<a name="line.765"></a>
-<span class="sourceLineNo">766</span>      //DebugPrint.println(" MS@" + hashCode() + " next: " + theNext + " next_next: " +<a name="line.766"></a>
-<span class="sourceLineNo">767</span>      //    getLowest() + " threadpoint=" + readpoint);<a name="line.767"></a>
-<span class="sourceLineNo">768</span>      return ret;<a name="line.768"></a>
-<span class="sourceLineNo">769</span>    }<a name="line.769"></a>
-<span class="sourceLineNo">770</span><a name="line.770"></a>
-<span class="sourceLineNo">771</span>    /*<a name="line.771"></a>
-<span class="sourceLineNo">772</span>     * Returns the lower of the two key values, or null if they are both null.<a name="line.772"></a>
-<span class="sourceLineNo">773</span>     * This uses comparator.compare() to compare the KeyValue using the memstore<a name="line.773"></a>
-<span class="sourceLineNo">774</span>     * comparator.<a name="line.774"></a>
-<span class="sourceLineNo">775</span>     */<a name="line.775"></a>
-<span class="sourceLineNo">776</span>    private Cell getLowest(Cell first, Cell second) {<a name="line.776"></a>
-<span class="sourceLineNo">777</span>      if (first == null &amp;&amp; second == null) {<a name="line.777"></a>
-<span class="sourceLineNo">778</span>        return null;<a name="line.778"></a>
-<span class="sourceLineNo">779</span>      }<a name="line.779"></a>
-<span class="sourceLineNo">780</span>      if (first != null &amp;&amp; second != null) {<a name="line.780"></a>
-<span class="sourceLineNo">781</span>        int compare = comparator.compare(first, second);<a name="line.781"></a>
-<span class="sourceLineNo">782</span>        return (compare &lt;= 0 ? first : second);<a name="line.782"></a>
-<span class="sourceLineNo">783</span>      }<a name="line.783"></a>
-<span class="sourceLineNo">784</span>      return (first != null ? first : second);<a name="line.784"></a>
-<span class="sourceLineNo">785</span>    }<a name="line.785"></a>
-<span class="sourceLineNo">786</span><a name="line.786"></a>
-<span class="sourceLineNo">787</span>    /*<a name="line.787"></a>
-<span class="sourceLineNo">788</span>     * Returns the higher of the two cells, or null if they are both null.<a name="line.788"></a>
-<span class="sourceLineNo">789</span>     * This uses comparator.compare() to compare the Cell using the memstore<a name="line.789"></a>
-<span class="sourceLineNo">790</span>     * comparator.<a name="line.790"></a>
-<span class="sourceLineNo">791</span>     */<a name="line.791"></a>
-<span class="sourceLineNo">792</span>    private Cell getHighest(Cell first, Cell second) {<a name="line.792"></a>
-<span class="sourceLineNo">793</span>      if (first == null &amp;&amp; second == null) {<a name="line.793"></a>
-<span class="sourceLineNo">794</span>        return null;<a name="line.794"></a>
-<span class="sourceLineNo">795</span>      }<a name="line.795"></a>
-<span class="sourceLineNo">796</span>      if (first != null &amp;&amp; second != null) {<a name="line.796"></a>
-<span class="sourceLineNo">797</span>        int compare = comparator.compare(first, second);<a name="line.797"></a>
-<span class="sourceLineNo">798</span>        return (compare &gt; 0 ? first : second);<a name="line.798"></a>
-<span class="sourceLineNo">799</span>      }<a name="line.799"></a>
-<span class="sourceLineNo">800</span>      return (first != null ? first : second);<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>    public synchronized void close() {<a name="line.803"></a>
-<span class="sourceLineNo">804</span>      this.cellSetNextRow = null;<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      this.snapshotNextRow = null;<a name="line.805"></a>
-<span class="sourceLineNo">806</span><a name="line.806"></a>
-<span class="sourceLineNo">807</span>      this.cellSetIt = null;<a name="line.807"></a>
-<span class="sourceLineNo">808</span>      this.snapshotIt = null;<a name="line.808"></a>
-<span class="sourceLineNo">809</span>      <a name="line.809"></a>
-<span class="sourceLineNo">810</span>      if (allocatorAtCreation != null) {<a name="line.810"></a>
-<span class="sourceLineNo">811</span>        this.allocatorAtCreation.decScannerCount();<a name="line.811"></a>
-<span class="sourceLineNo">812</span>        this.allocatorAtCreation = null;<a name="line.812"></a>
-<span class="sourceLineNo">813</span>      }<a name="line.813"></a>
-<span class="sourceLineNo">814</span>      if (snapshotAllocatorAtCreation != null) {<a name="line.814"></a>
-<span class="sourceLineNo">815</span>        this.snapshotAllocatorAtCreation.decScannerCount();<a name="line.815"></a>
-<span class="sourceLineNo">816</span>        this.snapshotAllocatorAtCreation = null;<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      }<a name="line.817"></a>
-<span class="sourceLineNo">818</span><a name="line.818"></a>
-<span class="sourceLineNo">819</span>      this.cellSetItRow = null;<a name="line.819"></a>
-<span class="sourceLineNo">820</span>      this.snapshotItRow = null;<a name="line.820"></a>
-<span class="sourceLineNo">821</span>    }<a name="line.821"></a>
-<span class="sourceLineNo">822</span><a name="line.822"></a>
-<span class="sourceLineNo">823</span>    /**<a name="line.823"></a>
-<span class="sourceLineNo">824</span>     * MemStoreScanner returns max value as sequence id because it will<a name="line.824"></a>
-<span class="sourceLineNo">825</span>     * always have the latest data among all files.<a name="line.825"></a>
-<span class="sourceLineNo">826</span>     */<a name="line.826"></a>
-<span class="sourceLineNo">827</span>    @Override<a name="line.827"></a>
-<span class="sourceLineNo">828</span>    public long getSequenceID() {<a name="line.828"></a>
-<span class="sourceLineNo">829</span>      return Long.MAX_VALUE;<a name="line.829"></a>
-<span class="sourceLineNo">830</span>    }<a name="line.830"></a>
-<span class="sourceLineNo">831</span><a name="line.831"></a>
-<span class="sourceLineNo">832</span>    @Override<a name="line.832"></a>
-<span class="sourceLineNo">833</span>    public boolean shouldUseScanner(Scan scan, Store store, long oldestUnexpiredTS) {<a name="line.833"></a>
-<span class="sourceLineNo">834</span>      return shouldSeek(scan, store, oldestUnexpiredTS);<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>    /**<a name="line.837"></a>
-<span class="sourceLineNo">838</span>     * Seek scanner to the given key first. If it returns false(means<a name="line.838"></a>
-<span class="sourceLineNo">839</span>     * peek()==null) or scanner's peek row is bigger than row of given key, seek<a name="line.839"></a>
-<span class="sourceLineNo">840</span>     * the scanner to the previous row of given key<a name="line.840"></a>
-<span class="sourceLineNo">841</span>     */<a name="line.841"></a>
-<span class="sourceLineNo">842</span>    @Override<a name="line.842"></a>
-<span class="sourceLineNo">843</span>    public synchronized boolean backwardSeek(Cell key) {<a name="line.843"></a>
-<span class="sourceLineNo">844</span>      seek(key);<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      if (peek() == null || comparator.compareRows(peek(), key) &gt; 0) {<a name="line.845"></a>
-<span class="sourceLineNo">846</span>        return seekToPreviousRow(key);<a name="line.846"></a>
-<span class="sourceLineNo">847</span>      }<a name="line.847"></a>
-<span class="sourceLineNo">848</span>      return true;<a name="line.848"></a>
-<span class="sourceLineNo">849</span>    }<a name="line.849"></a>
-<span class="sourceLineNo">850</span><a name="line.850"></a>
-<span class="sourceLineNo">851</span>    /**<a name="line.851"></a>
-<span class="sourceLineNo">852</span>     * Separately get the KeyValue before the specified key from kvset and<a name="line.852"></a>
-<span class="sourceLineNo">853</span>     * snapshotset, and use the row of higher one as the previous row of<a name="line.853"></a>
-<span class="sourceLineNo">854</span>     * specified key, then seek to the first KeyValue of previous row<a name="line.854"></a>
-<span class="sourceLineNo">855</span>     */<a name="line.855"></a>
-<span class="sourceLineNo">856</span>    @Override<a name="line.856"></a>
-<span class="sourceLineNo">857</span>    public synchronized boolean seekToPreviousRow(Cell originalKey) {<a name="line.857"></a>
-<span class="sourceLineNo">858</span>      boolean keepSeeking = false;<a name="line.858"></a>
-<span class="sourceLineNo">859</span>      Cell key = originalKey;<a name="line.859"></a>
-<span class="sourceLineNo">860</span>      do {<a name="line.860"></a>
-<span class="sourceLineNo">861</span>        Cell firstKeyOnRow = CellUtil.createFirstOnRow(key);<a name="line.861"></a>
-<span class="sourceLineNo">862</span>        SortedSet&lt;Cell&gt; cellHead = cellSetAtCreation.headSet(firstKeyOnRow);<a name="line.862"></a>
-<span class="sourceLineNo">863</span>        Cell cellSetBeforeRow = cellHead.isEmpty() ? null : cellHead.last();<a name="line.863"></a>
-<span class="sourceLineNo">864</span>        SortedSet&lt;Cell&gt; snapshotHead = snapshotAtCreation<a name="line.864"></a>
-<span class="sourceLineNo">865</span>            .headSet(firstKeyOnRow);<a name="line.865"></a>
-<span class="sourceLineNo">866</span>        Cell snapshotBeforeRow = snapshotHead.isEmpty() ? null : snapshotHead<a name="line.866"></a>
-<span class="sourceLineNo">867</span>            .last();<a name="line.867"></a>
-<span class="sourceLineNo">868</span>        Cell lastCellBeforeRow = getHighest(cellSetBeforeRow, snapshotBeforeRow);<a name="line.868"></a>
-<span class="sourceLineNo">869</span>        if (lastCellBeforeRow == null) {<a name="line.869"></a>
-<span class="sourceLineNo">870</span>          theNext = null;<a name="line.870"></a>
-<span class="sourceLineNo">871</span>          return false;<a name="line.871"></a>
-<span class="sourceLineNo">872</span>        }<a name="line.872"></a>
-<span class="sourceLineNo">873</span>        Cell firstKeyOnPreviousRow = CellUtil.createFirstOnRow(lastCellBeforeRow);<a name="line.873"></a>
-<span class="sourceLineNo">874</span>        this.stopSkippingCellsIfNextRow = true;<a name="line.874"></a>
-<span class="sourceLineNo">875</span>        seek(firstKeyOnPreviousRow);<a name="line.875"></a>
-<span class="sourceLineNo">876</span>        this.stopSkippingCellsIfNextRow = false;<a name="line.876"></a>
-<span class="sourceLineNo">877</span>        if (peek() == null<a name="line.877"></a>
-<span class="sourceLineNo">878</span>            || comparator.compareRows(peek(), firstKeyOnPreviousRow) &gt; 0) {<a name="line.878"></a>
-<span class="sourceLineNo">879</span>          keepSeeking = true;<a name="line.879"></a>
-<span class="sourceLineNo">880</span>          key = firstKeyOnPreviousRow;<a name="line.880"></a>
-<span class="sourceLineNo">881</span>          continue;<a name="line.881"></a>
-<span class="sourceLineNo">882</span>        } else {<a name="line.882"></a>
-<span class="sourceLineNo">883</span>          keepSeeking = false;<a name="line.883"></a>
-<span class="sourceLineNo">884</span>        }<a name="line.884"></a>
-<span class="sourceLineNo">885</span>      } while (keepSeeking);<a name="line.885"></a>
-<span class="sourceLineNo">886</span>      return true;<a name="line.886"></a>
-<span class="sourceLineNo">887</span>    }<a name="line.887"></a>
-<span class="sourceLineNo">888</span><a name="line.888"></a>
-<span class="sourceLineNo">889</span>    @Override<a name="line.889"></a>
-<span class="sourceLineNo">890</span>    public synchronized boolean seekToLastRow() {<a name="line.890"></a>
-<span class="sourceLineNo">891</span>      Cell first = cellSetAtCreation.isEmpty() ? null : cellSetAtCreation<a name="line.891"></a>
-<span class="sourceLineNo">892</span>          .last();<a name="line.892"></a>
-<span class="sourceLineNo">893</span>      Cell second = snapshotAtCreation.isEmpty() ? null<a name="line.893"></a>
-<span class="sourceLineNo">894</span>          : snapshotAtCreation.last();<a name="line.894"></a>
-<span class="sourceLineNo">895</span>      Cell higherCell = getHighest(first, second);<a name="line.895"></a>
-<span class="sourceLineNo">896</span>      if (higherCell == null) {<a name="line.896"></a>
-<span class="sourceLineNo">897</span>        return false;<a name="line.897"></a>
-<span class="sourceLineNo">898</span>      }<a name="line.898"></a>
-<span class="sourceLineNo">899</span>      Cell firstCellOnLastRow = CellUtil.createFirstOnRow(higherCell);<a name="line.899"></a>
-<span class="sourceLineNo">900</span>      if (seek(firstCellOnLastRow)) {<a name="line.900"></a>
-<span class="sourceLineNo">901</span>        return true;<a name="line.901"></a>
-<span class="sourceLineNo">902</span>      } else {<a name="line.902"></a>
-<span class="sourceLineNo">903</span>        return seekToPreviousRow(higherCell);<a name="line.903"></a>
-<span class="sourceLineNo">904</span>      }<a name="line.904"></a>
-<span class="sourceLineNo">905</span><a name="line.905"></a>
-<span class="sourceLineNo">906</span>    }<a name="line.906"></a>
-<span class="sourceLineNo">907</span>  }<a name="line.907"></a>
-<span class="sourceLineNo">908</span><a name="line.908"></a>
-<span class="sourceLineNo">909</span>  public final static long FIXED_OVERHEAD = ClassSize.align(ClassSize.OBJECT<a name="line.909"></a>
-<span class="sourceLineNo">910</span>      + (9 * ClassSize.REFERENCE) + (3 * Bytes.SIZEOF_LONG) + Bytes.SIZEOF_BOOLEAN);<a name="line.910"></a>
-<span class="sourceLineNo">911</span><a name="line.911"></a>
-<span class="sourceLineNo">912</span>  public final static long DEEP_OVERHEAD = ClassSize.align(FIXED_OVERHEAD +<a name="line.912"></a>
-<span class="sourceLineNo">913</span>      ClassSize.ATOMIC_LONG + (2 * ClassSize.TIMERANGE_TRACKER) +<a name="line.913"></a>
-<span class="sourceLineNo">914</span>      (2 * ClassSize.CELL_SKIPLIST_SET) + (2 * ClassSize.CONCURRENT_SKIPLISTMAP));<a name="line.914"></a>
-<span class="sourceLineNo">915</span><a name="line.915"></a>
-<span class="sourceLineNo">916</span>  /*<a name="line.916"></a>
-<span class="sourceLineNo">917</span>   * Calculate how the MemStore size has changed.  Includes overhead of the<a name="line.917"></a>
-<span class="sourceLineNo">918</span>   * backing Map.<a name="line.918"></a>
-<span class="sourceLineNo">919</span>   * @param cell<a name="line.919"></a>
-<span class="sourceLineNo">920</span>   * @param notpresent True if the cell was NOT present in the set.<a name="line.920"></a>
-<span class="sourceLineNo">921</span>   * @return Size<a name="line.921"></a>
-<span class="sourceLineNo">922</span>   */<a name="line.922"></a>
-<span class="sourceLineNo">923</span>  static long heapSizeChange(final Cell cell, final boolean notpresent) {<a name="line.923"></a>
-<span class="sourceLineNo">924</span>    return notpresent ? ClassSize.align(ClassSize.CONCURRENT_SKIPLISTMAP_ENTRY<a name="line.924"></a>
-<span class="sourceLineNo">925</span>        + CellUtil.estimatedHeapSizeOf(cell)) : 0;<a name="line.925"></a>
-<span class="sourceLineNo">926</span>  }<a name="line.926"></a>
-<span class="sourceLineNo">927</span><a name="line.927"></a>
-<span class="sourceLineNo">928</span>  private long keySize() {<a name="line.928"></a>
-<span class="sourceLineNo">929</span>    return heapSize() - DEEP_OVERHEAD;<a name="line.929"></a>
-<span class="sourceLineNo">930</span>  }<a name="line.930"></a>
-<span class="sourceLineNo">931</span><a name="line.931"></a>
-<span class="sourceLineNo">932</span>  /**<a name="line.932"></a>
-<span class="sourceLineNo">933</span>   * Get the entire heap usage for this MemStore not including keys in the<a name="line.933"></a>
-<span class="sourceLineNo">934</span>   * snapshot.<a name="line.934"></a>
-<span class="sourceLineNo">935</span>   */<a name="line.935"></a>
-<span class="sourceLineNo">936</span>  @Override<a name="line.936"></a>
-<span class="sourceLineNo">937</span>  public long heapSize() {<a name="line.937"></a>
-<span class="sourceLineNo">938</span>    return size.get();<a name="line.938"></a>
-<span class="sourceLineNo">939</span>  }<a name="line.939"></a>
-<span class="sourceLineNo">940</span><a name="line.940"></a>
-<span class="sourceLineNo">941</span>  @Override<a name="line.941"></a>
-<span class="sourceLineNo">942</span>  public long size() {<a name="line.942"></a>
-<span class="sourceLineNo">943</span>    return heapSize();<a name="line.943"></a>
-<span class="sourceLineNo">944</span>  }<a name="line.944"></a>
-<span class="sourceLineNo">945</span><a name="line.945"></a>
-<span class="sourceLineNo">946</span>  /**<a name="line.946"></a>
-<span class="sourceLineNo">947</span>   * Code to help figure if our approximation of object heap sizes is close<a name="line.947"></a>
-<span class="sourceLineNo">948</span>   * enough.  See hbase-900.  Fills memstores then waits so user can heap<a name="line.948"></a>
-<span class="sourceLineNo">949</span>   * dump and bring up resultant hprof in something like jprofiler which<a name="line.949"></a>
-<span class="sourceLineNo">950</span>   * allows you get 'deep size' on objects.<a name="line.950"></a>
-<span class="sourceLineNo">951</span>   * @param args main args<a name="line.951"></a>
-<span class="sourceLineNo">952</span>   */<a name="line.952"></a>
-<span class="sourceLineNo">953</span>  public static void main(String [] args) {<a name="line.953"></a>
-<span class="sourceLineNo">954</span>    RuntimeMXBean runtime = ManagementFactory.getRuntimeMXBean();<a name="line.954"></a>
-<span class="sourceLineNo">955</span>    LOG.info("vmName=" + runtime.getVmName() + ", vmVendor=" +<a name="line.955"></a>
-<span class="sourceLineNo">956</span>      runtime.getVmVendor() + ", vmVersion=" + runtime.getVmVersion());<a name="line.956"></a>
-<span class="sourceLineNo">957</span>    LOG.info("vmInputArguments=" + runtime.getInputArguments());<a name="line.957"></a>
-<span class="sourceLineNo">958</span>    DefaultMemStore memstore1 = new DefaultMemStore();<a name="line.958"></a>
-<span class="sourceLineNo">959</span>    // TODO: x32 vs x64<a name="line.959"></a>
-<span class="sourceLineNo">960</span>    long size = 0;<a name="line.960"></a>
-<span class="sourceLineNo">961</span>    final int count = 10000;<a name="line.961"></a>
-<span class="sourceLineNo">962</span>    byte [] fam = Bytes.toBytes("col");<a name="line.962"></a>
-<span class="sourceLineNo">963</span>    byte [] qf = Bytes.toBytes("umn");<a name="line.963"></a>
-<span class="sourceLineNo">964</span>    byte [] empty = new byte[0];<a name="line.964"></a>
-<span class="sourceLineNo">965</span>    for (int i = 0; i &lt; count; i++) {<a name="line.965"></a>
-<span class="sourceLineNo">966</span>      // Give each its own ts<a name="line.966"></a>
-<span class="sourceLineNo">967</span>      size += memstore1.add(new KeyValue(Bytes.toBytes(i), fam, qf, i, empty));<a name="line.967"></a>
-<span class="sourceLineNo">968</span>    }<a name="line.968"></a>
-<span class="sourceLineNo">969</span>    LOG.info("memstore1 estimated size=" + size);<a name="line.969"></a>
-<span class="sourceLineNo">970</span>    for (int i = 0; i &lt; count; i++) {<a name="line.970"></a>
-<span class="sourceLineNo">971</span>      size += memstore1.add(new KeyValue(Bytes.toBytes(i), fam, qf, i, empty));<a name="line.971"></a>
-<span class="sourceLineNo">972</span>    }<a name="line.972"></a>
-<span class="sourceLineNo">973</span>    LOG.info("memstore1 estimated size (2nd loading of same data)=" + size);<a name="line.973"></a>
-<span class="sourceLineNo">974</span>    // Make a variably sized memstore.<a name="line.974"></a>
-<span class="sourceLineNo">975</span>    DefaultMemStore memstore2 = new DefaultMemStore();<a name="line.975"></a>
-<span class="sourceLineNo">976</span>    for (int i = 0; i &lt; count; i++) {<a name="line.976"></a>
-<span class="sourceLineNo">977</span>      size += memstore2.add(new KeyValue(Bytes.toBytes(i), fam, qf, i, new byte[i]));<a name="line.977"></a>
-<span class="sourceLineNo">978</span>    }<a name="line.978"></a>
-<span class="sourceLineNo">979</span>    LOG.info("memstore2 estimated size=" + size);<a name="line.979"></a>
-<span class="sourceLineNo">980</span>    final int seconds = 30;<a name="line.980"></a>
-<span class="sourceLineNo">981</span>    LOG.info("Waiting " + seconds + " seconds while heap dump is taken");<a name="line.981"></a>
-<span class="sourceLineNo">982</span>    for (int i = 0; i &lt; seconds; i++) {<a name="line.982"></a>
-<span class="sourceLineNo">983</span>      // Thread.sleep(1000);<a name="line.983"></a>
-<span class="sourceLineNo">984</span>    }<a name="line.984"></a>
-<span class="sourceLineNo">985</span>    LOG.info("Exiting.");<a name="line.985"></a>
-<span class="sourceLineNo">986</span>  }<a name="line.986"></a>
-<span class="sourceLineNo">987</span><a name="line.987"></a>
-<span class="sourceLineNo">988</span>}<a name="line.988"></a>
+<span class="sourceLineNo">740</span>    @Override<a name="line.740"></a>
+<span class="sourceLineNo">741</span>    public synchronized Cell peek() {<a name="line.741"></a>
+<span class="sourceLineNo">742</span>      //DebugPrint.println(" MS@" + hashCode() + " peek = " + getLowest());<a name="line.742"></a>
+<span class="sourceLineNo">743</span>      return theNext;<a name="line.743"></a>
+<span class="sourceLineNo">744</span>    }<a name="line.744"></a>
+<span class="sourceLineNo">745</span><a name="line.745"></a>
+<span class="sourceLineNo">746</span>    @Override<a name="line.746"></a>
+<span class="sourceLineNo">747</span>    public synchronized Cell next() {<a name="line.747"></a>
+<span class="sourceLineNo">748</span>      if (theNext == null) {<a name="line.748"></a>
+<span class="sourceLineNo">749</span>          return null;<a name="line.749"></a>
+<span class="sourceLineNo">750</span>      }<a name="line.750"></a>
+<span class="sourceLineNo">751</span><a name="line.751"></a>
+<span class="sourceLineNo">752</span>      final Cell ret = theNext;<a name="line.752"></a>
+<span class="sourceLineNo">753</span><a name="line.753"></a>
+<span class="sourceLineNo">754</span>      // Advance one of the iterators<a name="line.754"></a>
+<span class="sourceLineNo">755</span>      if (theNext == cellSetNextRow) {<a name="line.755"></a>
+<span class="sourceLineNo">756</span>        cellSetNextRow = getNext(cellSetIt);<a name="line.756"></a>
+<span class="sourceLineNo">757</span>      } else {<a name="line.757"></a>
+<span class="sourceLineNo">758</span>        snapshotNextRow = getNext(snapshotIt);<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>      // Calculate the next value<a name="line.761"></a>
+<span class="sourceLineNo">762</span>      theNext = getLowest(cellSetNextRow, snapshotNextRow);<a name="line.762"></a>
+<span class="sourceLineNo">763</span><a name="line.763"></a>
+<span class="sourceLineNo">764</span>      //long readpoint = ReadWriteConsistencyControl.getThreadReadPoint();<a name="line.764"></a>
+<span class="sourceLineNo">765</span>      //DebugPrint.println(" MS@" + hashCode() + " next: " + theNext + " next_next: " +<a name="line.765"></a>
+<span class="sourceLineNo">766</span>      //    getLowest() + " threadpoint=" + readpoint);<a name="line.766"></a>
+<span class="sourceLineNo">767</span>      return ret;<a name="line.767"></a>
+<span class="sourceLineNo">768</span>    }<a name="line.768"></a>
+<span class="sourceLineNo">769</span><a name="line.769"></a>
+<span class="sourceLineNo">770</span>    /*<a name="line.770"></a>
+<span class="sourceLineNo">771</span>     * Returns the lower of the two key values, or null if they are both null.<a name="line.771"></a>
+<span class="sourceLineNo">772</span>     * This uses comparator.compare() to compare the KeyValue using the memstore<a name="line.772"></a>
+<span class="sourceLineNo">773</span>     * comparator.<a name="line.773"></a>
+<span class="sourceLineNo">774</span>     */<a name="line.774"></a>
+<span class="sourceLineNo">775</span>    private Cell getLowest(Cell first, Cell second) {<a name="line.775"></a>
+<span class="sourceLineNo">776</span>      if (first == null &amp;&amp; second == null) {<a name="line.776"></a>
+<span class="sourceLineNo">777</span>        return null;<a name="line.777"></a>
+<span class="sourceLineNo">778</span>      }<a name="line.778"></a>
+<span class="sourceLineNo">779</span>      if (first != null &amp;&amp; second != null) {<a name="line.779"></a>
+<span class="sourceLineNo">780</span>        int compare = comparator.compare(first, second);<a name="line.780"></a>
+<span class="sourceLineNo">781</span>        return (compare &lt;= 0 ? first : second);<a name="line.781"></a>
+<span class="sourceLineNo">782</span>      }<a name="line.782"></a>
+<span class="sourceLineNo">783</span>      return (first != null ? first : second);<a name="line.783"></a>
+<span class="sourceLineNo">784</span>    }<a name="line.784"></a>
+<span class="sourceLineNo">785</span><a name="line.785"></a>
+<span class="sourceLineNo">786</span>    /*<a name="line.786"></a>
+<span class="sourceLineNo">787</span>     * Returns the higher of the two cells, or null if they are both null.<a name="line.787"></a>
+<span class="sourceLineNo">788</span>     * This uses comparator.compare() to compare the Cell using the memstore<a name="line.788"></a>
+<span class="sourceLineNo">789</span>     * comparator.<a name="line.789"></a>
+<span class="sourceLineNo">790</span>     */<a name="line.790"></a>
+<span class="sourceLineNo">791</span>    private Cell getHighest(Cell first, Cell second) {<a name="line.791"></a>
+<span class="sourceLineNo">792</span>      if (first == null &amp;&amp; second == null) {<a name="line.792"></a>
+<span class="sourceLineNo">793</span>        return null;<a name="line.793"></a>
+<span class="sourceLineNo">794</span>      }<a name="line.794"></a>
+<span class="sourceLineNo">795</span>      if (first != null &amp;&amp; second != null) {<a name="line.795"></a>
+<span class="sourceLineNo">796</span>        int compare = comparator.compare(first, second);<a name="line.796"></a>
+<span class="sourceLineNo">797</span>        return (compare &gt; 0 ? first : second);<a name="line.797"></a>
+<span class="sourceLineNo">798</span>      }<a name="line.798"></a>
+<span class="sourceLineNo">799</span>      return (first != null ? first : second);<a name="line.799"></a>
+<span class="sourceLineNo">800</span>    }<a name="line.800"></a>
+<span class="sourceLineNo">801</span><a name="line.801"></a>
+<span class="sourceLineNo">802</span>    public synchronized void close() {<a name="line.802"></a>
+<span class="sourceLineNo">803</span>      this.cellSetNextRow = null;<a name="line.803"></a>
+<span class="sourceLineNo">804</span>      this.snapshotNextRow = null;<a name="line.804"></a>
+<span class="sourceLineNo">805</span><a name="line.805"></a>
+<span class="sourceLineNo">806</span>      this.cellSetIt = null;<a name="line.806"></a>
+<span class="sourceLineNo">807</span>      this.snapshotIt = null;<a name="line.807"></a>
+<span class="sourceLineNo">808</span><a name="line.808"></a>
+<span class="sourceLineNo">809</span>      if (allocatorAtCreation != null) {<a name="line.809"></a>
+<span class="sourceLineNo">810</span>        this.allocatorAtCreation.decScannerCount();<a name="line.810"></a>
+<span class="sourceLineNo">811</span>        this.allocatorAtCreation = null;<a name="line.811"></a>
+<span class="sourceLineNo">812</span>      }<a name="line.812"></a>
+<span class="sourceLineNo">813</span>      if (snapshotAllocatorAtCreation != null) {<a name="line.813"></a>
+<span class="sourceLineNo">814</span>        this.snapshotAllocatorAtCreation.decScannerCount();<a name="line.814"></a>
+<span class="sourceLineNo">815</span>        this.snapshotAllocatorAtCreation = null;<a name="line.815"></a>
+<span class="sourceLineNo">816</span>      }<a name="line.816"></a>
+<span class="sourceLineNo">817</span><a name="line.817"></a>
+<span class="sourceLineNo">818</span>      this.cellSetItRow = null;<a name="line.818"></a>
+<span class="sourceLineNo">819</span>      this.snapshotItRow = null;<a name="line.819"></a>
+<span class="sourceLineNo">820</span>    }<a name="line.820"></a>
+<span class="sourceLineNo">821</span><a name="line.821"></a>
+<span class="sourceLineNo">822</span>    /**<a name="line.822"></a>
+<span class="sourceLineNo">823</span>     * MemStoreScanner returns max value as sequence id because it will<a name="line.823"></a>
+<span class="sourceLineNo">824</span>     * always have the latest data among all files.<a name="line.824"></a>
+<span class="sourceLineNo">825</span>     */<a name="line.825"></a>
+<span class="sourceLineNo">826</span>    @Override<a name="line.826"></a>
+<span class="sourceLineNo">827</span>    public long getSequenceID() {<a name="line.827"></a>
+<span class="sourceLineNo">828</span>      return Long.MAX_VALUE;<a name="line.828"></a>
+<span class="sourceLineNo">829</span>    }<a name="line.829"></a>
+<span class="sourceLineNo">830</span><a name="line.830"></a>
+<span class="sourceLineNo">831</span>    @Override<a name="line.831"></a>
+<span class="sourceLineNo">832</span>    public boolean shouldUseScanner(Scan scan, Store store, long oldestUnexpiredTS) {<a name="line.832"></a>
+<span class="sourceLineNo">833</span>      return shouldSeek(scan, store, oldestUnexpiredTS);<a name="line.833"></a>
+<span class="sourceLineNo">834</span>    }<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>     * Seek scanner to the given key first. If it returns false(means<a name="line.837"></a>
+<span class="sourceLineNo">838</span>     * peek()==null) or scanner's peek row is bigger than row of given key, seek<a name="line.838"></a>
+<span class="sourceLineNo">839</span>     * the scanner to the previous row of given key<a name="line.839"></a>
+<span class="sourceLineNo">840</span>     */<a name="line.840"></a>
+<span class="sourceLineNo">841</span>    @Override<a name="line.841"></a>
+<span class="sourceLineNo">842</span>    public synchronized boolean backwardSeek(Cell key) {<a name="line.842"></a>
+<span class="sourceLineNo">843</span>      seek(key);<a name="line.843"></a>
+<span class="sourceLineNo">844</span>      if (peek() == null || comparator.compareRows(peek(), key) &gt; 0) {<a name="line.844"></a>
+<span class="sourceLineNo">845</span>        return seekToPreviousRow(key);<a name="line.845"></a>
+<span class="sourceLineNo">846</span>      }<a name="line.846"></a>
+<span class="sourceLineNo">847</span>      return true;<a name="line.847"></a>
+<span class="sourceLineNo">848</span>    }<a name="line.848"></a>
+<span class="sourceLineNo">849</span><a name="line.849"></a>
+<span class="sourceLineNo">850</span>  

<TRUNCATED>

[06/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.Intf.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.Intf.html b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.Intf.html
index c6f2f44..5c3eb42 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.Intf.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.Intf.html
@@ -67,15 +67,15 @@
 <span class="sourceLineNo">059</span>  requiredArguments = {<a name="line.59"></a>
 <span class="sourceLineNo">060</span>    @org.jamon.annotations.Argument(name = "master", type = "HMaster")},<a name="line.60"></a>
 <span class="sourceLineNo">061</span>  optionalArguments = {<a name="line.61"></a>
-<span class="sourceLineNo">062</span>    @org.jamon.annotations.Argument(name = "frags", type = "Map&lt;String,Integer&gt;"),<a name="line.62"></a>
-<span class="sourceLineNo">063</span>    @org.jamon.annotations.Argument(name = "serverManager", type = "ServerManager"),<a name="line.63"></a>
-<span class="sourceLineNo">064</span>    @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager"),<a name="line.64"></a>
-<span class="sourceLineNo">065</span>    @org.jamon.annotations.Argument(name = "servers", type = "List&lt;ServerName&gt;"),<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName"),<a name="line.66"></a>
+<span class="sourceLineNo">062</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.62"></a>
+<span class="sourceLineNo">063</span>    @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager"),<a name="line.63"></a>
+<span class="sourceLineNo">064</span>    @org.jamon.annotations.Argument(name = "frags", type = "Map&lt;String,Integer&gt;"),<a name="line.64"></a>
+<span class="sourceLineNo">065</span>    @org.jamon.annotations.Argument(name = "serverManager", type = "ServerManager"),<a name="line.65"></a>
+<span class="sourceLineNo">066</span>    @org.jamon.annotations.Argument(name = "deadServers", type = "Set&lt;ServerName&gt;"),<a name="line.66"></a>
 <span class="sourceLineNo">067</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    @org.jamon.annotations.Argument(name = "deadServers", type = "Set&lt;ServerName&gt;"),<a name="line.68"></a>
-<span class="sourceLineNo">069</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    @org.jamon.annotations.Argument(name = "catalogJanitorEnabled", type = "boolean")})<a name="line.70"></a>
+<span class="sourceLineNo">068</span>    @org.jamon.annotations.Argument(name = "catalogJanitorEnabled", type = "boolean"),<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    @org.jamon.annotations.Argument(name = "servers", type = "List&lt;ServerName&gt;"),<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName")})<a name="line.70"></a>
 <span class="sourceLineNo">071</span>public class MasterStatusTmpl<a name="line.71"></a>
 <span class="sourceLineNo">072</span>  extends org.jamon.AbstractTemplateProxy<a name="line.72"></a>
 <span class="sourceLineNo">073</span>{<a name="line.73"></a>
@@ -116,91 +116,91 @@
 <span class="sourceLineNo">108</span>      return m_master;<a name="line.108"></a>
 <span class="sourceLineNo">109</span>    }<a name="line.109"></a>
 <span class="sourceLineNo">110</span>    private HMaster m_master;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    // 21, 1<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    public void setFrags(Map&lt;String,Integer&gt; frags)<a name="line.112"></a>
+<span class="sourceLineNo">111</span>    // 27, 1<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    public void setFormat(String format)<a name="line.112"></a>
 <span class="sourceLineNo">113</span>    {<a name="line.113"></a>
-<span class="sourceLineNo">114</span>      // 21, 1<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      m_frags = frags;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>      m_frags__IsNotDefault = true;<a name="line.116"></a>
+<span class="sourceLineNo">114</span>      // 27, 1<a name="line.114"></a>
+<span class="sourceLineNo">115</span>      m_format = format;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>      m_format__IsNotDefault = true;<a name="line.116"></a>
 <span class="sourceLineNo">117</span>    }<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    public Map&lt;String,Integer&gt; getFrags()<a name="line.118"></a>
+<span class="sourceLineNo">118</span>    public String getFormat()<a name="line.118"></a>
 <span class="sourceLineNo">119</span>    {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      return m_frags;<a name="line.120"></a>
+<span class="sourceLineNo">120</span>      return m_format;<a name="line.120"></a>
 <span class="sourceLineNo">121</span>    }<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    private Map&lt;String,Integer&gt; m_frags;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    public boolean getFrags__IsNotDefault()<a name="line.123"></a>
+<span class="sourceLineNo">122</span>    private String m_format;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    public boolean getFormat__IsNotDefault()<a name="line.123"></a>
 <span class="sourceLineNo">124</span>    {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      return m_frags__IsNotDefault;<a name="line.125"></a>
+<span class="sourceLineNo">125</span>      return m_format__IsNotDefault;<a name="line.125"></a>
 <span class="sourceLineNo">126</span>    }<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    private boolean m_frags__IsNotDefault;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    // 28, 1<a name="line.128"></a>
-<span class="sourceLineNo">129</span>    public void setServerManager(ServerManager serverManager)<a name="line.129"></a>
+<span class="sourceLineNo">127</span>    private boolean m_format__IsNotDefault;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>    // 29, 1<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.129"></a>
 <span class="sourceLineNo">130</span>    {<a name="line.130"></a>
-<span class="sourceLineNo">131</span>      // 28, 1<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      m_serverManager = serverManager;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>      m_serverManager__IsNotDefault = true;<a name="line.133"></a>
+<span class="sourceLineNo">131</span>      // 29, 1<a name="line.131"></a>
+<span class="sourceLineNo">132</span>      m_assignmentManager = assignmentManager;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>      m_assignmentManager__IsNotDefault = true;<a name="line.133"></a>
 <span class="sourceLineNo">134</span>    }<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    public ServerManager getServerManager()<a name="line.135"></a>
+<span class="sourceLineNo">135</span>    public AssignmentManager getAssignmentManager()<a name="line.135"></a>
 <span class="sourceLineNo">136</span>    {<a name="line.136"></a>
-<span class="sourceLineNo">137</span>      return m_serverManager;<a name="line.137"></a>
+<span class="sourceLineNo">137</span>      return m_assignmentManager;<a name="line.137"></a>
 <span class="sourceLineNo">138</span>    }<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    private ServerManager m_serverManager;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    public boolean getServerManager__IsNotDefault()<a name="line.140"></a>
+<span class="sourceLineNo">139</span>    private AssignmentManager m_assignmentManager;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    public boolean getAssignmentManager__IsNotDefault()<a name="line.140"></a>
 <span class="sourceLineNo">141</span>    {<a name="line.141"></a>
-<span class="sourceLineNo">142</span>      return m_serverManager__IsNotDefault;<a name="line.142"></a>
+<span class="sourceLineNo">142</span>      return m_assignmentManager__IsNotDefault;<a name="line.142"></a>
 <span class="sourceLineNo">143</span>    }<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    private boolean m_serverManager__IsNotDefault;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    // 29, 1<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.146"></a>
+<span class="sourceLineNo">144</span>    private boolean m_assignmentManager__IsNotDefault;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    // 21, 1<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    public void setFrags(Map&lt;String,Integer&gt; frags)<a name="line.146"></a>
 <span class="sourceLineNo">147</span>    {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>      // 29, 1<a name="line.148"></a>
-<span class="sourceLineNo">149</span>      m_assignmentManager = assignmentManager;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>      m_assignmentManager__IsNotDefault = true;<a name="line.150"></a>
+<span class="sourceLineNo">148</span>      // 21, 1<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      m_frags = frags;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      m_frags__IsNotDefault = true;<a name="line.150"></a>
 <span class="sourceLineNo">151</span>    }<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    public AssignmentManager getAssignmentManager()<a name="line.152"></a>
+<span class="sourceLineNo">152</span>    public Map&lt;String,Integer&gt; getFrags()<a name="line.152"></a>
 <span class="sourceLineNo">153</span>    {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>      return m_assignmentManager;<a name="line.154"></a>
+<span class="sourceLineNo">154</span>      return m_frags;<a name="line.154"></a>
 <span class="sourceLineNo">155</span>    }<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    private AssignmentManager m_assignmentManager;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    public boolean getAssignmentManager__IsNotDefault()<a name="line.157"></a>
+<span class="sourceLineNo">156</span>    private Map&lt;String,Integer&gt; m_frags;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>    public boolean getFrags__IsNotDefault()<a name="line.157"></a>
 <span class="sourceLineNo">158</span>    {<a name="line.158"></a>
-<span class="sourceLineNo">159</span>      return m_assignmentManager__IsNotDefault;<a name="line.159"></a>
+<span class="sourceLineNo">159</span>      return m_frags__IsNotDefault;<a name="line.159"></a>
 <span class="sourceLineNo">160</span>    }<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    private boolean m_assignmentManager__IsNotDefault;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    // 23, 1<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    public void setServers(List&lt;ServerName&gt; servers)<a name="line.163"></a>
+<span class="sourceLineNo">161</span>    private boolean m_frags__IsNotDefault;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    // 28, 1<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    public void setServerManager(ServerManager serverManager)<a name="line.163"></a>
 <span class="sourceLineNo">164</span>    {<a name="line.164"></a>
-<span class="sourceLineNo">165</span>      // 23, 1<a name="line.165"></a>
-<span class="sourceLineNo">166</span>      m_servers = servers;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      m_servers__IsNotDefault = true;<a name="line.167"></a>
+<span class="sourceLineNo">165</span>      // 28, 1<a name="line.165"></a>
+<span class="sourceLineNo">166</span>      m_serverManager = serverManager;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>      m_serverManager__IsNotDefault = true;<a name="line.167"></a>
 <span class="sourceLineNo">168</span>    }<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    public List&lt;ServerName&gt; getServers()<a name="line.169"></a>
+<span class="sourceLineNo">169</span>    public ServerManager getServerManager()<a name="line.169"></a>
 <span class="sourceLineNo">170</span>    {<a name="line.170"></a>
-<span class="sourceLineNo">171</span>      return m_servers;<a name="line.171"></a>
+<span class="sourceLineNo">171</span>      return m_serverManager;<a name="line.171"></a>
 <span class="sourceLineNo">172</span>    }<a name="line.172"></a>
-<span class="sourceLineNo">173</span>    private List&lt;ServerName&gt; m_servers;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    public boolean getServers__IsNotDefault()<a name="line.174"></a>
+<span class="sourceLineNo">173</span>    private ServerManager m_serverManager;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>    public boolean getServerManager__IsNotDefault()<a name="line.174"></a>
 <span class="sourceLineNo">175</span>    {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>      return m_servers__IsNotDefault;<a name="line.176"></a>
+<span class="sourceLineNo">176</span>      return m_serverManager__IsNotDefault;<a name="line.176"></a>
 <span class="sourceLineNo">177</span>    }<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    private boolean m_servers__IsNotDefault;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    // 22, 1<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    public void setMetaLocation(ServerName metaLocation)<a name="line.180"></a>
+<span class="sourceLineNo">178</span>    private boolean m_serverManager__IsNotDefault;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>    // 24, 1<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    public void setDeadServers(Set&lt;ServerName&gt; deadServers)<a name="line.180"></a>
 <span class="sourceLineNo">181</span>    {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>      // 22, 1<a name="line.182"></a>
-<span class="sourceLineNo">183</span>      m_metaLocation = metaLocation;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>      m_metaLocation__IsNotDefault = true;<a name="line.184"></a>
+<span class="sourceLineNo">182</span>      // 24, 1<a name="line.182"></a>
+<span class="sourceLineNo">183</span>      m_deadServers = deadServers;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>      m_deadServers__IsNotDefault = true;<a name="line.184"></a>
 <span class="sourceLineNo">185</span>    }<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    public ServerName getMetaLocation()<a name="line.186"></a>
+<span class="sourceLineNo">186</span>    public Set&lt;ServerName&gt; getDeadServers()<a name="line.186"></a>
 <span class="sourceLineNo">187</span>    {<a name="line.187"></a>
-<span class="sourceLineNo">188</span>      return m_metaLocation;<a name="line.188"></a>
+<span class="sourceLineNo">188</span>      return m_deadServers;<a name="line.188"></a>
 <span class="sourceLineNo">189</span>    }<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    private ServerName m_metaLocation;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    public boolean getMetaLocation__IsNotDefault()<a name="line.191"></a>
+<span class="sourceLineNo">190</span>    private Set&lt;ServerName&gt; m_deadServers;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    public boolean getDeadServers__IsNotDefault()<a name="line.191"></a>
 <span class="sourceLineNo">192</span>    {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      return m_metaLocation__IsNotDefault;<a name="line.193"></a>
+<span class="sourceLineNo">193</span>      return m_deadServers__IsNotDefault;<a name="line.193"></a>
 <span class="sourceLineNo">194</span>    }<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    private boolean m_metaLocation__IsNotDefault;<a name="line.195"></a>
+<span class="sourceLineNo">195</span>    private boolean m_deadServers__IsNotDefault;<a name="line.195"></a>
 <span class="sourceLineNo">196</span>    // 26, 1<a name="line.196"></a>
 <span class="sourceLineNo">197</span>    public void setFilter(String filter)<a name="line.197"></a>
 <span class="sourceLineNo">198</span>    {<a name="line.198"></a>
@@ -218,57 +218,57 @@
 <span class="sourceLineNo">210</span>      return m_filter__IsNotDefault;<a name="line.210"></a>
 <span class="sourceLineNo">211</span>    }<a name="line.211"></a>
 <span class="sourceLineNo">212</span>    private boolean m_filter__IsNotDefault;<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    // 24, 1<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    public void setDeadServers(Set&lt;ServerName&gt; deadServers)<a name="line.214"></a>
+<span class="sourceLineNo">213</span>    // 25, 1<a name="line.213"></a>
+<span class="sourceLineNo">214</span>    public void setCatalogJanitorEnabled(boolean catalogJanitorEnabled)<a name="line.214"></a>
 <span class="sourceLineNo">215</span>    {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>      // 24, 1<a name="line.216"></a>
-<span class="sourceLineNo">217</span>      m_deadServers = deadServers;<a name="line.217"></a>
-<span class="sourceLineNo">218</span>      m_deadServers__IsNotDefault = true;<a name="line.218"></a>
+<span class="sourceLineNo">216</span>      // 25, 1<a name="line.216"></a>
+<span class="sourceLineNo">217</span>      m_catalogJanitorEnabled = catalogJanitorEnabled;<a name="line.217"></a>
+<span class="sourceLineNo">218</span>      m_catalogJanitorEnabled__IsNotDefault = true;<a name="line.218"></a>
 <span class="sourceLineNo">219</span>    }<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    public Set&lt;ServerName&gt; getDeadServers()<a name="line.220"></a>
+<span class="sourceLineNo">220</span>    public boolean getCatalogJanitorEnabled()<a name="line.220"></a>
 <span class="sourceLineNo">221</span>    {<a name="line.221"></a>
-<span class="sourceLineNo">222</span>      return m_deadServers;<a name="line.222"></a>
+<span class="sourceLineNo">222</span>      return m_catalogJanitorEnabled;<a name="line.222"></a>
 <span class="sourceLineNo">223</span>    }<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    private Set&lt;ServerName&gt; m_deadServers;<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    public boolean getDeadServers__IsNotDefault()<a name="line.225"></a>
+<span class="sourceLineNo">224</span>    private boolean m_catalogJanitorEnabled;<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    public boolean getCatalogJanitorEnabled__IsNotDefault()<a name="line.225"></a>
 <span class="sourceLineNo">226</span>    {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>      return m_deadServers__IsNotDefault;<a name="line.227"></a>
+<span class="sourceLineNo">227</span>      return m_catalogJanitorEnabled__IsNotDefault;<a name="line.227"></a>
 <span class="sourceLineNo">228</span>    }<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    private boolean m_deadServers__IsNotDefault;<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    // 27, 1<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    public void setFormat(String format)<a name="line.231"></a>
+<span class="sourceLineNo">229</span>    private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    // 23, 1<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    public void setServers(List&lt;ServerName&gt; servers)<a name="line.231"></a>
 <span class="sourceLineNo">232</span>    {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      // 27, 1<a name="line.233"></a>
-<span class="sourceLineNo">234</span>      m_format = format;<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      m_format__IsNotDefault = true;<a name="line.235"></a>
+<span class="sourceLineNo">233</span>      // 23, 1<a name="line.233"></a>
+<span class="sourceLineNo">234</span>      m_servers = servers;<a name="line.234"></a>
+<span class="sourceLineNo">235</span>      m_servers__IsNotDefault = true;<a name="line.235"></a>
 <span class="sourceLineNo">236</span>    }<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    public String getFormat()<a name="line.237"></a>
+<span class="sourceLineNo">237</span>    public List&lt;ServerName&gt; getServers()<a name="line.237"></a>
 <span class="sourceLineNo">238</span>    {<a name="line.238"></a>
-<span class="sourceLineNo">239</span>      return m_format;<a name="line.239"></a>
+<span class="sourceLineNo">239</span>      return m_servers;<a name="line.239"></a>
 <span class="sourceLineNo">240</span>    }<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    private String m_format;<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    public boolean getFormat__IsNotDefault()<a name="line.242"></a>
+<span class="sourceLineNo">241</span>    private List&lt;ServerName&gt; m_servers;<a name="line.241"></a>
+<span class="sourceLineNo">242</span>    public boolean getServers__IsNotDefault()<a name="line.242"></a>
 <span class="sourceLineNo">243</span>    {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>      return m_format__IsNotDefault;<a name="line.244"></a>
+<span class="sourceLineNo">244</span>      return m_servers__IsNotDefault;<a name="line.244"></a>
 <span class="sourceLineNo">245</span>    }<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    private boolean m_format__IsNotDefault;<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    // 25, 1<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    public void setCatalogJanitorEnabled(boolean catalogJanitorEnabled)<a name="line.248"></a>
+<span class="sourceLineNo">246</span>    private boolean m_servers__IsNotDefault;<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    // 22, 1<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    public void setMetaLocation(ServerName metaLocation)<a name="line.248"></a>
 <span class="sourceLineNo">249</span>    {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>      // 25, 1<a name="line.250"></a>
-<span class="sourceLineNo">251</span>      m_catalogJanitorEnabled = catalogJanitorEnabled;<a name="line.251"></a>
-<span class="sourceLineNo">252</span>      m_catalogJanitorEnabled__IsNotDefault = true;<a name="line.252"></a>
+<span class="sourceLineNo">250</span>      // 22, 1<a name="line.250"></a>
+<span class="sourceLineNo">251</span>      m_metaLocation = metaLocation;<a name="line.251"></a>
+<span class="sourceLineNo">252</span>      m_metaLocation__IsNotDefault = true;<a name="line.252"></a>
 <span class="sourceLineNo">253</span>    }<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    public boolean getCatalogJanitorEnabled()<a name="line.254"></a>
+<span class="sourceLineNo">254</span>    public ServerName getMetaLocation()<a name="line.254"></a>
 <span class="sourceLineNo">255</span>    {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>      return m_catalogJanitorEnabled;<a name="line.256"></a>
+<span class="sourceLineNo">256</span>      return m_metaLocation;<a name="line.256"></a>
 <span class="sourceLineNo">257</span>    }<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    private boolean m_catalogJanitorEnabled;<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    public boolean getCatalogJanitorEnabled__IsNotDefault()<a name="line.259"></a>
+<span class="sourceLineNo">258</span>    private ServerName m_metaLocation;<a name="line.258"></a>
+<span class="sourceLineNo">259</span>    public boolean getMetaLocation__IsNotDefault()<a name="line.259"></a>
 <span class="sourceLineNo">260</span>    {<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      return m_catalogJanitorEnabled__IsNotDefault;<a name="line.261"></a>
+<span class="sourceLineNo">261</span>      return m_metaLocation__IsNotDefault;<a name="line.261"></a>
 <span class="sourceLineNo">262</span>    }<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.263"></a>
+<span class="sourceLineNo">263</span>    private boolean m_metaLocation__IsNotDefault;<a name="line.263"></a>
 <span class="sourceLineNo">264</span>  }<a name="line.264"></a>
 <span class="sourceLineNo">265</span>  @Override<a name="line.265"></a>
 <span class="sourceLineNo">266</span>  protected org.jamon.AbstractTemplateProxy.ImplData makeImplData()<a name="line.266"></a>
@@ -280,38 +280,38 @@
 <span class="sourceLineNo">272</span>    return (ImplData) super.getImplData();<a name="line.272"></a>
 <span class="sourceLineNo">273</span>  }<a name="line.273"></a>
 <span class="sourceLineNo">274</span>  <a name="line.274"></a>
-<span class="sourceLineNo">275</span>  protected Map&lt;String,Integer&gt; frags;<a name="line.275"></a>
-<span class="sourceLineNo">276</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map&lt;String,Integer&gt; p_frags)<a name="line.276"></a>
+<span class="sourceLineNo">275</span>  protected String format;<a name="line.275"></a>
+<span class="sourceLineNo">276</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFormat(String p_format)<a name="line.276"></a>
 <span class="sourceLineNo">277</span>  {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    (getImplData()).setFrags(p_frags);<a name="line.278"></a>
+<span class="sourceLineNo">278</span>    (getImplData()).setFormat(p_format);<a name="line.278"></a>
 <span class="sourceLineNo">279</span>    return this;<a name="line.279"></a>
 <span class="sourceLineNo">280</span>  }<a name="line.280"></a>
 <span class="sourceLineNo">281</span>  <a name="line.281"></a>
-<span class="sourceLineNo">282</span>  protected ServerManager serverManager;<a name="line.282"></a>
-<span class="sourceLineNo">283</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServerManager(ServerManager p_serverManager)<a name="line.283"></a>
+<span class="sourceLineNo">282</span>  protected AssignmentManager assignmentManager;<a name="line.282"></a>
+<span class="sourceLineNo">283</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.283"></a>
 <span class="sourceLineNo">284</span>  {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    (getImplData()).setServerManager(p_serverManager);<a name="line.285"></a>
+<span class="sourceLineNo">285</span>    (getImplData()).setAssignmentManager(p_assignmentManager);<a name="line.285"></a>
 <span class="sourceLineNo">286</span>    return this;<a name="line.286"></a>
 <span class="sourceLineNo">287</span>  }<a name="line.287"></a>
 <span class="sourceLineNo">288</span>  <a name="line.288"></a>
-<span class="sourceLineNo">289</span>  protected AssignmentManager assignmentManager;<a name="line.289"></a>
-<span class="sourceLineNo">290</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.290"></a>
+<span class="sourceLineNo">289</span>  protected Map&lt;String,Integer&gt; frags;<a name="line.289"></a>
+<span class="sourceLineNo">290</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map&lt;String,Integer&gt; p_frags)<a name="line.290"></a>
 <span class="sourceLineNo">291</span>  {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    (getImplData()).setAssignmentManager(p_assignmentManager);<a name="line.292"></a>
+<span class="sourceLineNo">292</span>    (getImplData()).setFrags(p_frags);<a name="line.292"></a>
 <span class="sourceLineNo">293</span>    return this;<a name="line.293"></a>
 <span class="sourceLineNo">294</span>  }<a name="line.294"></a>
 <span class="sourceLineNo">295</span>  <a name="line.295"></a>
-<span class="sourceLineNo">296</span>  protected List&lt;ServerName&gt; servers;<a name="line.296"></a>
-<span class="sourceLineNo">297</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServers(List&lt;ServerName&gt; p_servers)<a name="line.297"></a>
+<span class="sourceLineNo">296</span>  protected ServerManager serverManager;<a name="line.296"></a>
+<span class="sourceLineNo">297</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServerManager(ServerManager p_serverManager)<a name="line.297"></a>
 <span class="sourceLineNo">298</span>  {<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    (getImplData()).setServers(p_servers);<a name="line.299"></a>
+<span class="sourceLineNo">299</span>    (getImplData()).setServerManager(p_serverManager);<a name="line.299"></a>
 <span class="sourceLineNo">300</span>    return this;<a name="line.300"></a>
 <span class="sourceLineNo">301</span>  }<a name="line.301"></a>
 <span class="sourceLineNo">302</span>  <a name="line.302"></a>
-<span class="sourceLineNo">303</span>  protected ServerName metaLocation;<a name="line.303"></a>
-<span class="sourceLineNo">304</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setMetaLocation(ServerName p_metaLocation)<a name="line.304"></a>
+<span class="sourceLineNo">303</span>  protected Set&lt;ServerName&gt; deadServers;<a name="line.303"></a>
+<span class="sourceLineNo">304</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setDeadServers(Set&lt;ServerName&gt; p_deadServers)<a name="line.304"></a>
 <span class="sourceLineNo">305</span>  {<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    (getImplData()).setMetaLocation(p_metaLocation);<a name="line.306"></a>
+<span class="sourceLineNo">306</span>    (getImplData()).setDeadServers(p_deadServers);<a name="line.306"></a>
 <span class="sourceLineNo">307</span>    return this;<a name="line.307"></a>
 <span class="sourceLineNo">308</span>  }<a name="line.308"></a>
 <span class="sourceLineNo">309</span>  <a name="line.309"></a>
@@ -322,24 +322,24 @@
 <span class="sourceLineNo">314</span>    return this;<a name="line.314"></a>
 <span class="sourceLineNo">315</span>  }<a name="line.315"></a>
 <span class="sourceLineNo">316</span>  <a name="line.316"></a>
-<span class="sourceLineNo">317</span>  protected Set&lt;ServerName&gt; deadServers;<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setDeadServers(Set&lt;ServerName&gt; p_deadServers)<a name="line.318"></a>
+<span class="sourceLineNo">317</span>  protected boolean catalogJanitorEnabled;<a name="line.317"></a>
+<span class="sourceLineNo">318</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setCatalogJanitorEnabled(boolean p_catalogJanitorEnabled)<a name="line.318"></a>
 <span class="sourceLineNo">319</span>  {<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    (getImplData()).setDeadServers(p_deadServers);<a name="line.320"></a>
+<span class="sourceLineNo">320</span>    (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<a name="line.320"></a>
 <span class="sourceLineNo">321</span>    return this;<a name="line.321"></a>
 <span class="sourceLineNo">322</span>  }<a name="line.322"></a>
 <span class="sourceLineNo">323</span>  <a name="line.323"></a>
-<span class="sourceLineNo">324</span>  protected String format;<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFormat(String p_format)<a name="line.325"></a>
+<span class="sourceLineNo">324</span>  protected List&lt;ServerName&gt; servers;<a name="line.324"></a>
+<span class="sourceLineNo">325</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServers(List&lt;ServerName&gt; p_servers)<a name="line.325"></a>
 <span class="sourceLineNo">326</span>  {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>    (getImplData()).setFormat(p_format);<a name="line.327"></a>
+<span class="sourceLineNo">327</span>    (getImplData()).setServers(p_servers);<a name="line.327"></a>
 <span class="sourceLineNo">328</span>    return this;<a name="line.328"></a>
 <span class="sourceLineNo">329</span>  }<a name="line.329"></a>
 <span class="sourceLineNo">330</span>  <a name="line.330"></a>
-<span class="sourceLineNo">331</span>  protected boolean catalogJanitorEnabled;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setCatalogJanitorEnabled(boolean p_catalogJanitorEnabled)<a name="line.332"></a>
+<span class="sourceLineNo">331</span>  protected ServerName metaLocation;<a name="line.331"></a>
+<span class="sourceLineNo">332</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setMetaLocation(ServerName p_metaLocation)<a name="line.332"></a>
 <span class="sourceLineNo">333</span>  {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<a name="line.334"></a>
+<span class="sourceLineNo">334</span>    (getImplData()).setMetaLocation(p_metaLocation);<a name="line.334"></a>
 <span class="sourceLineNo">335</span>    return this;<a name="line.335"></a>
 <span class="sourceLineNo">336</span>  }<a name="line.336"></a>
 <span class="sourceLineNo">337</span>  <a name="line.337"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
index c6f2f44..5c3eb42 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
@@ -67,15 +67,15 @@
 <span class="sourceLineNo">059</span>  requiredArguments = {<a name="line.59"></a>
 <span class="sourceLineNo">060</span>    @org.jamon.annotations.Argument(name = "master", type = "HMaster")},<a name="line.60"></a>
 <span class="sourceLineNo">061</span>  optionalArguments = {<a name="line.61"></a>
-<span class="sourceLineNo">062</span>    @org.jamon.annotations.Argument(name = "frags", type = "Map&lt;String,Integer&gt;"),<a name="line.62"></a>
-<span class="sourceLineNo">063</span>    @org.jamon.annotations.Argument(name = "serverManager", type = "ServerManager"),<a name="line.63"></a>
-<span class="sourceLineNo">064</span>    @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager"),<a name="line.64"></a>
-<span class="sourceLineNo">065</span>    @org.jamon.annotations.Argument(name = "servers", type = "List&lt;ServerName&gt;"),<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName"),<a name="line.66"></a>
+<span class="sourceLineNo">062</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.62"></a>
+<span class="sourceLineNo">063</span>    @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager"),<a name="line.63"></a>
+<span class="sourceLineNo">064</span>    @org.jamon.annotations.Argument(name = "frags", type = "Map&lt;String,Integer&gt;"),<a name="line.64"></a>
+<span class="sourceLineNo">065</span>    @org.jamon.annotations.Argument(name = "serverManager", type = "ServerManager"),<a name="line.65"></a>
+<span class="sourceLineNo">066</span>    @org.jamon.annotations.Argument(name = "deadServers", type = "Set&lt;ServerName&gt;"),<a name="line.66"></a>
 <span class="sourceLineNo">067</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    @org.jamon.annotations.Argument(name = "deadServers", type = "Set&lt;ServerName&gt;"),<a name="line.68"></a>
-<span class="sourceLineNo">069</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    @org.jamon.annotations.Argument(name = "catalogJanitorEnabled", type = "boolean")})<a name="line.70"></a>
+<span class="sourceLineNo">068</span>    @org.jamon.annotations.Argument(name = "catalogJanitorEnabled", type = "boolean"),<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    @org.jamon.annotations.Argument(name = "servers", type = "List&lt;ServerName&gt;"),<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName")})<a name="line.70"></a>
 <span class="sourceLineNo">071</span>public class MasterStatusTmpl<a name="line.71"></a>
 <span class="sourceLineNo">072</span>  extends org.jamon.AbstractTemplateProxy<a name="line.72"></a>
 <span class="sourceLineNo">073</span>{<a name="line.73"></a>
@@ -116,91 +116,91 @@
 <span class="sourceLineNo">108</span>      return m_master;<a name="line.108"></a>
 <span class="sourceLineNo">109</span>    }<a name="line.109"></a>
 <span class="sourceLineNo">110</span>    private HMaster m_master;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    // 21, 1<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    public void setFrags(Map&lt;String,Integer&gt; frags)<a name="line.112"></a>
+<span class="sourceLineNo">111</span>    // 27, 1<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    public void setFormat(String format)<a name="line.112"></a>
 <span class="sourceLineNo">113</span>    {<a name="line.113"></a>
-<span class="sourceLineNo">114</span>      // 21, 1<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      m_frags = frags;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>      m_frags__IsNotDefault = true;<a name="line.116"></a>
+<span class="sourceLineNo">114</span>      // 27, 1<a name="line.114"></a>
+<span class="sourceLineNo">115</span>      m_format = format;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>      m_format__IsNotDefault = true;<a name="line.116"></a>
 <span class="sourceLineNo">117</span>    }<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    public Map&lt;String,Integer&gt; getFrags()<a name="line.118"></a>
+<span class="sourceLineNo">118</span>    public String getFormat()<a name="line.118"></a>
 <span class="sourceLineNo">119</span>    {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      return m_frags;<a name="line.120"></a>
+<span class="sourceLineNo">120</span>      return m_format;<a name="line.120"></a>
 <span class="sourceLineNo">121</span>    }<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    private Map&lt;String,Integer&gt; m_frags;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    public boolean getFrags__IsNotDefault()<a name="line.123"></a>
+<span class="sourceLineNo">122</span>    private String m_format;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    public boolean getFormat__IsNotDefault()<a name="line.123"></a>
 <span class="sourceLineNo">124</span>    {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      return m_frags__IsNotDefault;<a name="line.125"></a>
+<span class="sourceLineNo">125</span>      return m_format__IsNotDefault;<a name="line.125"></a>
 <span class="sourceLineNo">126</span>    }<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    private boolean m_frags__IsNotDefault;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    // 28, 1<a name="line.128"></a>
-<span class="sourceLineNo">129</span>    public void setServerManager(ServerManager serverManager)<a name="line.129"></a>
+<span class="sourceLineNo">127</span>    private boolean m_format__IsNotDefault;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>    // 29, 1<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.129"></a>
 <span class="sourceLineNo">130</span>    {<a name="line.130"></a>
-<span class="sourceLineNo">131</span>      // 28, 1<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      m_serverManager = serverManager;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>      m_serverManager__IsNotDefault = true;<a name="line.133"></a>
+<span class="sourceLineNo">131</span>      // 29, 1<a name="line.131"></a>
+<span class="sourceLineNo">132</span>      m_assignmentManager = assignmentManager;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>      m_assignmentManager__IsNotDefault = true;<a name="line.133"></a>
 <span class="sourceLineNo">134</span>    }<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    public ServerManager getServerManager()<a name="line.135"></a>
+<span class="sourceLineNo">135</span>    public AssignmentManager getAssignmentManager()<a name="line.135"></a>
 <span class="sourceLineNo">136</span>    {<a name="line.136"></a>
-<span class="sourceLineNo">137</span>      return m_serverManager;<a name="line.137"></a>
+<span class="sourceLineNo">137</span>      return m_assignmentManager;<a name="line.137"></a>
 <span class="sourceLineNo">138</span>    }<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    private ServerManager m_serverManager;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    public boolean getServerManager__IsNotDefault()<a name="line.140"></a>
+<span class="sourceLineNo">139</span>    private AssignmentManager m_assignmentManager;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    public boolean getAssignmentManager__IsNotDefault()<a name="line.140"></a>
 <span class="sourceLineNo">141</span>    {<a name="line.141"></a>
-<span class="sourceLineNo">142</span>      return m_serverManager__IsNotDefault;<a name="line.142"></a>
+<span class="sourceLineNo">142</span>      return m_assignmentManager__IsNotDefault;<a name="line.142"></a>
 <span class="sourceLineNo">143</span>    }<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    private boolean m_serverManager__IsNotDefault;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    // 29, 1<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.146"></a>
+<span class="sourceLineNo">144</span>    private boolean m_assignmentManager__IsNotDefault;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    // 21, 1<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    public void setFrags(Map&lt;String,Integer&gt; frags)<a name="line.146"></a>
 <span class="sourceLineNo">147</span>    {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>      // 29, 1<a name="line.148"></a>
-<span class="sourceLineNo">149</span>      m_assignmentManager = assignmentManager;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>      m_assignmentManager__IsNotDefault = true;<a name="line.150"></a>
+<span class="sourceLineNo">148</span>      // 21, 1<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      m_frags = frags;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      m_frags__IsNotDefault = true;<a name="line.150"></a>
 <span class="sourceLineNo">151</span>    }<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    public AssignmentManager getAssignmentManager()<a name="line.152"></a>
+<span class="sourceLineNo">152</span>    public Map&lt;String,Integer&gt; getFrags()<a name="line.152"></a>
 <span class="sourceLineNo">153</span>    {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>      return m_assignmentManager;<a name="line.154"></a>
+<span class="sourceLineNo">154</span>      return m_frags;<a name="line.154"></a>
 <span class="sourceLineNo">155</span>    }<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    private AssignmentManager m_assignmentManager;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    public boolean getAssignmentManager__IsNotDefault()<a name="line.157"></a>
+<span class="sourceLineNo">156</span>    private Map&lt;String,Integer&gt; m_frags;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>    public boolean getFrags__IsNotDefault()<a name="line.157"></a>
 <span class="sourceLineNo">158</span>    {<a name="line.158"></a>
-<span class="sourceLineNo">159</span>      return m_assignmentManager__IsNotDefault;<a name="line.159"></a>
+<span class="sourceLineNo">159</span>      return m_frags__IsNotDefault;<a name="line.159"></a>
 <span class="sourceLineNo">160</span>    }<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    private boolean m_assignmentManager__IsNotDefault;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    // 23, 1<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    public void setServers(List&lt;ServerName&gt; servers)<a name="line.163"></a>
+<span class="sourceLineNo">161</span>    private boolean m_frags__IsNotDefault;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    // 28, 1<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    public void setServerManager(ServerManager serverManager)<a name="line.163"></a>
 <span class="sourceLineNo">164</span>    {<a name="line.164"></a>
-<span class="sourceLineNo">165</span>      // 23, 1<a name="line.165"></a>
-<span class="sourceLineNo">166</span>      m_servers = servers;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      m_servers__IsNotDefault = true;<a name="line.167"></a>
+<span class="sourceLineNo">165</span>      // 28, 1<a name="line.165"></a>
+<span class="sourceLineNo">166</span>      m_serverManager = serverManager;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>      m_serverManager__IsNotDefault = true;<a name="line.167"></a>
 <span class="sourceLineNo">168</span>    }<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    public List&lt;ServerName&gt; getServers()<a name="line.169"></a>
+<span class="sourceLineNo">169</span>    public ServerManager getServerManager()<a name="line.169"></a>
 <span class="sourceLineNo">170</span>    {<a name="line.170"></a>
-<span class="sourceLineNo">171</span>      return m_servers;<a name="line.171"></a>
+<span class="sourceLineNo">171</span>      return m_serverManager;<a name="line.171"></a>
 <span class="sourceLineNo">172</span>    }<a name="line.172"></a>
-<span class="sourceLineNo">173</span>    private List&lt;ServerName&gt; m_servers;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    public boolean getServers__IsNotDefault()<a name="line.174"></a>
+<span class="sourceLineNo">173</span>    private ServerManager m_serverManager;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>    public boolean getServerManager__IsNotDefault()<a name="line.174"></a>
 <span class="sourceLineNo">175</span>    {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>      return m_servers__IsNotDefault;<a name="line.176"></a>
+<span class="sourceLineNo">176</span>      return m_serverManager__IsNotDefault;<a name="line.176"></a>
 <span class="sourceLineNo">177</span>    }<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    private boolean m_servers__IsNotDefault;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    // 22, 1<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    public void setMetaLocation(ServerName metaLocation)<a name="line.180"></a>
+<span class="sourceLineNo">178</span>    private boolean m_serverManager__IsNotDefault;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>    // 24, 1<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    public void setDeadServers(Set&lt;ServerName&gt; deadServers)<a name="line.180"></a>
 <span class="sourceLineNo">181</span>    {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>      // 22, 1<a name="line.182"></a>
-<span class="sourceLineNo">183</span>      m_metaLocation = metaLocation;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>      m_metaLocation__IsNotDefault = true;<a name="line.184"></a>
+<span class="sourceLineNo">182</span>      // 24, 1<a name="line.182"></a>
+<span class="sourceLineNo">183</span>      m_deadServers = deadServers;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>      m_deadServers__IsNotDefault = true;<a name="line.184"></a>
 <span class="sourceLineNo">185</span>    }<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    public ServerName getMetaLocation()<a name="line.186"></a>
+<span class="sourceLineNo">186</span>    public Set&lt;ServerName&gt; getDeadServers()<a name="line.186"></a>
 <span class="sourceLineNo">187</span>    {<a name="line.187"></a>
-<span class="sourceLineNo">188</span>      return m_metaLocation;<a name="line.188"></a>
+<span class="sourceLineNo">188</span>      return m_deadServers;<a name="line.188"></a>
 <span class="sourceLineNo">189</span>    }<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    private ServerName m_metaLocation;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    public boolean getMetaLocation__IsNotDefault()<a name="line.191"></a>
+<span class="sourceLineNo">190</span>    private Set&lt;ServerName&gt; m_deadServers;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    public boolean getDeadServers__IsNotDefault()<a name="line.191"></a>
 <span class="sourceLineNo">192</span>    {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      return m_metaLocation__IsNotDefault;<a name="line.193"></a>
+<span class="sourceLineNo">193</span>      return m_deadServers__IsNotDefault;<a name="line.193"></a>
 <span class="sourceLineNo">194</span>    }<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    private boolean m_metaLocation__IsNotDefault;<a name="line.195"></a>
+<span class="sourceLineNo">195</span>    private boolean m_deadServers__IsNotDefault;<a name="line.195"></a>
 <span class="sourceLineNo">196</span>    // 26, 1<a name="line.196"></a>
 <span class="sourceLineNo">197</span>    public void setFilter(String filter)<a name="line.197"></a>
 <span class="sourceLineNo">198</span>    {<a name="line.198"></a>
@@ -218,57 +218,57 @@
 <span class="sourceLineNo">210</span>      return m_filter__IsNotDefault;<a name="line.210"></a>
 <span class="sourceLineNo">211</span>    }<a name="line.211"></a>
 <span class="sourceLineNo">212</span>    private boolean m_filter__IsNotDefault;<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    // 24, 1<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    public void setDeadServers(Set&lt;ServerName&gt; deadServers)<a name="line.214"></a>
+<span class="sourceLineNo">213</span>    // 25, 1<a name="line.213"></a>
+<span class="sourceLineNo">214</span>    public void setCatalogJanitorEnabled(boolean catalogJanitorEnabled)<a name="line.214"></a>
 <span class="sourceLineNo">215</span>    {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>      // 24, 1<a name="line.216"></a>
-<span class="sourceLineNo">217</span>      m_deadServers = deadServers;<a name="line.217"></a>
-<span class="sourceLineNo">218</span>      m_deadServers__IsNotDefault = true;<a name="line.218"></a>
+<span class="sourceLineNo">216</span>      // 25, 1<a name="line.216"></a>
+<span class="sourceLineNo">217</span>      m_catalogJanitorEnabled = catalogJanitorEnabled;<a name="line.217"></a>
+<span class="sourceLineNo">218</span>      m_catalogJanitorEnabled__IsNotDefault = true;<a name="line.218"></a>
 <span class="sourceLineNo">219</span>    }<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    public Set&lt;ServerName&gt; getDeadServers()<a name="line.220"></a>
+<span class="sourceLineNo">220</span>    public boolean getCatalogJanitorEnabled()<a name="line.220"></a>
 <span class="sourceLineNo">221</span>    {<a name="line.221"></a>
-<span class="sourceLineNo">222</span>      return m_deadServers;<a name="line.222"></a>
+<span class="sourceLineNo">222</span>      return m_catalogJanitorEnabled;<a name="line.222"></a>
 <span class="sourceLineNo">223</span>    }<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    private Set&lt;ServerName&gt; m_deadServers;<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    public boolean getDeadServers__IsNotDefault()<a name="line.225"></a>
+<span class="sourceLineNo">224</span>    private boolean m_catalogJanitorEnabled;<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    public boolean getCatalogJanitorEnabled__IsNotDefault()<a name="line.225"></a>
 <span class="sourceLineNo">226</span>    {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>      return m_deadServers__IsNotDefault;<a name="line.227"></a>
+<span class="sourceLineNo">227</span>      return m_catalogJanitorEnabled__IsNotDefault;<a name="line.227"></a>
 <span class="sourceLineNo">228</span>    }<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    private boolean m_deadServers__IsNotDefault;<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    // 27, 1<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    public void setFormat(String format)<a name="line.231"></a>
+<span class="sourceLineNo">229</span>    private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    // 23, 1<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    public void setServers(List&lt;ServerName&gt; servers)<a name="line.231"></a>
 <span class="sourceLineNo">232</span>    {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      // 27, 1<a name="line.233"></a>
-<span class="sourceLineNo">234</span>      m_format = format;<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      m_format__IsNotDefault = true;<a name="line.235"></a>
+<span class="sourceLineNo">233</span>      // 23, 1<a name="line.233"></a>
+<span class="sourceLineNo">234</span>      m_servers = servers;<a name="line.234"></a>
+<span class="sourceLineNo">235</span>      m_servers__IsNotDefault = true;<a name="line.235"></a>
 <span class="sourceLineNo">236</span>    }<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    public String getFormat()<a name="line.237"></a>
+<span class="sourceLineNo">237</span>    public List&lt;ServerName&gt; getServers()<a name="line.237"></a>
 <span class="sourceLineNo">238</span>    {<a name="line.238"></a>
-<span class="sourceLineNo">239</span>      return m_format;<a name="line.239"></a>
+<span class="sourceLineNo">239</span>      return m_servers;<a name="line.239"></a>
 <span class="sourceLineNo">240</span>    }<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    private String m_format;<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    public boolean getFormat__IsNotDefault()<a name="line.242"></a>
+<span class="sourceLineNo">241</span>    private List&lt;ServerName&gt; m_servers;<a name="line.241"></a>
+<span class="sourceLineNo">242</span>    public boolean getServers__IsNotDefault()<a name="line.242"></a>
 <span class="sourceLineNo">243</span>    {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>      return m_format__IsNotDefault;<a name="line.244"></a>
+<span class="sourceLineNo">244</span>      return m_servers__IsNotDefault;<a name="line.244"></a>
 <span class="sourceLineNo">245</span>    }<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    private boolean m_format__IsNotDefault;<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    // 25, 1<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    public void setCatalogJanitorEnabled(boolean catalogJanitorEnabled)<a name="line.248"></a>
+<span class="sourceLineNo">246</span>    private boolean m_servers__IsNotDefault;<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    // 22, 1<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    public void setMetaLocation(ServerName metaLocation)<a name="line.248"></a>
 <span class="sourceLineNo">249</span>    {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>      // 25, 1<a name="line.250"></a>
-<span class="sourceLineNo">251</span>      m_catalogJanitorEnabled = catalogJanitorEnabled;<a name="line.251"></a>
-<span class="sourceLineNo">252</span>      m_catalogJanitorEnabled__IsNotDefault = true;<a name="line.252"></a>
+<span class="sourceLineNo">250</span>      // 22, 1<a name="line.250"></a>
+<span class="sourceLineNo">251</span>      m_metaLocation = metaLocation;<a name="line.251"></a>
+<span class="sourceLineNo">252</span>      m_metaLocation__IsNotDefault = true;<a name="line.252"></a>
 <span class="sourceLineNo">253</span>    }<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    public boolean getCatalogJanitorEnabled()<a name="line.254"></a>
+<span class="sourceLineNo">254</span>    public ServerName getMetaLocation()<a name="line.254"></a>
 <span class="sourceLineNo">255</span>    {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>      return m_catalogJanitorEnabled;<a name="line.256"></a>
+<span class="sourceLineNo">256</span>      return m_metaLocation;<a name="line.256"></a>
 <span class="sourceLineNo">257</span>    }<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    private boolean m_catalogJanitorEnabled;<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    public boolean getCatalogJanitorEnabled__IsNotDefault()<a name="line.259"></a>
+<span class="sourceLineNo">258</span>    private ServerName m_metaLocation;<a name="line.258"></a>
+<span class="sourceLineNo">259</span>    public boolean getMetaLocation__IsNotDefault()<a name="line.259"></a>
 <span class="sourceLineNo">260</span>    {<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      return m_catalogJanitorEnabled__IsNotDefault;<a name="line.261"></a>
+<span class="sourceLineNo">261</span>      return m_metaLocation__IsNotDefault;<a name="line.261"></a>
 <span class="sourceLineNo">262</span>    }<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.263"></a>
+<span class="sourceLineNo">263</span>    private boolean m_metaLocation__IsNotDefault;<a name="line.263"></a>
 <span class="sourceLineNo">264</span>  }<a name="line.264"></a>
 <span class="sourceLineNo">265</span>  @Override<a name="line.265"></a>
 <span class="sourceLineNo">266</span>  protected org.jamon.AbstractTemplateProxy.ImplData makeImplData()<a name="line.266"></a>
@@ -280,38 +280,38 @@
 <span class="sourceLineNo">272</span>    return (ImplData) super.getImplData();<a name="line.272"></a>
 <span class="sourceLineNo">273</span>  }<a name="line.273"></a>
 <span class="sourceLineNo">274</span>  <a name="line.274"></a>
-<span class="sourceLineNo">275</span>  protected Map&lt;String,Integer&gt; frags;<a name="line.275"></a>
-<span class="sourceLineNo">276</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map&lt;String,Integer&gt; p_frags)<a name="line.276"></a>
+<span class="sourceLineNo">275</span>  protected String format;<a name="line.275"></a>
+<span class="sourceLineNo">276</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFormat(String p_format)<a name="line.276"></a>
 <span class="sourceLineNo">277</span>  {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    (getImplData()).setFrags(p_frags);<a name="line.278"></a>
+<span class="sourceLineNo">278</span>    (getImplData()).setFormat(p_format);<a name="line.278"></a>
 <span class="sourceLineNo">279</span>    return this;<a name="line.279"></a>
 <span class="sourceLineNo">280</span>  }<a name="line.280"></a>
 <span class="sourceLineNo">281</span>  <a name="line.281"></a>
-<span class="sourceLineNo">282</span>  protected ServerManager serverManager;<a name="line.282"></a>
-<span class="sourceLineNo">283</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServerManager(ServerManager p_serverManager)<a name="line.283"></a>
+<span class="sourceLineNo">282</span>  protected AssignmentManager assignmentManager;<a name="line.282"></a>
+<span class="sourceLineNo">283</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.283"></a>
 <span class="sourceLineNo">284</span>  {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    (getImplData()).setServerManager(p_serverManager);<a name="line.285"></a>
+<span class="sourceLineNo">285</span>    (getImplData()).setAssignmentManager(p_assignmentManager);<a name="line.285"></a>
 <span class="sourceLineNo">286</span>    return this;<a name="line.286"></a>
 <span class="sourceLineNo">287</span>  }<a name="line.287"></a>
 <span class="sourceLineNo">288</span>  <a name="line.288"></a>
-<span class="sourceLineNo">289</span>  protected AssignmentManager assignmentManager;<a name="line.289"></a>
-<span class="sourceLineNo">290</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.290"></a>
+<span class="sourceLineNo">289</span>  protected Map&lt;String,Integer&gt; frags;<a name="line.289"></a>
+<span class="sourceLineNo">290</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map&lt;String,Integer&gt; p_frags)<a name="line.290"></a>
 <span class="sourceLineNo">291</span>  {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    (getImplData()).setAssignmentManager(p_assignmentManager);<a name="line.292"></a>
+<span class="sourceLineNo">292</span>    (getImplData()).setFrags(p_frags);<a name="line.292"></a>
 <span class="sourceLineNo">293</span>    return this;<a name="line.293"></a>
 <span class="sourceLineNo">294</span>  }<a name="line.294"></a>
 <span class="sourceLineNo">295</span>  <a name="line.295"></a>
-<span class="sourceLineNo">296</span>  protected List&lt;ServerName&gt; servers;<a name="line.296"></a>
-<span class="sourceLineNo">297</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServers(List&lt;ServerName&gt; p_servers)<a name="line.297"></a>
+<span class="sourceLineNo">296</span>  protected ServerManager serverManager;<a name="line.296"></a>
+<span class="sourceLineNo">297</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServerManager(ServerManager p_serverManager)<a name="line.297"></a>
 <span class="sourceLineNo">298</span>  {<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    (getImplData()).setServers(p_servers);<a name="line.299"></a>
+<span class="sourceLineNo">299</span>    (getImplData()).setServerManager(p_serverManager);<a name="line.299"></a>
 <span class="sourceLineNo">300</span>    return this;<a name="line.300"></a>
 <span class="sourceLineNo">301</span>  }<a name="line.301"></a>
 <span class="sourceLineNo">302</span>  <a name="line.302"></a>
-<span class="sourceLineNo">303</span>  protected ServerName metaLocation;<a name="line.303"></a>
-<span class="sourceLineNo">304</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setMetaLocation(ServerName p_metaLocation)<a name="line.304"></a>
+<span class="sourceLineNo">303</span>  protected Set&lt;ServerName&gt; deadServers;<a name="line.303"></a>
+<span class="sourceLineNo">304</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setDeadServers(Set&lt;ServerName&gt; p_deadServers)<a name="line.304"></a>
 <span class="sourceLineNo">305</span>  {<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    (getImplData()).setMetaLocation(p_metaLocation);<a name="line.306"></a>
+<span class="sourceLineNo">306</span>    (getImplData()).setDeadServers(p_deadServers);<a name="line.306"></a>
 <span class="sourceLineNo">307</span>    return this;<a name="line.307"></a>
 <span class="sourceLineNo">308</span>  }<a name="line.308"></a>
 <span class="sourceLineNo">309</span>  <a name="line.309"></a>
@@ -322,24 +322,24 @@
 <span class="sourceLineNo">314</span>    return this;<a name="line.314"></a>
 <span class="sourceLineNo">315</span>  }<a name="line.315"></a>
 <span class="sourceLineNo">316</span>  <a name="line.316"></a>
-<span class="sourceLineNo">317</span>  protected Set&lt;ServerName&gt; deadServers;<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setDeadServers(Set&lt;ServerName&gt; p_deadServers)<a name="line.318"></a>
+<span class="sourceLineNo">317</span>  protected boolean catalogJanitorEnabled;<a name="line.317"></a>
+<span class="sourceLineNo">318</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setCatalogJanitorEnabled(boolean p_catalogJanitorEnabled)<a name="line.318"></a>
 <span class="sourceLineNo">319</span>  {<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    (getImplData()).setDeadServers(p_deadServers);<a name="line.320"></a>
+<span class="sourceLineNo">320</span>    (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<a name="line.320"></a>
 <span class="sourceLineNo">321</span>    return this;<a name="line.321"></a>
 <span class="sourceLineNo">322</span>  }<a name="line.322"></a>
 <span class="sourceLineNo">323</span>  <a name="line.323"></a>
-<span class="sourceLineNo">324</span>  protected String format;<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFormat(String p_format)<a name="line.325"></a>
+<span class="sourceLineNo">324</span>  protected List&lt;ServerName&gt; servers;<a name="line.324"></a>
+<span class="sourceLineNo">325</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServers(List&lt;ServerName&gt; p_servers)<a name="line.325"></a>
 <span class="sourceLineNo">326</span>  {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>    (getImplData()).setFormat(p_format);<a name="line.327"></a>
+<span class="sourceLineNo">327</span>    (getImplData()).setServers(p_servers);<a name="line.327"></a>
 <span class="sourceLineNo">328</span>    return this;<a name="line.328"></a>
 <span class="sourceLineNo">329</span>  }<a name="line.329"></a>
 <span class="sourceLineNo">330</span>  <a name="line.330"></a>
-<span class="sourceLineNo">331</span>  protected boolean catalogJanitorEnabled;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setCatalogJanitorEnabled(boolean p_catalogJanitorEnabled)<a name="line.332"></a>
+<span class="sourceLineNo">331</span>  protected ServerName metaLocation;<a name="line.331"></a>
+<span class="sourceLineNo">332</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setMetaLocation(ServerName p_metaLocation)<a name="line.332"></a>
 <span class="sourceLineNo">333</span>  {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<a name="line.334"></a>
+<span class="sourceLineNo">334</span>    (getImplData()).setMetaLocation(p_metaLocation);<a name="line.334"></a>
 <span class="sourceLineNo">335</span>    return this;<a name="line.335"></a>
 <span class="sourceLineNo">336</span>  }<a name="line.336"></a>
 <span class="sourceLineNo">337</span>  <a name="line.337"></a>

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


[25/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html
index 6cf6743..1b54cf8 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html
@@ -27,572 +27,649 @@
 <span class="sourceLineNo">019</span> */<a name="line.19"></a>
 <span class="sourceLineNo">020</span>package org.apache.hadoop.hbase.client;<a name="line.20"></a>
 <span class="sourceLineNo">021</span><a name="line.21"></a>
-<span class="sourceLineNo">022</span>import java.io.IOException;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.util.AbstractMap.SimpleEntry;<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.Collections;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.util.HashMap;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import java.util.List;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import java.util.Map;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import java.util.concurrent.ExecutorService;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import java.util.concurrent.Executors;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import java.util.concurrent.LinkedBlockingQueue;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import java.util.concurrent.ScheduledExecutorService;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import java.util.concurrent.TimeUnit;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.36"></a>
-<span class="sourceLineNo">037</span><a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.commons.logging.Log;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.commons.logging.LogFactory;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.conf.Configuration;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.HBaseConfiguration;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.HConstants;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.ServerName;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.TableName;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.client.AsyncProcess.AsyncRequestFuture;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.ipc.RpcControllerFactory;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.51"></a>
-<span class="sourceLineNo">052</span><a name="line.52"></a>
-<span class="sourceLineNo">053</span>import com.google.common.util.concurrent.ThreadFactoryBuilder;<a name="line.53"></a>
-<span class="sourceLineNo">054</span><a name="line.54"></a>
-<span class="sourceLineNo">055</span>/**<a name="line.55"></a>
-<span class="sourceLineNo">056</span> * HTableMultiplexer provides a thread-safe non blocking PUT API across all the tables.<a name="line.56"></a>
-<span class="sourceLineNo">057</span> * Each put will be sharded into different buffer queues based on its destination region server.<a name="line.57"></a>
-<span class="sourceLineNo">058</span> * So each region server buffer queue will only have the puts which share the same destination.<a name="line.58"></a>
-<span class="sourceLineNo">059</span> * And each queue will have a flush worker thread to flush the puts request to the region server.<a name="line.59"></a>
-<span class="sourceLineNo">060</span> * If any queue is full, the HTableMultiplexer starts to drop the Put requests for that<a name="line.60"></a>
-<span class="sourceLineNo">061</span> * particular queue.<a name="line.61"></a>
-<span class="sourceLineNo">062</span> *<a name="line.62"></a>
-<span class="sourceLineNo">063</span> * Also all the puts will be retried as a configuration number before dropping.<a name="line.63"></a>
-<span class="sourceLineNo">064</span> * And the HTableMultiplexer can report the number of buffered requests and the number of the<a name="line.64"></a>
-<span class="sourceLineNo">065</span> * failed (dropped) requests in total or on per region server basis.<a name="line.65"></a>
-<span class="sourceLineNo">066</span> *<a name="line.66"></a>
-<span class="sourceLineNo">067</span> * This class is thread safe.<a name="line.67"></a>
-<span class="sourceLineNo">068</span> */<a name="line.68"></a>
-<span class="sourceLineNo">069</span>@InterfaceAudience.Public<a name="line.69"></a>
-<span class="sourceLineNo">070</span>@InterfaceStability.Evolving<a name="line.70"></a>
-<span class="sourceLineNo">071</span>public class HTableMultiplexer {<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  private static final Log LOG = LogFactory.getLog(HTableMultiplexer.class.getName());<a name="line.72"></a>
-<span class="sourceLineNo">073</span><a name="line.73"></a>
-<span class="sourceLineNo">074</span>  public static final String TABLE_MULTIPLEXER_FLUSH_PERIOD_MS =<a name="line.74"></a>
-<span class="sourceLineNo">075</span>      "hbase.tablemultiplexer.flush.period.ms";<a name="line.75"></a>
-<span class="sourceLineNo">076</span>  public static final String TABLE_MULTIPLEXER_INIT_THREADS = "hbase.tablemultiplexer.init.threads";<a name="line.76"></a>
-<span class="sourceLineNo">077</span>  public static final String TABLE_MULTIPLEXER_MAX_RETRIES_IN_QUEUE =<a name="line.77"></a>
-<span class="sourceLineNo">078</span>      "hbase.client.max.retries.in.queue";<a name="line.78"></a>
-<span class="sourceLineNo">079</span><a name="line.79"></a>
-<span class="sourceLineNo">080</span>  /** The map between each region server to its flush worker */<a name="line.80"></a>
-<span class="sourceLineNo">081</span>  private final Map&lt;HRegionLocation, FlushWorker&gt; serverToFlushWorkerMap =<a name="line.81"></a>
-<span class="sourceLineNo">082</span>      new ConcurrentHashMap&lt;&gt;();<a name="line.82"></a>
-<span class="sourceLineNo">083</span><a name="line.83"></a>
-<span class="sourceLineNo">084</span>  private final Configuration workerConf;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>  private final ClusterConnection conn;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>  private final ExecutorService pool;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>  private final int maxAttempts;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>  private final int perRegionServerBufferQueueSize;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>  private final int maxKeyValueSize;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>  private final ScheduledExecutorService executor;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>  private final long flushPeriod;<a name="line.91"></a>
-<span class="sourceLineNo">092</span><a name="line.92"></a>
-<span class="sourceLineNo">093</span>  /**<a name="line.93"></a>
-<span class="sourceLineNo">094</span>   * @param conf The HBaseConfiguration<a name="line.94"></a>
-<span class="sourceLineNo">095</span>   * @param perRegionServerBufferQueueSize determines the max number of the buffered Put ops for<a name="line.95"></a>
-<span class="sourceLineNo">096</span>   *          each region server before dropping the request.<a name="line.96"></a>
-<span class="sourceLineNo">097</span>   */<a name="line.97"></a>
-<span class="sourceLineNo">098</span>  public HTableMultiplexer(Configuration conf, int perRegionServerBufferQueueSize)<a name="line.98"></a>
-<span class="sourceLineNo">099</span>      throws IOException {<a name="line.99"></a>
-<span class="sourceLineNo">100</span>    this.conn = (ClusterConnection) ConnectionFactory.createConnection(conf);<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    this.pool = HTable.getDefaultExecutor(conf);<a name="line.101"></a>
-<span class="sourceLineNo">102</span>    // how many times we could try in total, one more than retry number<a name="line.102"></a>
-<span class="sourceLineNo">103</span>    this.maxAttempts = conf.getInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER,<a name="line.103"></a>
-<span class="sourceLineNo">104</span>        HConstants.DEFAULT_HBASE_CLIENT_RETRIES_NUMBER) + 1;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    this.perRegionServerBufferQueueSize = perRegionServerBufferQueueSize;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    this.maxKeyValueSize = HTable.getMaxKeyValueSize(conf);<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    this.flushPeriod = conf.getLong(TABLE_MULTIPLEXER_FLUSH_PERIOD_MS, 100);<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    int initThreads = conf.getInt(TABLE_MULTIPLEXER_INIT_THREADS, 10);<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    this.executor =<a name="line.109"></a>
-<span class="sourceLineNo">110</span>        Executors.newScheduledThreadPool(initThreads,<a name="line.110"></a>
-<span class="sourceLineNo">111</span>          new ThreadFactoryBuilder().setDaemon(true).setNameFormat("HTableFlushWorker-%d").build());<a name="line.111"></a>
-<span class="sourceLineNo">112</span><a name="line.112"></a>
-<span class="sourceLineNo">113</span>    this.workerConf = HBaseConfiguration.create(conf);<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    // We do not do the retry because we need to reassign puts to different queues if regions are<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    // moved.<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    this.workerConf.setInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER, 0);<a name="line.116"></a>
-<span class="sourceLineNo">117</span>  }<a name="line.117"></a>
-<span class="sourceLineNo">118</span><a name="line.118"></a>
-<span class="sourceLineNo">119</span>  /**<a name="line.119"></a>
-<span class="sourceLineNo">120</span>   * The put request will be buffered by its corresponding buffer queue. Return false if the queue<a name="line.120"></a>
-<span class="sourceLineNo">121</span>   * is already full.<a name="line.121"></a>
-<span class="sourceLineNo">122</span>   * @param tableName<a name="line.122"></a>
-<span class="sourceLineNo">123</span>   * @param put<a name="line.123"></a>
-<span class="sourceLineNo">124</span>   * @return true if the request can be accepted by its corresponding buffer queue.<a name="line.124"></a>
-<span class="sourceLineNo">125</span>   */<a name="line.125"></a>
-<span class="sourceLineNo">126</span>  public boolean put(TableName tableName, final Put put) {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    return put(tableName, put, this.maxAttempts);<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 name="line.130"></a>
-<span class="sourceLineNo">131</span>   * The puts request will be buffered by their corresponding buffer queue.<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   * Return the list of puts which could not be queued.<a name="line.132"></a>
-<span class="sourceLineNo">133</span>   * @param tableName<a name="line.133"></a>
-<span class="sourceLineNo">134</span>   * @param puts<a name="line.134"></a>
-<span class="sourceLineNo">135</span>   * @return the list of puts which could not be queued<a name="line.135"></a>
-<span class="sourceLineNo">136</span>   */<a name="line.136"></a>
-<span class="sourceLineNo">137</span>  public List&lt;Put&gt; put(TableName tableName, final List&lt;Put&gt; puts) {<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    if (puts == null)<a name="line.138"></a>
-<span class="sourceLineNo">139</span>      return null;<a name="line.139"></a>
-<span class="sourceLineNo">140</span><a name="line.140"></a>
-<span class="sourceLineNo">141</span>    List &lt;Put&gt; failedPuts = null;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    boolean result;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    for (Put put : puts) {<a name="line.143"></a>
-<span class="sourceLineNo">144</span>      result = put(tableName, put, this.maxAttempts);<a name="line.144"></a>
-<span class="sourceLineNo">145</span>      if (result == false) {<a name="line.145"></a>
-<span class="sourceLineNo">146</span><a name="line.146"></a>
-<span class="sourceLineNo">147</span>        // Create the failed puts list if necessary<a name="line.147"></a>
-<span class="sourceLineNo">148</span>        if (failedPuts == null) {<a name="line.148"></a>
-<span class="sourceLineNo">149</span>          failedPuts = new ArrayList&lt;Put&gt;();<a name="line.149"></a>
-<span class="sourceLineNo">150</span>        }<a name="line.150"></a>
-<span class="sourceLineNo">151</span>        // Add the put to the failed puts list<a name="line.151"></a>
-<span class="sourceLineNo">152</span>        failedPuts.add(put);<a name="line.152"></a>
-<span class="sourceLineNo">153</span>      }<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    }<a name="line.154"></a>
-<span class="sourceLineNo">155</span>    return failedPuts;<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>   * @deprecated Use {@link #put(TableName, List) } instead.<a name="line.159"></a>
+<span class="sourceLineNo">022</span>import com.google.common.annotations.VisibleForTesting;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import com.google.common.util.concurrent.ThreadFactoryBuilder;<a name="line.23"></a>
+<span class="sourceLineNo">024</span><a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.io.IOException;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.util.AbstractMap.SimpleEntry;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.util.ArrayList;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import java.util.Collections;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import java.util.HashMap;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import java.util.List;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import java.util.Map;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import java.util.concurrent.ExecutorService;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import java.util.concurrent.Executors;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import java.util.concurrent.LinkedBlockingQueue;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import java.util.concurrent.ScheduledExecutorService;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import java.util.concurrent.TimeUnit;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.39"></a>
+<span class="sourceLineNo">040</span><a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.commons.logging.Log;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.commons.logging.LogFactory;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.conf.Configuration;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.HBaseConfiguration;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.HConstants;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.ServerName;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.TableName;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.client.AsyncProcess.AsyncRequestFuture;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.ipc.RpcControllerFactory;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.54"></a>
+<span class="sourceLineNo">055</span><a name="line.55"></a>
+<span class="sourceLineNo">056</span>/**<a name="line.56"></a>
+<span class="sourceLineNo">057</span> * HTableMultiplexer provides a thread-safe non blocking PUT API across all the tables.<a name="line.57"></a>
+<span class="sourceLineNo">058</span> * Each put will be sharded into different buffer queues based on its destination region server.<a name="line.58"></a>
+<span class="sourceLineNo">059</span> * So each region server buffer queue will only have the puts which share the same destination.<a name="line.59"></a>
+<span class="sourceLineNo">060</span> * And each queue will have a flush worker thread to flush the puts request to the region server.<a name="line.60"></a>
+<span class="sourceLineNo">061</span> * If any queue is full, the HTableMultiplexer starts to drop the Put requests for that<a name="line.61"></a>
+<span class="sourceLineNo">062</span> * particular queue.<a name="line.62"></a>
+<span class="sourceLineNo">063</span> *<a name="line.63"></a>
+<span class="sourceLineNo">064</span> * Also all the puts will be retried as a configuration number before dropping.<a name="line.64"></a>
+<span class="sourceLineNo">065</span> * And the HTableMultiplexer can report the number of buffered requests and the number of the<a name="line.65"></a>
+<span class="sourceLineNo">066</span> * failed (dropped) requests in total or on per region server basis.<a name="line.66"></a>
+<span class="sourceLineNo">067</span> *<a name="line.67"></a>
+<span class="sourceLineNo">068</span> * This class is thread safe.<a name="line.68"></a>
+<span class="sourceLineNo">069</span> */<a name="line.69"></a>
+<span class="sourceLineNo">070</span>@InterfaceAudience.Public<a name="line.70"></a>
+<span class="sourceLineNo">071</span>@InterfaceStability.Evolving<a name="line.71"></a>
+<span class="sourceLineNo">072</span>public class HTableMultiplexer {<a name="line.72"></a>
+<span class="sourceLineNo">073</span>  private static final Log LOG = LogFactory.getLog(HTableMultiplexer.class.getName());<a name="line.73"></a>
+<span class="sourceLineNo">074</span><a name="line.74"></a>
+<span class="sourceLineNo">075</span>  public static final String TABLE_MULTIPLEXER_FLUSH_PERIOD_MS =<a name="line.75"></a>
+<span class="sourceLineNo">076</span>      "hbase.tablemultiplexer.flush.period.ms";<a name="line.76"></a>
+<span class="sourceLineNo">077</span>  public static final String TABLE_MULTIPLEXER_INIT_THREADS = "hbase.tablemultiplexer.init.threads";<a name="line.77"></a>
+<span class="sourceLineNo">078</span>  public static final String TABLE_MULTIPLEXER_MAX_RETRIES_IN_QUEUE =<a name="line.78"></a>
+<span class="sourceLineNo">079</span>      "hbase.client.max.retries.in.queue";<a name="line.79"></a>
+<span class="sourceLineNo">080</span><a name="line.80"></a>
+<span class="sourceLineNo">081</span>  /** The map between each region server to its flush worker */<a name="line.81"></a>
+<span class="sourceLineNo">082</span>  private final Map&lt;HRegionLocation, FlushWorker&gt; serverToFlushWorkerMap =<a name="line.82"></a>
+<span class="sourceLineNo">083</span>      new ConcurrentHashMap&lt;&gt;();<a name="line.83"></a>
+<span class="sourceLineNo">084</span><a name="line.84"></a>
+<span class="sourceLineNo">085</span>  private final Configuration workerConf;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>  private final ClusterConnection conn;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>  private final ExecutorService pool;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>  private final int maxAttempts;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>  private final int perRegionServerBufferQueueSize;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>  private final int maxKeyValueSize;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>  private final ScheduledExecutorService executor;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>  private final long flushPeriod;<a name="line.92"></a>
+<span class="sourceLineNo">093</span><a name="line.93"></a>
+<span class="sourceLineNo">094</span>  /**<a name="line.94"></a>
+<span class="sourceLineNo">095</span>   * @param conf The HBaseConfiguration<a name="line.95"></a>
+<span class="sourceLineNo">096</span>   * @param perRegionServerBufferQueueSize determines the max number of the buffered Put ops for<a name="line.96"></a>
+<span class="sourceLineNo">097</span>   *          each region server before dropping the request.<a name="line.97"></a>
+<span class="sourceLineNo">098</span>   */<a name="line.98"></a>
+<span class="sourceLineNo">099</span>  public HTableMultiplexer(Configuration conf, int perRegionServerBufferQueueSize)<a name="line.99"></a>
+<span class="sourceLineNo">100</span>      throws IOException {<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    this(ConnectionFactory.createConnection(conf), conf, perRegionServerBufferQueueSize);<a name="line.101"></a>
+<span class="sourceLineNo">102</span>  }<a name="line.102"></a>
+<span class="sourceLineNo">103</span><a name="line.103"></a>
+<span class="sourceLineNo">104</span>  /**<a name="line.104"></a>
+<span class="sourceLineNo">105</span>   * @param conn The HBase connection.<a name="line.105"></a>
+<span class="sourceLineNo">106</span>   * @param conf The HBase configuration<a name="line.106"></a>
+<span class="sourceLineNo">107</span>   * @param perRegionServerBufferQueueSize determines the max number of the buffered Put ops for<a name="line.107"></a>
+<span class="sourceLineNo">108</span>   *          each region server before dropping the request.<a name="line.108"></a>
+<span class="sourceLineNo">109</span>   */<a name="line.109"></a>
+<span class="sourceLineNo">110</span>  public HTableMultiplexer(Connection conn, Configuration conf,<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      int perRegionServerBufferQueueSize) {<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    this.conn = (ClusterConnection) conn;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>    this.pool = HTable.getDefaultExecutor(conf);<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    // how many times we could try in total, one more than retry number<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    this.maxAttempts = conf.getInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER,<a name="line.115"></a>
+<span class="sourceLineNo">116</span>        HConstants.DEFAULT_HBASE_CLIENT_RETRIES_NUMBER) + 1;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    this.perRegionServerBufferQueueSize = perRegionServerBufferQueueSize;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    this.maxKeyValueSize = HTable.getMaxKeyValueSize(conf);<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    this.flushPeriod = conf.getLong(TABLE_MULTIPLEXER_FLUSH_PERIOD_MS, 100);<a name="line.119"></a>
+<span class="sourceLineNo">120</span>    int initThreads = conf.getInt(TABLE_MULTIPLEXER_INIT_THREADS, 10);<a name="line.120"></a>
+<span class="sourceLineNo">121</span>    this.executor =<a name="line.121"></a>
+<span class="sourceLineNo">122</span>        Executors.newScheduledThreadPool(initThreads,<a name="line.122"></a>
+<span class="sourceLineNo">123</span>          new ThreadFactoryBuilder().setDaemon(true).setNameFormat("HTableFlushWorker-%d").build());<a name="line.123"></a>
+<span class="sourceLineNo">124</span><a name="line.124"></a>
+<span class="sourceLineNo">125</span>    this.workerConf = HBaseConfiguration.create(conf);<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    // We do not do the retry because we need to reassign puts to different queues if regions are<a name="line.126"></a>
+<span class="sourceLineNo">127</span>    // moved.<a name="line.127"></a>
+<span class="sourceLineNo">128</span>    this.workerConf.setInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER, 0);<a name="line.128"></a>
+<span class="sourceLineNo">129</span>  }<a name="line.129"></a>
+<span class="sourceLineNo">130</span><a name="line.130"></a>
+<span class="sourceLineNo">131</span>  /**<a name="line.131"></a>
+<span class="sourceLineNo">132</span>   * Closes the internal {@link Connection}. Does nothing if the {@link Connection} has already<a name="line.132"></a>
+<span class="sourceLineNo">133</span>   * been closed.<a name="line.133"></a>
+<span class="sourceLineNo">134</span>   * @throws IOException If there is an error closing the connection.<a name="line.134"></a>
+<span class="sourceLineNo">135</span>   */<a name="line.135"></a>
+<span class="sourceLineNo">136</span>  @SuppressWarnings("deprecation")<a name="line.136"></a>
+<span class="sourceLineNo">137</span>  public synchronized void close() throws IOException {<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    if (!getConnection().isClosed()) {<a name="line.138"></a>
+<span class="sourceLineNo">139</span>      getConnection().close();<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    }<a name="line.140"></a>
+<span class="sourceLineNo">141</span>  }<a name="line.141"></a>
+<span class="sourceLineNo">142</span><a name="line.142"></a>
+<span class="sourceLineNo">143</span>  /**<a name="line.143"></a>
+<span class="sourceLineNo">144</span>   * The put request will be buffered by its corresponding buffer queue. Return false if the queue<a name="line.144"></a>
+<span class="sourceLineNo">145</span>   * is already full.<a name="line.145"></a>
+<span class="sourceLineNo">146</span>   * @param tableName<a name="line.146"></a>
+<span class="sourceLineNo">147</span>   * @param put<a name="line.147"></a>
+<span class="sourceLineNo">148</span>   * @return true if the request can be accepted by its corresponding buffer queue.<a name="line.148"></a>
+<span class="sourceLineNo">149</span>   */<a name="line.149"></a>
+<span class="sourceLineNo">150</span>  public boolean put(TableName tableName, final Put put) {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    return put(tableName, put, this.maxAttempts);<a name="line.151"></a>
+<span class="sourceLineNo">152</span>  }<a name="line.152"></a>
+<span class="sourceLineNo">153</span><a name="line.153"></a>
+<span class="sourceLineNo">154</span>  /**<a name="line.154"></a>
+<span class="sourceLineNo">155</span>   * The puts request will be buffered by their corresponding buffer queue.<a name="line.155"></a>
+<span class="sourceLineNo">156</span>   * Return the list of puts which could not be queued.<a name="line.156"></a>
+<span class="sourceLineNo">157</span>   * @param tableName<a name="line.157"></a>
+<span class="sourceLineNo">158</span>   * @param puts<a name="line.158"></a>
+<span class="sourceLineNo">159</span>   * @return the list of puts which could not be queued<a name="line.159"></a>
 <span class="sourceLineNo">160</span>   */<a name="line.160"></a>
-<span class="sourceLineNo">161</span>  @Deprecated<a name="line.161"></a>
-<span class="sourceLineNo">162</span>  public List&lt;Put&gt; put(byte[] tableName, final List&lt;Put&gt; puts) {<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    return put(TableName.valueOf(tableName), puts);<a name="line.163"></a>
-<span class="sourceLineNo">164</span>  }<a name="line.164"></a>
-<span class="sourceLineNo">165</span><a name="line.165"></a>
-<span class="sourceLineNo">166</span>  /**<a name="line.166"></a>
-<span class="sourceLineNo">167</span>   * The put request will be buffered by its corresponding buffer queue. And the put request will be<a name="line.167"></a>
-<span class="sourceLineNo">168</span>   * retried before dropping the request.<a name="line.168"></a>
-<span class="sourceLineNo">169</span>   * Return false if the queue is already full.<a name="line.169"></a>
-<span class="sourceLineNo">170</span>   * @return true if the request can be accepted by its corresponding buffer queue.<a name="line.170"></a>
-<span class="sourceLineNo">171</span>   */<a name="line.171"></a>
-<span class="sourceLineNo">172</span>  public boolean put(final TableName tableName, final Put put, int maxAttempts) {<a name="line.172"></a>
-<span class="sourceLineNo">173</span>    if (maxAttempts &lt;= 0) {<a name="line.173"></a>
-<span class="sourceLineNo">174</span>      return false;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    }<a name="line.175"></a>
-<span class="sourceLineNo">176</span><a name="line.176"></a>
-<span class="sourceLineNo">177</span>    try {<a name="line.177"></a>
-<span class="sourceLineNo">178</span>      HTable.validatePut(put, maxKeyValueSize);<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      HRegionLocation loc = conn.getRegionLocation(tableName, put.getRow(), false);<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      if (loc != null) {<a name="line.180"></a>
-<span class="sourceLineNo">181</span>        // Add the put pair into its corresponding queue.<a name="line.181"></a>
-<span class="sourceLineNo">182</span>        LinkedBlockingQueue&lt;PutStatus&gt; queue = getQueue(loc);<a name="line.182"></a>
-<span class="sourceLineNo">183</span><a name="line.183"></a>
-<span class="sourceLineNo">184</span>        // Generate a MultiPutStatus object and offer it into the queue<a name="line.184"></a>
-<span class="sourceLineNo">185</span>        PutStatus s = new PutStatus(loc.getRegionInfo(), put, maxAttempts);<a name="line.185"></a>
-<span class="sourceLineNo">186</span><a name="line.186"></a>
-<span class="sourceLineNo">187</span>        return queue.offer(s);<a name="line.187"></a>
-<span class="sourceLineNo">188</span>      }<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    } catch (IOException e) {<a name="line.189"></a>
-<span class="sourceLineNo">190</span>      LOG.debug("Cannot process the put " + put, e);<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    }<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    return false;<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>  /**<a name="line.195"></a>
-<span class="sourceLineNo">196</span>   * @deprecated Use {@link #put(TableName, Put) } instead.<a name="line.196"></a>
-<span class="sourceLineNo">197</span>   */<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  @Deprecated<a name="line.198"></a>
-<span class="sourceLineNo">199</span>  public boolean put(final byte[] tableName, final Put put, int retry) {<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    return put(TableName.valueOf(tableName), put, retry);<a name="line.200"></a>
-<span class="sourceLineNo">201</span>  }<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>  /**<a name="line.203"></a>
-<span class="sourceLineNo">204</span>   * @deprecated Use {@link #put(TableName, Put)} instead.<a name="line.204"></a>
-<span class="sourceLineNo">205</span>   */<a name="line.205"></a>
-<span class="sourceLineNo">206</span>  @Deprecated<a name="line.206"></a>
-<span class="sourceLineNo">207</span>  public boolean put(final byte[] tableName, Put put) {<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    return put(TableName.valueOf(tableName), put);<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>  /**<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   * @return the current HTableMultiplexerStatus<a name="line.212"></a>
-<span class="sourceLineNo">213</span>   */<a name="line.213"></a>
-<span class="sourceLineNo">214</span>  public HTableMultiplexerStatus getHTableMultiplexerStatus() {<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    return new HTableMultiplexerStatus(serverToFlushWorkerMap);<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span>  private LinkedBlockingQueue&lt;PutStatus&gt; getQueue(HRegionLocation addr) {<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    FlushWorker worker = serverToFlushWorkerMap.get(addr);<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    if (worker == null) {<a name="line.220"></a>
-<span class="sourceLineNo">221</span>      synchronized (this.serverToFlushWorkerMap) {<a name="line.221"></a>
-<span class="sourceLineNo">222</span>        worker = serverToFlushWorkerMap.get(addr);<a name="line.222"></a>
-<span class="sourceLineNo">223</span>        if (worker == null) {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>          // Create the flush worker<a name="line.224"></a>
-<span class="sourceLineNo">225</span>          worker = new FlushWorker(workerConf, this.conn, addr, this,<a name="line.225"></a>
-<span class="sourceLineNo">226</span>              perRegionServerBufferQueueSize, pool, executor);<a name="line.226"></a>
-<span class="sourceLineNo">227</span>          this.serverToFlushWorkerMap.put(addr, worker);<a name="line.227"></a>
-<span class="sourceLineNo">228</span>          executor.scheduleAtFixedRate(worker, flushPeriod, flushPeriod, TimeUnit.MILLISECONDS);<a name="line.228"></a>
-<span class="sourceLineNo">229</span>        }<a name="line.229"></a>
-<span class="sourceLineNo">230</span>      }<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    }<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    return worker.getQueue();<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  }<a name="line.233"></a>
-<span class="sourceLineNo">234</span><a name="line.234"></a>
-<span class="sourceLineNo">235</span>  /**<a name="line.235"></a>
-<span class="sourceLineNo">236</span>   * HTableMultiplexerStatus keeps track of the current status of the HTableMultiplexer.<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   * report the number of buffered requests and the number of the failed (dropped) requests<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   * in total or on per region server basis.<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   */<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  @InterfaceAudience.Public<a name="line.240"></a>
-<span class="sourceLineNo">241</span>  @InterfaceStability.Evolving<a name="line.241"></a>
-<span class="sourceLineNo">242</span>  public static class HTableMultiplexerStatus {<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    private long totalFailedPutCounter;<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    private long totalBufferedPutCounter;<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    private long maxLatency;<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    private long overallAverageLatency;<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    private Map&lt;String, Long&gt; serverToFailedCounterMap;<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    private Map&lt;String, Long&gt; serverToBufferedCounterMap;<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    private Map&lt;String, Long&gt; serverToAverageLatencyMap;<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    private Map&lt;String, Long&gt; serverToMaxLatencyMap;<a name="line.250"></a>
-<span class="sourceLineNo">251</span><a name="line.251"></a>
-<span class="sourceLineNo">252</span>    public HTableMultiplexerStatus(<a name="line.252"></a>
-<span class="sourceLineNo">253</span>        Map&lt;HRegionLocation, FlushWorker&gt; serverToFlushWorkerMap) {<a name="line.253"></a>
-<span class="sourceLineNo">254</span>      this.totalBufferedPutCounter = 0;<a name="line.254"></a>
-<span class="sourceLineNo">255</span>      this.totalFailedPutCounter = 0;<a name="line.255"></a>
-<span class="sourceLineNo">256</span>      this.maxLatency = 0;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>      this.overallAverageLatency = 0;<a name="line.257"></a>
-<span class="sourceLineNo">258</span>      this.serverToBufferedCounterMap = new HashMap&lt;String, Long&gt;();<a name="line.258"></a>
-<span class="sourceLineNo">259</span>      this.serverToFailedCounterMap = new HashMap&lt;String, Long&gt;();<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      this.serverToAverageLatencyMap = new HashMap&lt;String, Long&gt;();<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      this.serverToMaxLatencyMap = new HashMap&lt;String, Long&gt;();<a name="line.261"></a>
-<span class="sourceLineNo">262</span>      this.initialize(serverToFlushWorkerMap);<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>    private void initialize(<a name="line.265"></a>
-<span class="sourceLineNo">266</span>        Map&lt;HRegionLocation, FlushWorker&gt; serverToFlushWorkerMap) {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      if (serverToFlushWorkerMap == null) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>        return;<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>      long averageCalcSum = 0;<a name="line.271"></a>
-<span class="sourceLineNo">272</span>      int averageCalcCount = 0;<a name="line.272"></a>
-<span class="sourceLineNo">273</span>      for (Map.Entry&lt;HRegionLocation, FlushWorker&gt; entry : serverToFlushWorkerMap<a name="line.273"></a>
-<span class="sourceLineNo">274</span>          .entrySet()) {<a name="line.274"></a>
-<span class="sourceLineNo">275</span>        HRegionLocation addr = entry.getKey();<a name="line.275"></a>
-<span class="sourceLineNo">276</span>        FlushWorker worker = entry.getValue();<a name="line.276"></a>
-<span class="sourceLineNo">277</span><a name="line.277"></a>
-<span class="sourceLineNo">278</span>        long bufferedCounter = worker.getTotalBufferedCount();<a name="line.278"></a>
-<span class="sourceLineNo">279</span>        long failedCounter = worker.getTotalFailedCount();<a name="line.279"></a>
-<span class="sourceLineNo">280</span>        long serverMaxLatency = worker.getMaxLatency();<a name="line.280"></a>
-<span class="sourceLineNo">281</span>        AtomicAverageCounter averageCounter = worker.getAverageLatencyCounter();<a name="line.281"></a>
-<span class="sourceLineNo">282</span>        // Get sum and count pieces separately to compute overall average<a name="line.282"></a>
-<span class="sourceLineNo">283</span>        SimpleEntry&lt;Long, Integer&gt; averageComponents = averageCounter<a name="line.283"></a>
-<span class="sourceLineNo">284</span>            .getComponents();<a name="line.284"></a>
-<span class="sourceLineNo">285</span>        long serverAvgLatency = averageCounter.getAndReset();<a name="line.285"></a>
-<span class="sourceLineNo">286</span><a name="line.286"></a>
-<span class="sourceLineNo">287</span>        this.totalBufferedPutCounter += bufferedCounter;<a name="line.287"></a>
-<span class="sourceLineNo">288</span>        this.totalFailedPutCounter += failedCounter;<a name="line.288"></a>
-<span class="sourceLineNo">289</span>        if (serverMaxLatency &gt; this.maxLatency) {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>          this.maxLatency = serverMaxLatency;<a name="line.290"></a>
-<span class="sourceLineNo">291</span>        }<a name="line.291"></a>
-<span class="sourceLineNo">292</span>        averageCalcSum += averageComponents.getKey();<a name="line.292"></a>
-<span class="sourceLineNo">293</span>        averageCalcCount += averageComponents.getValue();<a name="line.293"></a>
-<span class="sourceLineNo">294</span><a name="line.294"></a>
-<span class="sourceLineNo">295</span>        this.serverToBufferedCounterMap.put(addr.getHostnamePort(),<a name="line.295"></a>
-<span class="sourceLineNo">296</span>            bufferedCounter);<a name="line.296"></a>
-<span class="sourceLineNo">297</span>        this.serverToFailedCounterMap<a name="line.297"></a>
-<span class="sourceLineNo">298</span>            .put(addr.getHostnamePort(),<a name="line.298"></a>
-<span class="sourceLineNo">299</span>            failedCounter);<a name="line.299"></a>
-<span class="sourceLineNo">300</span>        this.serverToAverageLatencyMap.put(addr.getHostnamePort(),<a name="line.300"></a>
-<span class="sourceLineNo">301</span>            serverAvgLatency);<a name="line.301"></a>
-<span class="sourceLineNo">302</span>        this.serverToMaxLatencyMap<a name="line.302"></a>
-<span class="sourceLineNo">303</span>            .put(addr.getHostnamePort(),<a name="line.303"></a>
-<span class="sourceLineNo">304</span>            serverMaxLatency);<a name="line.304"></a>
-<span class="sourceLineNo">305</span>      }<a name="line.305"></a>
-<span class="sourceLineNo">306</span>      this.overallAverageLatency = averageCalcCount != 0 ? averageCalcSum<a name="line.306"></a>
-<span class="sourceLineNo">307</span>          / averageCalcCount : 0;<a name="line.307"></a>
+<span class="sourceLineNo">161</span>  public List&lt;Put&gt; put(TableName tableName, final List&lt;Put&gt; puts) {<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    if (puts == null)<a name="line.162"></a>
+<span class="sourceLineNo">163</span>      return null;<a name="line.163"></a>
+<span class="sourceLineNo">164</span><a name="line.164"></a>
+<span class="sourceLineNo">165</span>    List &lt;Put&gt; failedPuts = null;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>    boolean result;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    for (Put put : puts) {<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      result = put(tableName, put, this.maxAttempts);<a name="line.168"></a>
+<span class="sourceLineNo">169</span>      if (result == false) {<a name="line.169"></a>
+<span class="sourceLineNo">170</span><a name="line.170"></a>
+<span class="sourceLineNo">171</span>        // Create the failed puts list if necessary<a name="line.171"></a>
+<span class="sourceLineNo">172</span>        if (failedPuts == null) {<a name="line.172"></a>
+<span class="sourceLineNo">173</span>          failedPuts = new ArrayList&lt;Put&gt;();<a name="line.173"></a>
+<span class="sourceLineNo">174</span>        }<a name="line.174"></a>
+<span class="sourceLineNo">175</span>        // Add the put to the failed puts list<a name="line.175"></a>
+<span class="sourceLineNo">176</span>        failedPuts.add(put);<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>    return failedPuts;<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>  /**<a name="line.182"></a>
+<span class="sourceLineNo">183</span>   * @deprecated Use {@link #put(TableName, List) } instead.<a name="line.183"></a>
+<span class="sourceLineNo">184</span>   */<a name="line.184"></a>
+<span class="sourceLineNo">185</span>  @Deprecated<a name="line.185"></a>
+<span class="sourceLineNo">186</span>  public List&lt;Put&gt; put(byte[] tableName, final List&lt;Put&gt; puts) {<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    return put(TableName.valueOf(tableName), puts);<a name="line.187"></a>
+<span class="sourceLineNo">188</span>  }<a name="line.188"></a>
+<span class="sourceLineNo">189</span><a name="line.189"></a>
+<span class="sourceLineNo">190</span>  /**<a name="line.190"></a>
+<span class="sourceLineNo">191</span>   * The put request will be buffered by its corresponding buffer queue. And the put request will be<a name="line.191"></a>
+<span class="sourceLineNo">192</span>   * retried before dropping the request.<a name="line.192"></a>
+<span class="sourceLineNo">193</span>   * Return false if the queue is already full.<a name="line.193"></a>
+<span class="sourceLineNo">194</span>   * @return true if the request can be accepted by its corresponding buffer queue.<a name="line.194"></a>
+<span class="sourceLineNo">195</span>   */<a name="line.195"></a>
+<span class="sourceLineNo">196</span>  public boolean put(final TableName tableName, final Put put, int maxAttempts) {<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    return _put(tableName, put, maxAttempts, false);<a name="line.197"></a>
+<span class="sourceLineNo">198</span>  }<a name="line.198"></a>
+<span class="sourceLineNo">199</span><a name="line.199"></a>
+<span class="sourceLineNo">200</span>  /**<a name="line.200"></a>
+<span class="sourceLineNo">201</span>   * Internal "put" which exposes a boolean flag to control whether or not the region location<a name="line.201"></a>
+<span class="sourceLineNo">202</span>   * cache should be reloaded when trying to queue the {@link Put}.<a name="line.202"></a>
+<span class="sourceLineNo">203</span>   * @param tableName Destination table for the Put<a name="line.203"></a>
+<span class="sourceLineNo">204</span>   * @param put The Put to send<a name="line.204"></a>
+<span class="sourceLineNo">205</span>   * @param maxAttempts Number of attempts to retry the {@code put}<a name="line.205"></a>
+<span class="sourceLineNo">206</span>   * @param reloadCache Should the region location cache be reloaded<a name="line.206"></a>
+<span class="sourceLineNo">207</span>   * @return true if the request was accepted in the queue, otherwise false<a name="line.207"></a>
+<span class="sourceLineNo">208</span>   */<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  boolean _put(final TableName tableName, final Put put, int maxAttempts, boolean reloadCache) {<a name="line.209"></a>
+<span class="sourceLineNo">210</span>    if (maxAttempts &lt;= 0) {<a name="line.210"></a>
+<span class="sourceLineNo">211</span>      return false;<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    }<a name="line.212"></a>
+<span class="sourceLineNo">213</span><a name="line.213"></a>
+<span class="sourceLineNo">214</span>    try {<a name="line.214"></a>
+<span class="sourceLineNo">215</span>      HTable.validatePut(put, maxKeyValueSize);<a name="line.215"></a>
+<span class="sourceLineNo">216</span>      // Allow mocking to get at the connection, but don't expose the connection to users.<a name="line.216"></a>
+<span class="sourceLineNo">217</span>      ClusterConnection conn = (ClusterConnection) getConnection();<a name="line.217"></a>
+<span class="sourceLineNo">218</span>      HRegionLocation loc = conn.getRegionLocation(tableName, put.getRow(), reloadCache);<a name="line.218"></a>
+<span class="sourceLineNo">219</span>      if (loc != null) {<a name="line.219"></a>
+<span class="sourceLineNo">220</span>        // Add the put pair into its corresponding queue.<a name="line.220"></a>
+<span class="sourceLineNo">221</span>        LinkedBlockingQueue&lt;PutStatus&gt; queue = getQueue(loc);<a name="line.221"></a>
+<span class="sourceLineNo">222</span><a name="line.222"></a>
+<span class="sourceLineNo">223</span>        // Generate a MultiPutStatus object and offer it into the queue<a name="line.223"></a>
+<span class="sourceLineNo">224</span>        PutStatus s = new PutStatus(loc.getRegionInfo(), put, maxAttempts);<a name="line.224"></a>
+<span class="sourceLineNo">225</span><a name="line.225"></a>
+<span class="sourceLineNo">226</span>        return queue.offer(s);<a name="line.226"></a>
+<span class="sourceLineNo">227</span>      }<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    } catch (IOException e) {<a name="line.228"></a>
+<span class="sourceLineNo">229</span>      LOG.debug("Cannot process the put " + put, e);<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    }<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    return false;<a name="line.231"></a>
+<span class="sourceLineNo">232</span>  }<a name="line.232"></a>
+<span class="sourceLineNo">233</span><a name="line.233"></a>
+<span class="sourceLineNo">234</span>  /**<a name="line.234"></a>
+<span class="sourceLineNo">235</span>   * @deprecated Use {@link #put(TableName, Put) } instead.<a name="line.235"></a>
+<span class="sourceLineNo">236</span>   */<a name="line.236"></a>
+<span class="sourceLineNo">237</span>  @Deprecated<a name="line.237"></a>
+<span class="sourceLineNo">238</span>  public boolean put(final byte[] tableName, final Put put, int retry) {<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    return put(TableName.valueOf(tableName), put, retry);<a name="line.239"></a>
+<span class="sourceLineNo">240</span>  }<a name="line.240"></a>
+<span class="sourceLineNo">241</span><a name="line.241"></a>
+<span class="sourceLineNo">242</span>  /**<a name="line.242"></a>
+<span class="sourceLineNo">243</span>   * @deprecated Use {@link #put(TableName, Put)} instead.<a name="line.243"></a>
+<span class="sourceLineNo">244</span>   */<a name="line.244"></a>
+<span class="sourceLineNo">245</span>  @Deprecated<a name="line.245"></a>
+<span class="sourceLineNo">246</span>  public boolean put(final byte[] tableName, Put put) {<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    return put(TableName.valueOf(tableName), put);<a name="line.247"></a>
+<span class="sourceLineNo">248</span>  }<a name="line.248"></a>
+<span class="sourceLineNo">249</span><a name="line.249"></a>
+<span class="sourceLineNo">250</span>  /**<a name="line.250"></a>
+<span class="sourceLineNo">251</span>   * @return the current HTableMultiplexerStatus<a name="line.251"></a>
+<span class="sourceLineNo">252</span>   */<a name="line.252"></a>
+<span class="sourceLineNo">253</span>  public HTableMultiplexerStatus getHTableMultiplexerStatus() {<a name="line.253"></a>
+<span class="sourceLineNo">254</span>    return new HTableMultiplexerStatus(serverToFlushWorkerMap);<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>  @VisibleForTesting<a name="line.257"></a>
+<span class="sourceLineNo">258</span>  LinkedBlockingQueue&lt;PutStatus&gt; getQueue(HRegionLocation addr) {<a name="line.258"></a>
+<span class="sourceLineNo">259</span>    FlushWorker worker = serverToFlushWorkerMap.get(addr);<a name="line.259"></a>
+<span class="sourceLineNo">260</span>    if (worker == null) {<a name="line.260"></a>
+<span class="sourceLineNo">261</span>      synchronized (this.serverToFlushWorkerMap) {<a name="line.261"></a>
+<span class="sourceLineNo">262</span>        worker = serverToFlushWorkerMap.get(addr);<a name="line.262"></a>
+<span class="sourceLineNo">263</span>        if (worker == null) {<a name="line.263"></a>
+<span class="sourceLineNo">264</span>          // Create the flush worker<a name="line.264"></a>
+<span class="sourceLineNo">265</span>          worker = new FlushWorker(workerConf, this.conn, addr, this,<a name="line.265"></a>
+<span class="sourceLineNo">266</span>              perRegionServerBufferQueueSize, pool, executor);<a name="line.266"></a>
+<span class="sourceLineNo">267</span>          this.serverToFlushWorkerMap.put(addr, worker);<a name="line.267"></a>
+<span class="sourceLineNo">268</span>          executor.scheduleAtFixedRate(worker, flushPeriod, flushPeriod, TimeUnit.MILLISECONDS);<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>    }<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    return worker.getQueue();<a name="line.272"></a>
+<span class="sourceLineNo">273</span>  }<a name="line.273"></a>
+<span class="sourceLineNo">274</span><a name="line.274"></a>
+<span class="sourceLineNo">275</span>  @VisibleForTesting<a name="line.275"></a>
+<span class="sourceLineNo">276</span>  ClusterConnection getConnection() {<a name="line.276"></a>
+<span class="sourceLineNo">277</span>    return this.conn;<a name="line.277"></a>
+<span class="sourceLineNo">278</span>  }<a name="line.278"></a>
+<span class="sourceLineNo">279</span><a name="line.279"></a>
+<span class="sourceLineNo">280</span>  /**<a name="line.280"></a>
+<span class="sourceLineNo">281</span>   * HTableMultiplexerStatus keeps track of the current status of the HTableMultiplexer.<a name="line.281"></a>
+<span class="sourceLineNo">282</span>   * report the number of buffered requests and the number of the failed (dropped) requests<a name="line.282"></a>
+<span class="sourceLineNo">283</span>   * in total or on per region server basis.<a name="line.283"></a>
+<span class="sourceLineNo">284</span>   */<a name="line.284"></a>
+<span class="sourceLineNo">285</span>  @InterfaceAudience.Public<a name="line.285"></a>
+<span class="sourceLineNo">286</span>  @InterfaceStability.Evolving<a name="line.286"></a>
+<span class="sourceLineNo">287</span>  public static class HTableMultiplexerStatus {<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    private long totalFailedPutCounter;<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    private long totalBufferedPutCounter;<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    private long maxLatency;<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    private long overallAverageLatency;<a name="line.291"></a>
+<span class="sourceLineNo">292</span>    private Map&lt;String, Long&gt; serverToFailedCounterMap;<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    private Map&lt;String, Long&gt; serverToBufferedCounterMap;<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    private Map&lt;String, Long&gt; serverToAverageLatencyMap;<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    private Map&lt;String, Long&gt; serverToMaxLatencyMap;<a name="line.295"></a>
+<span class="sourceLineNo">296</span><a name="line.296"></a>
+<span class="sourceLineNo">297</span>    public HTableMultiplexerStatus(<a name="line.297"></a>
+<span class="sourceLineNo">298</span>        Map&lt;HRegionLocation, FlushWorker&gt; serverToFlushWorkerMap) {<a name="line.298"></a>
+<span class="sourceLineNo">299</span>      this.totalBufferedPutCounter = 0;<a name="line.299"></a>
+<span class="sourceLineNo">300</span>      this.totalFailedPutCounter = 0;<a name="line.300"></a>
+<span class="sourceLineNo">301</span>      this.maxLatency = 0;<a name="line.301"></a>
+<span class="sourceLineNo">302</span>      this.overallAverageLatency = 0;<a name="line.302"></a>
+<span class="sourceLineNo">303</span>      this.serverToBufferedCounterMap = new HashMap&lt;String, Long&gt;();<a name="line.303"></a>
+<span class="sourceLineNo">304</span>      this.serverToFailedCounterMap = new HashMap&lt;String, Long&gt;();<a name="line.304"></a>
+<span class="sourceLineNo">305</span>      this.serverToAverageLatencyMap = new HashMap&lt;String, Long&gt;();<a name="line.305"></a>
+<span class="sourceLineNo">306</span>      this.serverToMaxLatencyMap = new HashMap&lt;String, Long&gt;();<a name="line.306"></a>
+<span class="sourceLineNo">307</span>      this.initialize(serverToFlushWorkerMap);<a name="line.307"></a>
 <span class="sourceLineNo">308</span>    }<a name="line.308"></a>
 <span class="sourceLineNo">309</span><a name="line.309"></a>
-<span class="sourceLineNo">310</span>    public long getTotalBufferedCounter() {<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      return this.totalBufferedPutCounter;<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    }<a name="line.312"></a>
-<span class="sourceLineNo">313</span><a name="line.313"></a>
-<span class="sourceLineNo">314</span>    public long getTotalFailedCounter() {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>      return this.totalFailedPutCounter;<a name="line.315"></a>
-<span class="sourceLineNo">316</span>    }<a name="line.316"></a>
-<span class="sourceLineNo">317</span><a name="line.317"></a>
-<span class="sourceLineNo">318</span>    public long getMaxLatency() {<a name="line.318"></a>
-<span class="sourceLineNo">319</span>      return this.maxLatency;<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    }<a name="line.320"></a>
-<span class="sourceLineNo">321</span><a name="line.321"></a>
-<span class="sourceLineNo">322</span>    public long getOverallAverageLatency() {<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      return this.overallAverageLatency;<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>    public Map&lt;String, Long&gt; getBufferedCounterForEachRegionServer() {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>      return this.serverToBufferedCounterMap;<a name="line.327"></a>
-<span class="sourceLineNo">328</span>    }<a name="line.328"></a>
-<span class="sourceLineNo">329</span><a name="line.329"></a>
-<span class="sourceLineNo">330</span>    public Map&lt;String, Long&gt; getFailedCounterForEachRegionServer() {<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      return this.serverToFailedCounterMap;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    }<a name="line.332"></a>
-<span class="sourceLineNo">333</span><a name="line.333"></a>
-<span class="sourceLineNo">334</span>    public Map&lt;String, Long&gt; getMaxLatencyForEachRegionServer() {<a name="line.334"></a>
-<span class="sourceLineNo">335</span>      return this.serverToMaxLatencyMap;<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    }<a name="line.336"></a>
-<span class="sourceLineNo">337</span><a name="line.337"></a>
-<span class="sourceLineNo">338</span>    public Map&lt;String, Long&gt; getAverageLatencyForEachRegionServer() {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>      return this.serverToAverageLatencyMap;<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    }<a name="line.340"></a>
-<span class="sourceLineNo">341</span>  }<a name="line.341"></a>
-<span class="sourceLineNo">342</span><a name="line.342"></a>
-<span class="sourceLineNo">343</span>  private static class PutStatus {<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    private final HRegionInfo regionInfo;<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    private final Put put;<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    private final int maxAttempCount;<a name="line.346"></a>
-<span class="sourceLineNo">347</span><a name="line.347"></a>
-<span class="sourceLineNo">348</span>    public PutStatus(HRegionInfo regionInfo, Put put, int maxAttempCount) {<a name="line.348"></a>
-<span class="sourceLineNo">349</span>      this.regionInfo = regionInfo;<a name="line.349"></a>
-<span class="sourceLineNo">350</span>      this.put = put;<a name="line.350"></a>
-<span class="sourceLineNo">351</span>      this.maxAttempCount = maxAttempCount;<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    }<a name="line.352"></a>
-<span class="sourceLineNo">353</span>  }<a name="line.353"></a>
+<span class="sourceLineNo">310</span>    private void initialize(<a name="line.310"></a>
+<span class="sourceLineNo">311</span>        Map&lt;HRegionLocation, FlushWorker&gt; serverToFlushWorkerMap) {<a name="line.311"></a>
+<span class="sourceLineNo">312</span>      if (serverToFlushWorkerMap == null) {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>        return;<a name="line.313"></a>
+<span class="sourceLineNo">314</span>      }<a name="line.314"></a>
+<span class="sourceLineNo">315</span><a name="line.315"></a>
+<span class="sourceLineNo">316</span>      long averageCalcSum = 0;<a name="line.316"></a>
+<span class="sourceLineNo">317</span>      int averageCalcCount = 0;<a name="line.317"></a>
+<span class="sourceLineNo">318</span>      for (Map.Entry&lt;HRegionLocation, FlushWorker&gt; entry : serverToFlushWorkerMap<a name="line.318"></a>
+<span class="sourceLineNo">319</span>          .entrySet()) {<a name="line.319"></a>
+<span class="sourceLineNo">320</span>        HRegionLocation addr = entry.getKey();<a name="line.320"></a>
+<span class="sourceLineNo">321</span>        FlushWorker worker = entry.getValue();<a name="line.321"></a>
+<span class="sourceLineNo">322</span><a name="line.322"></a>
+<span class="sourceLineNo">323</span>        long bufferedCounter = worker.getTotalBufferedCount();<a name="line.323"></a>
+<span class="sourceLineNo">324</span>        long failedCounter = worker.getTotalFailedCount();<a name="line.324"></a>
+<span class="sourceLineNo">325</span>        long serverMaxLatency = worker.getMaxLatency();<a name="line.325"></a>
+<span class="sourceLineNo">326</span>        AtomicAverageCounter averageCounter = worker.getAverageLatencyCounter();<a name="line.326"></a>
+<span class="sourceLineNo">327</span>        // Get sum and count pieces separately to compute overall average<a name="line.327"></a>
+<span class="sourceLineNo">328</span>        SimpleEntry&lt;Long, Integer&gt; averageComponents = averageCounter<a name="line.328"></a>
+<span class="sourceLineNo">329</span>            .getComponents();<a name="line.329"></a>
+<span class="sourceLineNo">330</span>        long serverAvgLatency = averageCounter.getAndReset();<a name="line.330"></a>
+<span class="sourceLineNo">331</span><a name="line.331"></a>
+<span class="sourceLineNo">332</span>        this.totalBufferedPutCounter += bufferedCounter;<a name="line.332"></a>
+<span class="sourceLineNo">333</span>        this.totalFailedPutCounter += failedCounter;<a name="line.333"></a>
+<span class="sourceLineNo">334</span>        if (serverMaxLatency &gt; this.maxLatency) {<a name="line.334"></a>
+<span class="sourceLineNo">335</span>          this.maxLatency = serverMaxLatency;<a name="line.335"></a>
+<span class="sourceLineNo">336</span>        }<a name="line.336"></a>
+<span class="sourceLineNo">337</span>        averageCalcSum += averageComponents.getKey();<a name="line.337"></a>
+<span class="sourceLineNo">338</span>        averageCalcCount += averageComponents.getValue();<a name="line.338"></a>
+<span class="sourceLineNo">339</span><a name="line.339"></a>
+<span class="sourceLineNo">340</span>        this.serverToBufferedCounterMap.put(addr.getHostnamePort(),<a name="line.340"></a>
+<span class="sourceLineNo">341</span>            bufferedCounter);<a name="line.341"></a>
+<span class="sourceLineNo">342</span>        this.serverToFailedCounterMap<a name="line.342"></a>
+<span class="sourceLineNo">343</span>            .put(addr.getHostnamePort(),<a name="line.343"></a>
+<span class="sourceLineNo">344</span>            failedCounter);<a name="line.344"></a>
+<span class="sourceLineNo">345</span>        this.serverToAverageLatencyMap.put(addr.getHostnamePort(),<a name="line.345"></a>
+<span class="sourceLineNo">346</span>            serverAvgLatency);<a name="line.346"></a>
+<span class="sourceLineNo">347</span>        this.serverToMaxLatencyMap<a name="line.347"></a>
+<span class="sourceLineNo">348</span>            .put(addr.getHostnamePort(),<a name="line.348"></a>
+<span class="sourceLineNo">349</span>            serverMaxLatency);<a name="line.349"></a>
+<span class="sourceLineNo">350</span>      }<a name="line.350"></a>
+<span class="sourceLineNo">351</span>      this.overallAverageLatency = averageCalcCount != 0 ? averageCalcSum<a name="line.351"></a>
+<span class="sourceLineNo">352</span>          / averageCalcCount : 0;<a name="line.352"></a>
+<span class="sourceLineNo">353</span>    }<a name="line.353"></a>
 <span class="sourceLineNo">354</span><a name="line.354"></a>
-<span class="sourceLineNo">355</span>  /**<a name="line.355"></a>
-<span class="sourceLineNo">356</span>   * Helper to count the average over an interval until reset.<a name="line.356"></a>
-<span class="sourceLineNo">357</span>   */<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  private static class AtomicAverageCounter {<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    private long sum;<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    private int count;<a name="line.360"></a>
-<span class="sourceLineNo">361</span><a name="line.361"></a>
-<span class="sourceLineNo">362</span>    public AtomicAverageCounter() {<a name="line.362"></a>
-<span class="sourceLineNo">363</span>      this.sum = 0L;<a name="line.363"></a>
-<span class="sourceLineNo">364</span>      this.count = 0;<a name="line.364"></a>
+<span class="sourceLineNo">355</span>    public long getTotalBufferedCounter() {<a name="line.355"></a>
+<span class="sourceLineNo">356</span>      return this.totalBufferedPutCounter;<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>    public long getTotalFailedCounter() {<a name="line.359"></a>
+<span class="sourceLineNo">360</span>      return this.totalFailedPutCounter;<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>    public long getMaxLatency() {<a name="line.363"></a>
+<span class="sourceLineNo">364</span>      return this.maxLatency;<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>    public synchronized long getAndReset() {<a name="line.367"></a>
-<span class="sourceLineNo">368</span>      long result = this.get();<a name="line.368"></a>
-<span class="sourceLineNo">369</span>      this.reset();<a name="line.369"></a>
-<span class="sourceLineNo">370</span>      return result;<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>    public synchronized long get() {<a name="line.373"></a>
-<span class="sourceLineNo">374</span>      if (this.count == 0) {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>        return 0;<a name="line.375"></a>
-<span class="sourceLineNo">376</span>      }<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      return this.sum / this.count;<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>    public synchronized SimpleEntry&lt;Long, Integer&gt; getComponents() {<a name="line.380"></a>
-<span class="sourceLineNo">381</span>      return new SimpleEntry&lt;Long, Integer&gt;(sum, count);<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    }<a name="line.382"></a>
-<span class="sourceLineNo">383</span><a name="line.383"></a>
-<span class="sourceLineNo">384</span>    public synchronized void reset() {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>      this.sum = 0L;<a name="line.385"></a>
-<span class="sourceLineNo">386</span>      this.count = 0;<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    }<a name="line.387"></a>
-<span class="sourceLineNo">388</span><a name="line.388"></a>
-<span class="sourceLineNo">389</span>    public synchronized void add(long value) {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>      this.sum += value;<a name="line.390"></a>
-<span class="sourceLineNo">391</span>      this.count++;<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    }<a name="line.392"></a>
-<span class="sourceLineNo">393</span>  }<a name="line.393"></a>
-<span class="sourceLineNo">394</span><a name="line.394"></a>
-<span class="sourceLineNo">395</span>  private static class FlushWorker implements Runnable {<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    private final HRegionLocation addr;<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    private final LinkedBlockingQueue&lt;PutStatus&gt; queue;<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    private final HTableMultiplexer multiplexer;<a name="line.398"></a>
-<span class="sourceLineNo">399</span>    private final AtomicLong totalFailedPutCount = new AtomicLong(0);<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    private final AtomicInteger currentProcessingCount = new AtomicInteger(0);<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    private final AtomicAverageCounter averageLatency = new AtomicAverageCounter();<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    private final AtomicLong maxLatency = new AtomicLong(0);<a name="line.402"></a>
-<span class="sourceLineNo">403</span><a name="line.403"></a>
-<span class="sourceLineNo">404</span>    private final AsyncProcess ap;<a name="line.404"></a>
-<span class="sourceLineNo">405</span>    private final List&lt;PutStatus&gt; processingList = new ArrayList&lt;&gt;();<a name="line.405"></a>
-<span class="sourceLineNo">406</span>    private final ScheduledExecutorService executor;<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    private final int maxRetryInQueue;<a name="line.407"></a>
-<span class="sourceLineNo">408</span>    private final AtomicInteger retryInQueue = new AtomicInteger(0);<a name="line.408"></a>
-<span class="sourceLineNo">409</span><a name="line.409"></a>
-<span class="sourceLineNo">410</span>    public FlushWorker(Configuration conf, ClusterConnection conn, HRegionLocation addr,<a name="line.410"></a>
-<span class="sourceLineNo">411</span>        HTableMultiplexer htableMultiplexer, int perRegionServerBufferQueueSize,<a name="line.411"></a>
-<span class="sourceLineNo">412</span>        ExecutorService pool, ScheduledExecutorService executor) {<a name="line.412"></a>
-<span class="sourceLineNo">413</span>      this.addr = addr;<a name="line.413"></a>
-<span class="sourceLineNo">414</span>      this.multiplexer = htableMultiplexer;<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      this.queue = new LinkedBlockingQueue&lt;&gt;(perRegionServerBufferQueueSize);<a name="line.415"></a>
-<span class="sourceLineNo">416</span>      RpcRetryingCallerFactory rpcCallerFactory = RpcRetryingCallerFactory.instantiate(conf);<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      RpcControllerFactory rpcControllerFactory = RpcControllerFactory.instantiate(conf);<a name="line.417"></a>
-<span class="sourceLineNo">418</span>      this.ap = new AsyncProcess(conn, conf, pool, rpcCallerFactory, false, rpcControllerFactory);<a name="line.418"></a>
-<span class="sourceLineNo">419</span>      this.executor = executor;<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      this.maxRetryInQueue = conf.getInt(TABLE_MULTIPLEXER_MAX_RETRIES_IN_QUEUE, 10000);<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    }<a name="line.421"></a>
-<span class="sourceLineNo">422</span><a name="line.422"></a>
-<span class="sourceLineNo">423</span>    protected LinkedBlockingQueue&lt;PutStatus&gt; getQueue() {<a name="line.423"></a>
-<span class="sourceLineNo">424</span>      return this.queue;<a name="line.424"></a>
-<span class="sourceLineNo">425</span>    }<a name="line.425"></a>
-<span class="sourceLineNo">426</span><a name="line.426"></a>
-<span class="sourceLineNo">427</span>    public long getTotalFailedCount() {<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      return totalFailedPutCount.get();<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>    public long getTotalBufferedCount() {<a name="line.431"></a>
-<span class="sourceLineNo">432</span>      return queue.size() + currentProcessingCount.get();<a name="line.432"></a>
+<span class="sourceLineNo">367</span>    public long getOverallAverageLatency() {<a name="line.367"></a>
+<span class="sourceLineNo">368</span>      return this.overallAverageLatency;<a name="line.368"></a>
+<span class="sourceLineNo">369</span>    }<a name="line.369"></a>
+<span class="sourceLineNo">370</span><a name="line.370"></a>
+<span class="sourceLineNo">371</span>    public Map&lt;String, Long&gt; getBufferedCounterForEachRegionServer() {<a name="line.371"></a>
+<span class="sourceLineNo">372</span>      return this.serverToBufferedCounterMap;<a name="line.372"></a>
+<span class="sourceLineNo">373</span>    }<a name="line.373"></a>
+<span class="sourceLineNo">374</span><a name="line.374"></a>
+<span class="sourceLineNo">375</span>    public Map&lt;String, Long&gt; getFailedCounterForEachRegionServer() {<a name="line.375"></a>
+<span class="sourceLineNo">376</span>      return this.serverToFailedCounterMap;<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    }<a name="line.377"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>    public Map&lt;String, Long&gt; getMaxLatencyForEachRegionServer() {<a name="line.379"></a>
+<span class="sourceLineNo">380</span>      return this.serverToMaxLatencyMap;<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>    public Map&lt;String, Long&gt; getAverageLatencyForEachRegionServer() {<a name="line.383"></a>
+<span class="sourceLineNo">384</span>      return this.serverToAverageLatencyMap;<a name="line.384"></a>
+<span class="sourceLineNo">385</span>    }<a name="line.385"></a>
+<span class="sourceLineNo">386</span>  }<a name="line.386"></a>
+<span class="sourceLineNo">387</span><a name="line.387"></a>
+<span class="sourceLineNo">388</span>  @VisibleForTesting<a name="line.388"></a>
+<span class="sourceLineNo">389</span>  static class PutStatus {<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    final HRegionInfo regionInfo;<a name="line.390"></a>
+<span class="sourceLineNo">391</span>    final Put put;<a name="line.391"></a>
+<span class="sourceLineNo">392</span>    final int maxAttempCount;<a name="line.392"></a>
+<span class="sourceLineNo">393</span><a name="line.393"></a>
+<span class="sourceLineNo">394</span>    public PutStatus(HRegionInfo regionInfo, Put put, int maxAttempCount) {<a name="line.394"></a>
+<span class="sourceLineNo">395</span>      this.regionInfo = regionInfo;<a name="line.395"></a>
+<span class="sourceLineNo">396</span>      this.put = put;<a name="line.396"></a>
+<span class="sourceLineNo">397</span>      this.maxAttempCount = maxAttempCount;<a name="line.397"></a>
+<span class="sourceLineNo">398</span>    }<a name="line.398"></a>
+<span class="sourceLineNo">399</span>  }<a name="line.399"></a>
+<span class="sourceLineNo">400</span><a name="line.400"></a>
+<span class="sourceLineNo">401</span>  /**<a name="line.401"></a>
+<span class="sourceLineNo">402</span>   * Helper to count the average over an interval until reset.<a name="line.402"></a>
+<span class="sourceLineNo">403</span>   */<a name="line.403"></a>
+<span class="sourceLineNo">404</span>  private static class AtomicAverageCounter {<a name="line.404"></a>
+<span class="sourceLineNo">405</span>    private long sum;<a name="line.405"></a>
+<span class="sourceLineNo">406</span>    private int count;<a name="line.406"></a>
+<span class="sourceLineNo">407</span><a name="line.407"></a>
+<span class="sourceLineNo">408</span>    public AtomicAverageCounter() {<a name="line.408"></a>
+<span class="sourceLineNo">409</span>      this.sum = 0L;<a name="line.409"></a>
+<span class="sourceLineNo">410</span>      this.count = 0;<a name="line.410"></a>
+<span class="sourceLineNo">411</span>    }<a name="line.411"></a>
+<span class="sourceLineNo">412</span><a name="line.412"></a>
+<span class="sourceLineNo">413</span>    public synchronized long getAndReset() {<a name="line.413"></a>
+<span class="sourceLineNo">414</span>      long result = this.get();<a name="line.414"></a>
+<span class="sourceLineNo">415</span>      this.reset();<a name="line.415"></a>
+<span class="sourceLineNo">416</span>      return result;<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>    public synchronized long get() {<a name="line.419"></a>
+<span class="sourceLineNo">420</span>      if (this.count == 0) {<a name="line.420"></a>
+<span class="sourceLineNo">421</span>        return 0;<a name="line.421"></a>
+<span class="sourceLineNo">422</span>      }<a name="line.422"></a>
+<span class="sourceLineNo">423</span>      return this.sum / this.count;<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>    public synchronized SimpleEntry&lt;Long, Integer&gt; getComponents() {<a name="line.426"></a>
+<span class="sourceLineNo">427</span>      return new SimpleEntry&lt;Long, Integer&gt;(sum, count);<a name="line.427"></a>
+<span class="sourceLineNo">428</span>    }<a name="line.428"></a>
+<span class="sourceLineNo">429</span><a name="line.429"></a>
+<span class="sourceLineNo">430</span>    public synchronized void reset() {<a name="line.430"></a>
+<span class="sourceLineNo">431</span>      this.sum = 0L;<a name="line.431"></a>
+<span class="sourceLineNo">432</span>      this.count = 0;<a name="line.432"></a>
 <span class="sourceLineNo">433</span>    }<a name="line.433"></a>
 <span class="sourceLineNo">434</span><a name="line.434"></a>
-<span class="sourceLineNo">435</span>    public AtomicAverageCounter getAverageLatencyCounter() {<a name="line.435"></a>
-<span class="sourceLineNo">436</span>      return this.averageLatency;<a name="line.436"></a>
-<span class="sourceLineNo">437</span>    }<a name="line.437"></a>
-<span class="sourceLineNo">438</span><a name="line.438"></a>
-<span class="sourceLineNo">439</span>    public long getMaxLatency() {<a name="line.439"></a>
-<span class="sourceLineNo">440</span>      return this.maxLatency.getAndSet(0);<a name="line.440"></a>
-<span class="sourceLineNo">441</span>    }<a name="line.441"></a>
-<span class="sourceLineNo">442</span><a name="line.442"></a>
-<span class="sourceLineNo">443</span>    private boolean resubmitFailedPut(PutStatus ps, HRegionLocation oldLoc) throws IOException {<a name="line.443"></a>
-<span class="sourceLineNo">444</span>      // Decrease the retry count<a name="line.444"></a>
-<span class="sourceLineNo">445</span>      final int retryCount = ps.maxAttempCount - 1;<a name="line.445"></a>
-<span class="sourceLineNo">446</span><a name="line.446"></a>
-<span class="sourceLineNo">447</span>      if (retryCount &lt;= 0) {<a name="line.447"></a>
-<span class="sourceLineNo">448</span>        // Update the failed counter and no retry any more.<a name="line.448"></a>
-<span class="sourceLineNo">449</span>        return false;<a name="line.449"></a>
-<span class="sourceLineNo">450</span>      }<a name="line.450"></a>
-<span class="sourceLineNo">451</span><a name="line.451"></a>
-<span class="sourceLineNo">452</span>      int cnt = retryInQueue.incrementAndGet();<a name="line.452"></a>
-<span class="sourceLineNo">453</span>      if (cnt &gt; maxRetryInQueue) {<a name="line.453"></a>
-<span class="sourceLineNo">454</span>        // Too many Puts in queue for resubmit, give up this<a name="line.454"></a>
-<span class="sourceLineNo">455</span>        retryInQueue.decrementAndGet();<a name="line.455"></a>
-<span class="sourceLineNo">456</span>        return false;<a name="line.456"></a>
-<span class="sourceLineNo">457</span>      }<a name="line.457"></a>
-<span class="sourceLineNo">458</span><a name="line.458"></a>
-<span class="sourceLineNo">459</span>      final Put failedPut = ps.put;<a name="line.459"></a>
-<span class="sourceLineNo">460</span>      // The currentPut is failed. So get the table name for the currentPut.<a name="line.460"></a>
-<span class="sourceLineNo">461</span>      final TableName tableName = ps.regionInfo.getTable();<a name="line.461"></a>
-<span class="sourceLineNo">462</span><a name="line.462"></a>
-<span class="sourceLineNo">463</span>      long delayMs = ConnectionUtils.getPauseTime(multiplexer.flushPeriod,<a name="line.463"></a>
-<span class="sourceLineNo">464</span>        multiplexer.maxAttempts - retryCount - 1);<a name="line.464"></a>
-<span class="sourceLineNo">465</span>      if (LOG.isDebugEnabled()) {<a name="line.465"></a>
-<span class="sourceLineNo">466</span>        LOG.debug("resubmitting after " + delayMs + "ms: " + retryCount);<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>      executor.schedule(new Runnable() {<a name="line.469"></a>
-<span class="sourceLineNo">470</span>        @Override<a name="line.470"></a>
-<span class="sourceLineNo">471</span>        public void run() {<a name="line.471"></a>
-<span class="sourceLineNo">472</span>          boolean succ = false;<a name="line.472"></a>
-<span class="sourceLineNo">473</span>          try {<a name="line.473"></a>
-<span class="sourceLineNo">474</span>            succ = FlushWorker.this.multiplexer.put(tableName, failedPut, retryCount);<a name="line.474"></a>
-<span class="sourceLineNo">475</span>          } finally {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>            FlushWorker.this.retryInQueue.decrementAndGet();<a name="line.476"></a>
-<span class="sourceLineNo">477</span>            if (!succ) {<a name="line.477"></a>
-<span class="sourceLineNo">478</span>              FlushWorker.this.totalFailedPutCount.incrementAndGet();<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>      }, delayMs, TimeUnit.MILLISECONDS);<a name="line.482"></a>
-<span class="sourceLineNo">483</span>      return true;<a name="line.483"></a>
+<span class="sourceLineNo">435</span>    public synchronized void add(long value) {<a name="line.435"></a>
+<span class="sourceLineNo">436</span>      this.sum += value;<a name="line.436"></a>
+<span class="sourceLineNo">437</span>      this.count++;<a name="line.437"></a>
+<span class="sourceLineNo">438</span>    }<a name="line.438"></a>
+<span class="sourceLineNo">439</span>  }<a name="line.439"></a>
+<span class="sourceLineNo">440</span><a name="line.440"></a>
+<span class="sourceLineNo">441</span>  @VisibleForTesting<a name="line.441"></a>
+<span class="sourceLineNo">442</span>  static class FlushWorker implements Runnable {<a name="line.442"></a>
+<span class="sourceLineNo">443</span>    private final HRegionLocation addr;<a name="line.443"></a>
+<span class="sourceLineNo">444</span>    private final LinkedBlockingQueue&lt;PutStatus&gt; queue;<a name="line.444"></a>
+<span class="sourceLineNo">445</span>    private final HTableMultiplexer multiplexer;<a name="line.445"></a>
+<span class="sourceLineNo">446</span>    private final AtomicLong totalFailedPutCount = new AtomicLong(0);<a name="line.446"></a>
+<span class="sourceLineNo">447</span>    private final AtomicInteger currentProcessingCount = new AtomicInteger(0);<a name="line.447"></a>
+<span class="sourceLineNo">448</span>    private final AtomicAverageCounter averageLatency = new AtomicAverageCounter();<a name="line.448"></a>
+<span class="sourceLineNo">449</span>    private final AtomicLong maxLatency = new AtomicLong(0);<a name="line.449"></a>
+<span class="sourceLineNo">450</span><a name="line.450"></a>
+<span class="sourceLineNo">451</span>    private final AsyncProcess ap;<a name="line.451"></a>
+<span class="sourceLineNo">452</span>    private final List&lt;PutStatus&gt; processingList = new ArrayList&lt;&gt;();<a name="line.452"></a>
+<span class="sourceLineNo">453</span>    private final ScheduledExecutorService executor;<a name="line.453"></a>
+<span class="sourceLineNo">454</span>    private final int maxRetryInQueue;<a name="line.454"></a>
+<span class="sourceLineNo">455</span>    private final AtomicInteger retryInQueue = new AtomicInteger(0);<a name="line.455"></a>
+<span class="sourceLineNo">456</span><a name="line.456"></a>
+<span class="sourceLineNo">457</span>    public FlushWorker(Configuration conf, ClusterConnection conn, HRegionLocation addr,<a name="line.457"></a>
+<span class="sourceLineNo">458</span>        HTableMultiplexer htableMultiplexer, int perRegionServerBufferQueueSize,<a name="line.458"></a>
+<span class="sourceLineNo">459</span>        ExecutorService pool, ScheduledExecutorService executor) {<a name="line.459"></a>
+<span class="sourceLineNo">460</span>      this.addr = addr;<a name="line.460"></a>
+<span class="sourceLineNo">461</span>      this.multiplexer = htableMultiplexer;<a name="line.461"></a>
+<span class="sourceLineNo">462</span>      this.queue = new LinkedBlockingQueue&lt;&gt;(perRegionServerBufferQueueSize);<a name="line.462"></a>
+<span class="sourceLineNo">463</span>      RpcRetryingCallerFactory rpcCallerFactory = RpcRetryingCallerFactory.instantiate(conf);<a name="line.463"></a>
+<span class="sourceLineNo">464</span>      RpcControllerFactory rpcControllerFactory = RpcControllerFactory.instantiate(conf);<a name="line.464"></a>
+<span class="sourceLineNo">465</span>      this.ap = new AsyncProcess(conn, conf, pool, rpcCallerFactory, false, rpcControllerFactory);<a name="line.465"></a>
+<span class="sourceLineNo">466</span>      this.executor = executor;<a name="line.466"></a>
+<span class="sourceLineNo">467</span>      this.maxRetryInQueue = conf.getInt(TABLE_MULTIPLEXER_MAX_RETRIES_IN_QUEUE, 10000);<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>    protected LinkedBlockingQueue&lt;PutStatus&gt; getQueue() {<a name="line.470"></a>
+<span class="sourceLineNo">471</span>      return

<TRUNCATED>

[17/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html
deleted file mode 100644
index d266952..0000000
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html
+++ /dev/null
@@ -1,8314 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html lang="en">
-<head>
-<title>Source code</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-</head>
-<body>
-<div class="sourceContainer">
-<pre><span class="sourceLineNo">001</span>/*<a name="line.1"></a>
-<span class="sourceLineNo">002</span> *<a name="line.2"></a>
-<span class="sourceLineNo">003</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.3"></a>
-<span class="sourceLineNo">004</span> * or more contributor license agreements.  See the NOTICE file<a name="line.4"></a>
-<span class="sourceLineNo">005</span> * distributed with this work for additional information<a name="line.5"></a>
-<span class="sourceLineNo">006</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.6"></a>
-<span class="sourceLineNo">007</span> * to you under the Apache License, Version 2.0 (the<a name="line.7"></a>
-<span class="sourceLineNo">008</span> * "License"); you may not use this file except in compliance<a name="line.8"></a>
-<span class="sourceLineNo">009</span> * with the License.  You may obtain a copy of the License at<a name="line.9"></a>
-<span class="sourceLineNo">010</span> *<a name="line.10"></a>
-<span class="sourceLineNo">011</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.11"></a>
-<span class="sourceLineNo">012</span> *<a name="line.12"></a>
-<span class="sourceLineNo">013</span> * Unless required by applicable law or agreed to in writing, software<a name="line.13"></a>
-<span class="sourceLineNo">014</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.14"></a>
-<span class="sourceLineNo">015</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.15"></a>
-<span class="sourceLineNo">016</span> * See the License for the specific language governing permissions and<a name="line.16"></a>
-<span class="sourceLineNo">017</span> * limitations under the License.<a name="line.17"></a>
-<span class="sourceLineNo">018</span> */<a name="line.18"></a>
-<span class="sourceLineNo">019</span>package org.apache.hadoop.hbase.regionserver;<a name="line.19"></a>
-<span class="sourceLineNo">020</span><a name="line.20"></a>
-<span class="sourceLineNo">021</span>import java.io.EOFException;<a name="line.21"></a>
-<span class="sourceLineNo">022</span>import java.io.FileNotFoundException;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.io.IOException;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.io.InterruptedIOException;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.lang.reflect.Constructor;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.text.ParseException;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import java.util.AbstractList;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import java.util.ArrayList;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import java.util.Arrays;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import java.util.Collection;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import java.util.Collections;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import java.util.HashMap;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import java.util.HashSet;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import java.util.Iterator;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import java.util.List;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import java.util.ListIterator;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import java.util.Map;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import java.util.Map.Entry;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import java.util.NavigableMap;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import java.util.NavigableSet;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import java.util.RandomAccess;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import java.util.Set;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import java.util.TreeMap;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import java.util.concurrent.Callable;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import java.util.concurrent.CompletionService;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import java.util.concurrent.ConcurrentMap;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import java.util.concurrent.ConcurrentSkipListMap;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import java.util.concurrent.ExecutionException;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import java.util.concurrent.ExecutorCompletionService;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import java.util.concurrent.ExecutorService;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import java.util.concurrent.Executors;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import java.util.concurrent.Future;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import java.util.concurrent.FutureTask;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import java.util.concurrent.ThreadFactory;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import java.util.concurrent.ThreadPoolExecutor;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import java.util.concurrent.TimeUnit;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import java.util.concurrent.TimeoutException;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import java.util.concurrent.atomic.AtomicBoolean;<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.atomic.AtomicLong;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import java.util.concurrent.locks.Lock;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import java.util.concurrent.locks.ReadWriteLock;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import java.util.concurrent.locks.ReentrantReadWriteLock;<a name="line.64"></a>
-<span class="sourceLineNo">065</span><a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.commons.logging.Log;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.commons.logging.LogFactory;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.conf.Configuration;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.fs.FileStatus;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.fs.FileSystem;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.fs.Path;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.ArrayBackedTag;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.Cell;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.CellComparator;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.CompoundConfiguration;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.DroppedSnapshotException;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.HBaseConfiguration;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.HConstants;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.HConstants.OperationStatusCode;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.HDFSBlocksDistribution;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.KeyValue;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.KeyValueUtil;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.RegionTooBusyException;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.ShareableMemory;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.TableName;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.Tag;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.TagRewriteCell;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.TagType;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.TagUtil;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.UnknownScannerException;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.backup.HFileArchiver;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.client.Append;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.client.Durability;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.client.Get;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.client.Increment;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.client.IsolationLevel;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.client.Put;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.client.Result;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.client.RowMutations;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.conf.ConfigurationManager;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.conf.PropagatingConfigurationObserver;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.coprocessor.RegionObserver;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.errorhandling.ForeignExceptionSnare;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.exceptions.FailedSanityCheckException;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.exceptions.RegionInRecoveryException;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.exceptions.UnknownProtocolException;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.filter.ByteArrayComparable;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.filter.FilterWrapper;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.filter.IncompatibleFilterException;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.io.HeapSize;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.io.TimeRange;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.io.hfile.BlockCache;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.io.hfile.CacheConfig;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.io.hfile.HFile;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.ipc.CallerDisconnectedException;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.ipc.RpcCallContext;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.mob.MobUtils;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.monitoring.MonitoredTask;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.protobuf.ResponseConverter;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceCall;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.RegionLoad;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.StoreSequenceId;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor.FlushAction;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor.StoreFlushDescriptor;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor.EventType;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.StoreDescriptor;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.NextState;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.regionserver.compactions.CompactionContext;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.regionserver.throttle.CompactionThroughputControllerFactory;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.regionserver.throttle.NoLimitThroughputController;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.regionserver.throttle.ThroughputController;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.regionserver.wal.HLogKey;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.regionserver.wal.ReplayHLogKey;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.regionserver.wal.WALUtil;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.security.User;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.snapshot.SnapshotDescriptionUtils;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.snapshot.SnapshotManifest;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.util.ByteStringer;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.util.CancelableProgressable;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.util.ClassSize;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.util.CompressionTest;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.util.Counter;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.util.EncryptionTest;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.util.FSTableDescriptors;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.util.HashedBytes;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.Threads;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.wal.WALFactory;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.wal.WALSplitter.MutationReplay;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.io.MultipleIOException;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.util.StringUtils;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.htrace.Trace;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>import org.apache.htrace.TraceScope;<a name="line.186"></a>
-<span class="sourceLineNo">187</span><a name="line.187"></a>
-<span class="sourceLineNo">188</span>import com.google.common.annotations.VisibleForTesting;<a name="line.188"></a>
-<span class="sourceLineNo">189</span>import com.google.common.base.Optional;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>import com.google.common.base.Preconditions;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>import com.google.common.collect.Lists;<a name="line.191"></a>
-<span class="sourceLineNo">192</span>import com.google.common.collect.Maps;<a name="line.192"></a>
-<span class="sourceLineNo">193</span>import com.google.common.io.Closeables;<a name="line.193"></a>
-<span class="sourceLineNo">194</span>import com.google.protobuf.ByteString;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>import com.google.protobuf.Descriptors;<a name="line.195"></a>
-<span class="sourceLineNo">196</span>import com.google.protobuf.Message;<a name="line.196"></a>
-<span class="sourceLineNo">197</span>import com.google.protobuf.RpcCallback;<a name="line.197"></a>
-<span class="sourceLineNo">198</span>import com.google.protobuf.RpcController;<a name="line.198"></a>
-<span class="sourceLineNo">199</span>import com.google.protobuf.Service;<a name="line.199"></a>
-<span class="sourceLineNo">200</span>import com.google.protobuf.TextFormat;<a name="line.200"></a>
-<span class="sourceLineNo">201</span><a name="line.201"></a>
-<span class="sourceLineNo">202</span>@InterfaceAudience.Private<a name="line.202"></a>
-<span class="sourceLineNo">203</span>public class HRegion implements HeapSize, PropagatingConfigurationObserver, Region {<a name="line.203"></a>
-<span class="sourceLineNo">204</span>  private static final Log LOG = LogFactory.getLog(HRegion.class);<a name="line.204"></a>
-<span class="sourceLineNo">205</span><a name="line.205"></a>
-<span class="sourceLineNo">206</span>  public static final String LOAD_CFS_ON_DEMAND_CONFIG_KEY =<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    "hbase.hregion.scan.loadColumnFamiliesOnDemand";<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>   * Longest time we'll wait on a sequenceid.<a name="line.210"></a>
-<span class="sourceLineNo">211</span>   * Sequenceid comes up out of the WAL subsystem. WAL subsystem can go bad or a test might use<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   * it without cleaning up previous usage properly; generally, a WAL roll is needed. The timeout<a name="line.212"></a>
-<span class="sourceLineNo">213</span>   * is for a latch in WALKey. There is no global accounting of outstanding WALKeys; intentionally<a name="line.213"></a>
-<span class="sourceLineNo">214</span>   * to avoid contention, but it makes it so if an abort or problem, we could be stuck waiting<a name="line.214"></a>
-<span class="sourceLineNo">215</span>   * on the WALKey latch. Revisit.<a name="line.215"></a>
-<span class="sourceLineNo">216</span>   */<a name="line.216"></a>
-<span class="sourceLineNo">217</span>  private final int maxWaitForSeqId;<a name="line.217"></a>
-<span class="sourceLineNo">218</span>  private static final String MAX_WAIT_FOR_SEQ_ID_KEY = "hbase.hregion.max.wait.for.sequenceid.ms";<a name="line.218"></a>
-<span class="sourceLineNo">219</span>  private static final int DEFAULT_MAX_WAIT_FOR_SEQ_ID = 30000;<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>   * This is the global default value for durability. All tables/mutations not<a name="line.222"></a>
-<span class="sourceLineNo">223</span>   * defining a durability or using USE_DEFAULT will default to this value.<a name="line.223"></a>
-<span class="sourceLineNo">224</span>   */<a name="line.224"></a>
-<span class="sourceLineNo">225</span>  private static final Durability DEFAULT_DURABILITY = Durability.SYNC_WAL;<a name="line.225"></a>
-<span class="sourceLineNo">226</span><a name="line.226"></a>
-<span class="sourceLineNo">227</span>  final AtomicBoolean closed = new AtomicBoolean(false);<a name="line.227"></a>
-<span class="sourceLineNo">228</span><a name="line.228"></a>
-<span class="sourceLineNo">229</span>  /* Closing can take some time; use the closing flag if there is stuff we don't<a name="line.229"></a>
-<span class="sourceLineNo">230</span>   * want to do while in closing state; e.g. like offer this region up to the<a name="line.230"></a>
-<span class="sourceLineNo">231</span>   * master as a region to close if the carrying regionserver is overloaded.<a name="line.231"></a>
-<span class="sourceLineNo">232</span>   * Once set, it is never cleared.<a name="line.232"></a>
-<span class="sourceLineNo">233</span>   */<a name="line.233"></a>
-<span class="sourceLineNo">234</span>  final AtomicBoolean closing = new AtomicBoolean(false);<a name="line.234"></a>
-<span class="sourceLineNo">235</span><a name="line.235"></a>
-<span class="sourceLineNo">236</span>  /**<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   * The max sequence id of flushed data on this region. There is no edit in memory that is<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   * less that this sequence id.<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   */<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  private volatile long maxFlushedSeqId = HConstants.NO_SEQNUM;<a name="line.240"></a>
-<span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>  /**<a name="line.242"></a>
-<span class="sourceLineNo">243</span>   * Record the sequence id of last flush operation. Can be in advance of<a name="line.243"></a>
-<span class="sourceLineNo">244</span>   * {@link #maxFlushedSeqId} when flushing a single column family. In this case,<a name="line.244"></a>
-<span class="sourceLineNo">245</span>   * {@link #maxFlushedSeqId} will be older than the oldest edit in memory.<a name="line.245"></a>
-<span class="sourceLineNo">246</span>   */<a name="line.246"></a>
-<span class="sourceLineNo">247</span>  private volatile long lastFlushOpSeqId = HConstants.NO_SEQNUM;<a name="line.247"></a>
-<span class="sourceLineNo">248</span><a name="line.248"></a>
-<span class="sourceLineNo">249</span>  /**<a name="line.249"></a>
-<span class="sourceLineNo">250</span>   * The sequence id of the last replayed open region event from the primary region. This is used<a name="line.250"></a>
-<span class="sourceLineNo">251</span>   * to skip entries before this due to the possibility of replay edits coming out of order from<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * replication.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  protected volatile long lastReplayedOpenRegionSeqId = -1L;<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  protected volatile long lastReplayedCompactionSeqId = -1L;<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>  // Members<a name="line.258"></a>
-<span class="sourceLineNo">259</span>  //////////////////////////////////////////////////////////////////////////////<a name="line.259"></a>
-<span class="sourceLineNo">260</span><a name="line.260"></a>
-<span class="sourceLineNo">261</span>  // map from a locked row to the context for that lock including:<a name="line.261"></a>
-<span class="sourceLineNo">262</span>  // - CountDownLatch for threads waiting on that row<a name="line.262"></a>
-<span class="sourceLineNo">263</span>  // - the thread that owns the lock (allow reentrancy)<a name="line.263"></a>
-<span class="sourceLineNo">264</span>  // - reference count of (reentrant) locks held by the thread<a name="line.264"></a>
-<span class="sourceLineNo">265</span>  // - the row itself<a name="line.265"></a>
-<span class="sourceLineNo">266</span>  private final ConcurrentHashMap&lt;HashedBytes, RowLockContext&gt; lockedRows =<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      new ConcurrentHashMap&lt;HashedBytes, RowLockContext&gt;();<a name="line.267"></a>
-<span class="sourceLineNo">268</span><a name="line.268"></a>
-<span class="sourceLineNo">269</span>  protected final Map&lt;byte[], Store&gt; stores = new ConcurrentSkipListMap&lt;byte[], Store&gt;(<a name="line.269"></a>
-<span class="sourceLineNo">270</span>      Bytes.BYTES_RAWCOMPARATOR);<a name="line.270"></a>
-<span class="sourceLineNo">271</span><a name="line.271"></a>
-<span class="sourceLineNo">272</span>  // TODO: account for each registered handler in HeapSize computation<a name="line.272"></a>
-<span class="sourceLineNo">273</span>  private Map&lt;String, Service&gt; coprocessorServiceHandlers = Maps.newHashMap();<a name="line.273"></a>
-<span class="sourceLineNo">274</span><a name="line.274"></a>
-<span class="sourceLineNo">275</span>  private final AtomicLong memstoreSize = new AtomicLong(0);<a name="line.275"></a>
-<span class="sourceLineNo">276</span><a name="line.276"></a>
-<span class="sourceLineNo">277</span>  // Debug possible data loss due to WAL off<a name="line.277"></a>
-<span class="sourceLineNo">278</span>  final Counter numMutationsWithoutWAL = new Counter();<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  final Counter dataInMemoryWithoutWAL = new Counter();<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  // Debug why CAS operations are taking a while.<a name="line.281"></a>
-<span class="sourceLineNo">282</span>  final Counter checkAndMutateChecksPassed = new Counter();<a name="line.282"></a>
-<span class="sourceLineNo">283</span>  final Counter checkAndMutateChecksFailed = new Counter();<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>  //Number of requests<a name="line.285"></a>
-<span class="sourceLineNo">286</span>  final Counter readRequestsCount = new Counter();<a name="line.286"></a>
-<span class="sourceLineNo">287</span>  final Counter filteredReadRequestsCount = new Counter();<a name="line.287"></a>
-<span class="sourceLineNo">288</span>  final Counter writeRequestsCount = new Counter();<a name="line.288"></a>
-<span class="sourceLineNo">289</span><a name="line.289"></a>
-<span class="sourceLineNo">290</span>  // Number of requests blocked by memstore size.<a name="line.290"></a>
-<span class="sourceLineNo">291</span>  private final Counter blockedRequestsCount = new Counter();<a name="line.291"></a>
-<span class="sourceLineNo">292</span><a name="line.292"></a>
-<span class="sourceLineNo">293</span>  // Compaction counters<a name="line.293"></a>
-<span class="sourceLineNo">294</span>  final AtomicLong compactionsFinished = new AtomicLong(0L);<a name="line.294"></a>
-<span class="sourceLineNo">295</span>  final AtomicLong compactionNumFilesCompacted = new AtomicLong(0L);<a name="line.295"></a>
-<span class="sourceLineNo">296</span>  final AtomicLong compactionNumBytesCompacted = new AtomicLong(0L);<a name="line.296"></a>
-<span class="sourceLineNo">297</span><a name="line.297"></a>
-<span class="sourceLineNo">298</span>  private final WAL wal;<a name="line.298"></a>
-<span class="sourceLineNo">299</span>  private final HRegionFileSystem fs;<a name="line.299"></a>
-<span class="sourceLineNo">300</span>  protected final Configuration conf;<a name="line.300"></a>
-<span class="sourceLineNo">301</span>  private final Configuration baseConf;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  private final int rowLockWaitDuration;<a name="line.302"></a>
-<span class="sourceLineNo">303</span>  private CompactedHFilesDischarger compactedFileDischarger;<a name="line.303"></a>
-<span class="sourceLineNo">304</span>  static final int DEFAULT_ROWLOCK_WAIT_DURATION = 30000;<a name="line.304"></a>
-<span class="sourceLineNo">305</span><a name="line.305"></a>
-<span class="sourceLineNo">306</span>  // The internal wait duration to acquire a lock before read/update<a name="line.306"></a>
-<span class="sourceLineNo">307</span>  // from the region. It is not per row. The purpose of this wait time<a name="line.307"></a>
-<span class="sourceLineNo">308</span>  // is to avoid waiting a long time while the region is busy, so that<a name="line.308"></a>
-<span class="sourceLineNo">309</span>  // we can release the IPC handler soon enough to improve the<a name="line.309"></a>
-<span class="sourceLineNo">310</span>  // availability of the region server. It can be adjusted by<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  // tuning configuration "hbase.busy.wait.duration".<a name="line.311"></a>
-<span class="sourceLineNo">312</span>  final long busyWaitDuration;<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  static final long DEFAULT_BUSY_WAIT_DURATION = HConstants.DEFAULT_HBASE_RPC_TIMEOUT;<a name="line.313"></a>
-<span class="sourceLineNo">314</span><a name="line.314"></a>
-<span class="sourceLineNo">315</span>  // If updating multiple rows in one call, wait longer,<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  // i.e. waiting for busyWaitDuration * # of rows. However,<a name="line.316"></a>
-<span class="sourceLineNo">317</span>  // we can limit the max multiplier.<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  final int maxBusyWaitMultiplier;<a name="line.318"></a>
-<span class="sourceLineNo">319</span><a name="line.319"></a>
-<span class="sourceLineNo">320</span>  // Max busy wait duration. There is no point to wait longer than the RPC<a name="line.320"></a>
-<span class="sourceLineNo">321</span>  // purge timeout, when a RPC call will be terminated by the RPC engine.<a name="line.321"></a>
-<span class="sourceLineNo">322</span>  final long maxBusyWaitDuration;<a name="line.322"></a>
-<span class="sourceLineNo">323</span><a name="line.323"></a>
-<span class="sourceLineNo">324</span>  // negative number indicates infinite timeout<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  static final long DEFAULT_ROW_PROCESSOR_TIMEOUT = 60 * 1000L;<a name="line.325"></a>
-<span class="sourceLineNo">326</span>  final ExecutorService rowProcessorExecutor = Executors.newCachedThreadPool();<a name="line.326"></a>
-<span class="sourceLineNo">327</span><a name="line.327"></a>
-<span class="sourceLineNo">328</span>  private final ConcurrentHashMap&lt;RegionScanner, Long&gt; scannerReadPoints;<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>   * The sequence ID that was encountered when this region was opened.<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   */<a name="line.332"></a>
-<span class="sourceLineNo">333</span>  private long openSeqNum = HConstants.NO_SEQNUM;<a name="line.333"></a>
-<span class="sourceLineNo">334</span><a name="line.334"></a>
-<span class="sourceLineNo">335</span>  /**<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   * The default setting for whether to enable on-demand CF loading for<a name="line.336"></a>
-<span class="sourceLineNo">337</span>   * scan requests to this region. Requests can override it.<a name="line.337"></a>
-<span class="sourceLineNo">338</span>   */<a name="line.338"></a>
-<span class="sourceLineNo">339</span>  private boolean isLoadingCfsOnDemandDefault = false;<a name="line.339"></a>
-<span class="sourceLineNo">340</span><a name="line.340"></a>
-<span class="sourceLineNo">341</span>  private final AtomicInteger majorInProgress = new AtomicInteger(0);<a name="line.341"></a>
-<span class="sourceLineNo">342</span>  private final AtomicInteger minorInProgress = new AtomicInteger(0);<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>  // Context: During replay we want to ensure that we do not lose any data. So, we<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  // have to be conservative in how we replay wals. For each store, we calculate<a name="line.346"></a>
-<span class="sourceLineNo">347</span>  // the maxSeqId up to which the store was flushed. And, skip the edits which<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  // are equal to or lower than maxSeqId for each store.<a name="line.348"></a>
-<span class="sourceLineNo">349</span>  // The following map is populated when opening the region<a name="line.349"></a>
-<span class="sourceLineNo">350</span>  Map&lt;byte[], Long&gt; maxSeqIdInStores = new TreeMap&lt;byte[], Long&gt;(Bytes.BYTES_COMPARATOR);<a name="line.350"></a>
-<span class="sourceLineNo">351</span><a name="line.351"></a>
-<span class="sourceLineNo">352</span>  /** Saved state from replaying prepare flush cache */<a name="line.352"></a>
-<span class="sourceLineNo">353</span>  private PrepareFlushResult prepareFlushResult = null;<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>   * Config setting for whether to allow writes when a region is in recovering or not.<a name="line.356"></a>
-<span class="sourceLineNo">357</span>   */<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  private boolean disallowWritesInRecovering = false;<a name="line.358"></a>
-<span class="sourceLineNo">359</span><a name="line.359"></a>
-<span class="sourceLineNo">360</span>  // when a region is in recovering state, it can only accept writes not reads<a name="line.360"></a>
-<span class="sourceLineNo">361</span>  private volatile boolean recovering = false;<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>  private volatile Optional&lt;ConfigurationManager&gt; configurationManager;<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>   * @return The smallest mvcc readPoint across all the scanners in this<a name="line.366"></a>
-<span class="sourceLineNo">367</span>   * region. Writes older than this readPoint, are included in every<a name="line.367"></a>
-<span class="sourceLineNo">368</span>   * read operation.<a name="line.368"></a>
-<span class="sourceLineNo">369</span>   */<a name="line.369"></a>
-<span class="sourceLineNo">370</span>  public long getSmallestReadPoint() {<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    long minimumReadPoint;<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    // We need to ensure that while we are calculating the smallestReadPoint<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    // no new RegionScanners can grab a readPoint that we are unaware of.<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    // We achieve this by synchronizing on the scannerReadPoints object.<a name="line.374"></a>
-<span class="sourceLineNo">375</span>    synchronized(scannerReadPoints) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>      minimumReadPoint = mvcc.getReadPoint();<a name="line.376"></a>
-<span class="sourceLineNo">377</span><a name="line.377"></a>
-<span class="sourceLineNo">378</span>      for (Long readPoint: this.scannerReadPoints.values()) {<a name="line.378"></a>
-<span class="sourceLineNo">379</span>        if (readPoint &lt; minimumReadPoint) {<a name="line.379"></a>
-<span class="sourceLineNo">380</span>          minimumReadPoint = readPoint;<a name="line.380"></a>
-<span class="sourceLineNo">381</span>        }<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      }<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    }<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    return minimumReadPoint;<a name="line.384"></a>
-<span class="sourceLineNo">385</span>  }<a name="line.385"></a>
-<span class="sourceLineNo">386</span><a name="line.386"></a>
-<span class="sourceLineNo">387</span>  /*<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * Data structure of write state flags used coordinating flushes,<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   * compactions and closes.<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   */<a name="line.390"></a>
-<span class="sourceLineNo">391</span>  static class WriteState {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    // Set while a memstore flush is happening.<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    volatile boolean flushing = false;<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    // Set when a flush has been requested.<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    volatile boolean flushRequested = false;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    // Number of compactions running.<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    AtomicInteger compacting = new AtomicInteger(0);<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    // Gets set in close. If set, cannot compact or flush again.<a name="line.398"></a>
-<span class="sourceLineNo">399</span>    volatile boolean writesEnabled = true;<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    // Set if region is read-only<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    volatile boolean readOnly = false;<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    // whether the reads are enabled. This is different than readOnly, because readOnly is<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    // static in the lifetime of the region, while readsEnabled is dynamic<a name="line.403"></a>
-<span class="sourceLineNo">404</span>    volatile boolean readsEnabled = true;<a name="line.404"></a>
-<span class="sourceLineNo">405</span><a name="line.405"></a>
-<span class="sourceLineNo">406</span>    /**<a name="line.406"></a>
-<span class="sourceLineNo">407</span>     * Set flags that make this region read-only.<a name="line.407"></a>
-<span class="sourceLineNo">408</span>     *<a name="line.408"></a>
-<span class="sourceLineNo">409</span>     * @param onOff flip value for region r/o setting<a name="line.409"></a>
-<span class="sourceLineNo">410</span>     */<a name="line.410"></a>
-<span class="sourceLineNo">411</span>    synchronized void setReadOnly(final boolean onOff) {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      this.writesEnabled = !onOff;<a name="line.412"></a>
-<span class="sourceLineNo">413</span>      this.readOnly = onOff;<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>    boolean isReadOnly() {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      return this.readOnly;<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>    boolean isFlushRequested() {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>      return this.flushRequested;<a name="line.421"></a>
-<span class="sourceLineNo">422</span>    }<a name="line.422"></a>
-<span class="sourceLineNo">423</span><a name="line.423"></a>
-<span class="sourceLineNo">424</span>    void setReadsEnabled(boolean readsEnabled) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span>      this.readsEnabled = readsEnabled;<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    }<a name="line.426"></a>
-<span class="sourceLineNo">427</span><a name="line.427"></a>
-<span class="sourceLineNo">428</span>    static final long HEAP_SIZE = ClassSize.align(<a name="line.428"></a>
-<span class="sourceLineNo">429</span>        ClassSize.OBJECT + 5 * Bytes.SIZEOF_BOOLEAN);<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  }<a name="line.430"></a>
-<span class="sourceLineNo">431</span><a name="line.431"></a>
-<span class="sourceLineNo">432</span>  /**<a name="line.432"></a>
-<span class="sourceLineNo">433</span>   * Objects from this class are created when flushing to describe all the different states that<a name="line.433"></a>
-<span class="sourceLineNo">434</span>   * that method ends up in. The Result enum describes those states. The sequence id should only<a name="line.434"></a>
-<span class="sourceLineNo">435</span>   * be specified if the flush was successful, and the failure message should only be specified<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   * if it didn't flush.<a name="line.436"></a>
-<span class="sourceLineNo">437</span>   */<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  public static class FlushResultImpl implements FlushResult {<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    final Result result;<a name="line.439"></a>
-<span class="sourceLineNo">440</span>    final String failureReason;<a name="line.440"></a>
-<span class="sourceLineNo">441</span>    final long flushSequenceId;<a name="line.441"></a>
-<span class="sourceLineNo">442</span>    final boolean wroteFlushWalMarker;<a name="line.442"></a>
-<span class="sourceLineNo">443</span><a name="line.443"></a>
-<span class="sourceLineNo">444</span>    /**<a name="line.444"></a>
-<span class="sourceLineNo">445</span>     * Convenience constructor to use when the flush is successful, the failure message is set to<a name="line.445"></a>
-<span class="sourceLineNo">446</span>     * null.<a name="line.446"></a>
-<span class="sourceLineNo">447</span>     * @param result Expecting FLUSHED_NO_COMPACTION_NEEDED or FLUSHED_COMPACTION_NEEDED.<a name="line.447"></a>
-<span class="sourceLineNo">448</span>     * @param flushSequenceId Generated sequence id that comes right after the edits in the<a name="line.448"></a>
-<span class="sourceLineNo">449</span>     *                        memstores.<a name="line.449"></a>
-<span class="sourceLineNo">450</span>     */<a name="line.450"></a>
-<span class="sourceLineNo">451</span>    FlushResultImpl(Result result, long flushSequenceId) {<a name="line.451"></a>
-<span class="sourceLineNo">452</span>      this(result, flushSequenceId, null, false);<a name="line.452"></a>
-<span class="sourceLineNo">453</span>      assert result == Result.FLUSHED_NO_COMPACTION_NEEDED || result == Result<a name="line.453"></a>
-<span class="sourceLineNo">454</span>          .FLUSHED_COMPACTION_NEEDED;<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>     * Convenience constructor to use when we cannot flush.<a name="line.458"></a>
-<span class="sourceLineNo">459</span>     * @param result Expecting CANNOT_FLUSH_MEMSTORE_EMPTY or CANNOT_FLUSH.<a name="line.459"></a>
-<span class="sourceLineNo">460</span>     * @param failureReason Reason why we couldn't flush.<a name="line.460"></a>
-<span class="sourceLineNo">461</span>     */<a name="line.461"></a>
-<span class="sourceLineNo">462</span>    FlushResultImpl(Result result, String failureReason, boolean wroteFlushMarker) {<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      this(result, -1, failureReason, wroteFlushMarker);<a name="line.463"></a>
-<span class="sourceLineNo">464</span>      assert result == Result.CANNOT_FLUSH_MEMSTORE_EMPTY || result == Result.CANNOT_FLUSH;<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>    /**<a name="line.467"></a>
-<span class="sourceLineNo">468</span>     * Constructor with all the parameters.<a name="line.468"></a>
-<span class="sourceLineNo">469</span>     * @param result Any of the Result.<a name="line.469"></a>
-<span class="sourceLineNo">470</span>     * @param flushSequenceId Generated sequence id if the memstores were flushed else -1.<a name="line.470"></a>
-<span class="sourceLineNo">471</span>     * @param failureReason Reason why we couldn't flush, or null.<a name="line.471"></a>
-<span class="sourceLineNo">472</span>     */<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    FlushResultImpl(Result result, long flushSequenceId, String failureReason,<a name="line.473"></a>
-<span class="sourceLineNo">474</span>      boolean wroteFlushMarker) {<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      this.result = result;<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      this.flushSequenceId = flushSequenceId;<a name="line.476"></a>
-<span class="sourceLineNo">477</span>      this.failureReason = failureReason;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      this.wroteFlushWalMarker = wroteFlushMarker;<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>     * Convenience method, the equivalent of checking if result is<a name="line.482"></a>
-<span class="sourceLineNo">483</span>     * FLUSHED_NO_COMPACTION_NEEDED or FLUSHED_NO_COMPACTION_NEEDED.<a name="line.483"></a>
-<span class="sourceLineNo">484</span>     * @return true if the memstores were flushed, else false.<a name="line.484"></a>
-<span class="sourceLineNo">485</span>     */<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    @Override<a name="line.486"></a>
-<span class="sourceLineNo">487</span>    public boolean isFlushSucceeded() {<a name="line.487"></a>
-<span class="sourceLineNo">488</span>      return result == Result.FLUSHED_NO_COMPACTION_NEEDED || result == Result<a name="line.488"></a>
-<span class="sourceLineNo">489</span>          .FLUSHED_COMPACTION_NEEDED;<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    }<a name="line.490"></a>
-<span class="sourceLineNo">491</span><a name="line.491"></a>
-<span class="sourceLineNo">492</span>    /**<a name="line.492"></a>
-<span class="sourceLineNo">493</span>     * Convenience method, the equivalent of checking if result is FLUSHED_COMPACTION_NEEDED.<a name="line.493"></a>
-<span class="sourceLineNo">494</span>     * @return True if the flush requested a compaction, else false (doesn't even mean it flushed).<a name="line.494"></a>
-<span class="sourceLineNo">495</span>     */<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    @Override<a name="line.496"></a>
-<span class="sourceLineNo">497</span>    public boolean isCompactionNeeded() {<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      return result == Result.FLUSHED_COMPACTION_NEEDED;<a name="line.498"></a>
-<span class="sourceLineNo">499</span>    }<a name="line.499"></a>
-<span class="sourceLineNo">500</span><a name="line.500"></a>
-<span class="sourceLineNo">501</span>    @Override<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    public String toString() {<a name="line.502"></a>
-<span class="sourceLineNo">503</span>      return new StringBuilder()<a name="line.503"></a>
-<span class="sourceLineNo">504</span>        .append("flush result:").append(result).append(", ")<a name="line.504"></a>
-<span class="sourceLineNo">505</span>        .append("failureReason:").append(failureReason).append(",")<a name="line.505"></a>
-<span class="sourceLineNo">506</span>        .append("flush seq id").append(flushSequenceId).toString();<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    }<a name="line.507"></a>
-<span class="sourceLineNo">508</span><a name="line.508"></a>
-<span class="sourceLineNo">509</span>    @Override<a name="line.509"></a>
-<span class="sourceLineNo">510</span>    public Result getResult() {<a name="line.510"></a>
-<span class="sourceLineNo">511</span>      return result;<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><a name="line.514"></a>
-<span class="sourceLineNo">515</span>  /** A result object from prepare flush cache stage */<a name="line.515"></a>
-<span class="sourceLineNo">516</span>  @VisibleForTesting<a name="line.516"></a>
-<span class="sourceLineNo">517</span>  static class PrepareFlushResult {<a name="line.517"></a>
-<span class="sourceLineNo">518</span>    final FlushResult result; // indicating a failure result from prepare<a name="line.518"></a>
-<span class="sourceLineNo">519</span>    final TreeMap&lt;byte[], StoreFlushContext&gt; storeFlushCtxs;<a name="line.519"></a>
-<span class="sourceLineNo">520</span>    final TreeMap&lt;byte[], List&lt;Path&gt;&gt; committedFiles;<a name="line.520"></a>
-<span class="sourceLineNo">521</span>    final TreeMap&lt;byte[], Long&gt; storeFlushableSize;<a name="line.521"></a>
-<span class="sourceLineNo">522</span>    final long startTime;<a name="line.522"></a>
-<span class="sourceLineNo">523</span>    final long flushOpSeqId;<a name="line.523"></a>
-<span class="sourceLineNo">524</span>    final long flushedSeqId;<a name="line.524"></a>
-<span class="sourceLineNo">525</span>    final long totalFlushableSize;<a name="line.525"></a>
-<span class="sourceLineNo">526</span><a name="line.526"></a>
-<span class="sourceLineNo">527</span>    /** Constructs an early exit case */<a name="line.527"></a>
-<span class="sourceLineNo">528</span>    PrepareFlushResult(FlushResult result, long flushSeqId) {<a name="line.528"></a>
-<span class="sourceLineNo">529</span>      this(result, null, null, null, Math.max(0, flushSeqId), 0, 0, 0);<a name="line.529"></a>
-<span class="sourceLineNo">530</span>    }<a name="line.530"></a>
-<span class="sourceLineNo">531</span><a name="line.531"></a>
-<span class="sourceLineNo">532</span>    /** Constructs a successful prepare flush result */<a name="line.532"></a>
-<span class="sourceLineNo">533</span>    PrepareFlushResult(<a name="line.533"></a>
-<span class="sourceLineNo">534</span>      TreeMap&lt;byte[], StoreFlushContext&gt; storeFlushCtxs,<a name="line.534"></a>
-<span class="sourceLineNo">535</span>      TreeMap&lt;byte[], List&lt;Path&gt;&gt; committedFiles,<a name="line.535"></a>
-<span class="sourceLineNo">536</span>      TreeMap&lt;byte[], Long&gt; storeFlushableSize, long startTime, long flushSeqId,<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      long flushedSeqId, long totalFlushableSize) {<a name="line.537"></a>
-<span class="sourceLineNo">538</span>      this(null, storeFlushCtxs, committedFiles, storeFlushableSize, startTime,<a name="line.538"></a>
-<span class="sourceLineNo">539</span>        flushSeqId, flushedSeqId, totalFlushableSize);<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>    private PrepareFlushResult(<a name="line.542"></a>
-<span class="sourceLineNo">543</span>      FlushResult result,<a name="line.543"></a>
-<span class="sourceLineNo">544</span>      TreeMap&lt;byte[], StoreFlushContext&gt; storeFlushCtxs,<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      TreeMap&lt;byte[], List&lt;Path&gt;&gt; committedFiles,<a name="line.545"></a>
-<span class="sourceLineNo">546</span>      TreeMap&lt;byte[], Long&gt; storeFlushableSize, long startTime, long flushSeqId,<a name="line.546"></a>
-<span class="sourceLineNo">547</span>      long flushedSeqId, long totalFlushableSize) {<a name="line.547"></a>
-<span class="sourceLineNo">548</span>      this.result = result;<a name="line.548"></a>
-<span class="sourceLineNo">549</span>      this.storeFlushCtxs = storeFlushCtxs;<a name="line.549"></a>
-<span class="sourceLineNo">550</span>      this.committedFiles = committedFiles;<a name="line.550"></a>
-<span class="sourceLineNo">551</span>      this.storeFlushableSize = storeFlushableSize;<a name="line.551"></a>
-<span class="sourceLineNo">552</span>      this.startTime = startTime;<a name="line.552"></a>
-<span class="sourceLineNo">553</span>      this.flushOpSeqId = flushSeqId;<a name="line.553"></a>
-<span class="sourceLineNo">554</span>      this.flushedSeqId = flushedSeqId;<a name="line.554"></a>
-<span class="sourceLineNo">555</span>      this.totalFlushableSize = totalFlushableSize;<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>    public FlushResult getResult() {<a name="line.558"></a>
-<span class="sourceLineNo">559</span>      return this.result;<a name="line.559"></a>
-<span class="sourceLineNo">560</span>    }<a name="line.560"></a>
-<span class="sourceLineNo">561</span>  }<a name="line.561"></a>
-<span class="sourceLineNo">562</span><a name="line.562"></a>
-<span class="sourceLineNo">563</span>  final WriteState writestate = new WriteState();<a name="line.563"></a>
-<span class="sourceLineNo">564</span><a name="line.564"></a>
-<span class="sourceLineNo">565</span>  long memstoreFlushSize;<a name="line.565"></a>
-<span class="sourceLineNo">566</span>  final long timestampSlop;<a name="line.566"></a>
-<span class="sourceLineNo">567</span>  final long rowProcessorTimeout;<a name="line.567"></a>
-<span class="sourceLineNo">568</span><a name="line.568"></a>
-<span class="sourceLineNo">569</span>  // Last flush time for each Store. Useful when we are flushing for each column<a name="line.569"></a>
-<span class="sourceLineNo">570</span>  private final ConcurrentMap&lt;Store, Long&gt; lastStoreFlushTimeMap =<a name="line.570"></a>
-<span class="sourceLineNo">571</span>      new ConcurrentHashMap&lt;Store, Long&gt;();<a name="line.571"></a>
-<span class="sourceLineNo">572</span><a name="line.572"></a>
-<span class="sourceLineNo">573</span>  final RegionServerServices rsServices;<a name="line.573"></a>
-<span class="sourceLineNo">574</span>  private RegionServerAccounting rsAccounting;<a name="line.574"></a>
-<span class="sourceLineNo">575</span>  private long flushCheckInterval;<a name="line.575"></a>
-<span class="sourceLineNo">576</span>  // flushPerChanges is to prevent too many changes in memstore<a name="line.576"></a>
-<span class="sourceLineNo">577</span>  private long flushPerChanges;<a name="line.577"></a>
-<span class="sourceLineNo">578</span>  private long blockingMemStoreSize;<a name="line.578"></a>
-<span class="sourceLineNo">579</span>  final long threadWakeFrequency;<a name="line.579"></a>
-<span class="sourceLineNo">580</span>  // Used to guard closes<a name="line.580"></a>
-<span class="sourceLineNo">581</span>  final ReentrantReadWriteLock lock = new ReentrantReadWriteLock();<a name="line.581"></a>
-<span class="sourceLineNo">582</span><a name="line.582"></a>
-<span class="sourceLineNo">583</span>  // Stop updates lock<a name="line.583"></a>
-<span class="sourceLineNo">584</span>  private final ReentrantReadWriteLock updatesLock = new ReentrantReadWriteLock();<a name="line.584"></a>
-<span class="sourceLineNo">585</span>  private boolean splitRequest;<a name="line.585"></a>
-<span class="sourceLineNo">586</span>  private byte[] explicitSplitPoint = null;<a name="line.586"></a>
-<span class="sourceLineNo">587</span><a name="line.587"></a>
-<span class="sourceLineNo">588</span>  private final MultiVersionConcurrencyControl mvcc = new MultiVersionConcurrencyControl();<a name="line.588"></a>
-<span class="sourceLineNo">589</span><a name="line.589"></a>
-<span class="sourceLineNo">590</span>  // Coprocessor host<a name="line.590"></a>
-<span class="sourceLineNo">591</span>  private RegionCoprocessorHost coprocessorHost;<a name="line.591"></a>
-<span class="sourceLineNo">592</span><a name="line.592"></a>
-<span class="sourceLineNo">593</span>  private HTableDescriptor htableDescriptor = null;<a name="line.593"></a>
-<span class="sourceLineNo">594</span>  private RegionSplitPolicy splitPolicy;<a name="line.594"></a>
-<span class="sourceLineNo">595</span>  private FlushPolicy flushPolicy;<a name="line.595"></a>
-<span class="sourceLineNo">596</span><a name="line.596"></a>
-<span class="sourceLineNo">597</span>  private final MetricsRegion metricsRegion;<a name="line.597"></a>
-<span class="sourceLineNo">598</span>  private final MetricsRegionWrapperImpl metricsRegionWrapper;<a name="line.598"></a>
-<span class="sourceLineNo">599</span>  private final Durability durability;<a name="line.599"></a>
-<span class="sourceLineNo">600</span>  private final boolean regionStatsEnabled;<a name="line.600"></a>
-<span class="sourceLineNo">601</span><a name="line.601"></a>
-<span class="sourceLineNo">602</span>  /**<a name="line.602"></a>
-<span class="sourceLineNo">603</span>   * HRegion constructor. This constructor should only be used for testing and<a name="line.603"></a>
-<span class="sourceLineNo">604</span>   * extensions.  Instances of HRegion should be instantiated with the<a name="line.604"></a>
-<span class="sourceLineNo">605</span>   * {@link HRegion#createHRegion} or {@link HRegion#openHRegion} method.<a name="line.605"></a>
-<span class="sourceLineNo">606</span>   *<a name="line.606"></a>
-<span class="sourceLineNo">607</span>   * @param tableDir qualified path of directory where region should be located,<a name="line.607"></a>
-<span class="sourceLineNo">608</span>   * usually the table directory.<a name="line.608"></a>
-<span class="sourceLineNo">609</span>   * @param wal The WAL is the outbound log for any updates to the HRegion<a name="line.609"></a>
-<span class="sourceLineNo">610</span>   * The wal file is a logfile from the previous execution that's<a name="line.610"></a>
-<span class="sourceLineNo">611</span>   * custom-computed for this HRegion. The HRegionServer computes and sorts the<a name="line.611"></a>
-<span class="sourceLineNo">612</span>   * appropriate wal info for this HRegion. If there is a previous wal file<a name="line.612"></a>
-<span class="sourceLineNo">613</span>   * (implying that the HRegion has been written-to before), then read it from<a name="line.613"></a>
-<span class="sourceLineNo">614</span>   * the supplied path.<a name="line.614"></a>
-<span class="sourceLineNo">615</span>   * @param fs is the filesystem.<a name="line.615"></a>
-<span class="sourceLineNo">616</span>   * @param confParam is global configuration settings.<a name="line.616"></a>
-<span class="sourceLineNo">617</span>   * @param regionInfo - HRegionInfo that describes the region<a name="line.617"></a>
-<span class="sourceLineNo">618</span>   * is new), then read them from the supplied path.<a name="line.618"></a>
-<span class="sourceLineNo">619</span>   * @param htd the table descriptor<a name="line.619"></a>
-<span class="sourceLineNo">620</span>   * @param rsServices reference to {@link RegionServerServices} or null<a name="line.620"></a>
-<span class="sourceLineNo">621</span>   * @deprecated Use other constructors.<a name="line.621"></a>
-<span class="sourceLineNo">622</span>   */<a name="line.622"></a>
-<span class="sourceLineNo">623</span>  @Deprecated<a name="line.623"></a>
-<span class="sourceLineNo">624</span>  @VisibleForTesting<a name="line.624"></a>
-<span class="sourceLineNo">625</span>  public HRegion(final Path tableDir, final WAL wal, final FileSystem fs,<a name="line.625"></a>
-<span class="sourceLineNo">626</span>      final Configuration confParam, final HRegionInfo regionInfo,<a name="line.626"></a>
-<span class="sourceLineNo">627</span>      final HTableDescriptor htd, final RegionServerServices rsServices) {<a name="line.627"></a>
-<span class="sourceLineNo">628</span>    this(new HRegionFileSystem(confParam, fs, tableDir, regionInfo),<a name="line.628"></a>
-<span class="sourceLineNo">629</span>      wal, confParam, htd, rsServices);<a name="line.629"></a>
-<span class="sourceLineNo">630</span>  }<a name="line.630"></a>
-<span class="sourceLineNo">631</span><a name="line.631"></a>
-<span class="sourceLineNo">632</span>  /**<a name="line.632"></a>
-<span class="sourceLineNo">633</span>   * HRegion constructor. This constructor should only be used for testing and<a name="line.633"></a>
-<span class="sourceLineNo">634</span>   * extensions.  Instances of HRegion should be instantiated with the<a name="line.634"></a>
-<span class="sourceLineNo">635</span>   * {@link HRegion#createHRegion} or {@link HRegion#openHRegion} method.<a name="line.635"></a>
-<span class="sourceLineNo">636</span>   *<a name="line.636"></a>
-<span class="sourceLineNo">637</span>   * @param fs is the filesystem.<a name="line.637"></a>
-<span class="sourceLineNo">638</span>   * @param wal The WAL is the outbound log for any updates to the HRegion<a name="line.638"></a>
-<span class="sourceLineNo">639</span>   * The wal file is a logfile from the previous execution that's<a name="line.639"></a>
-<span class="sourceLineNo">640</span>   * custom-computed for this HRegion. The HRegionServer computes and sorts the<a name="line.640"></a>
-<span class="sourceLineNo">641</span>   * appropriate wal info for this HRegion. If there is a previous wal file<a name="line.641"></a>
-<span class="sourceLineNo">642</span>   * (implying that the HRegion has been written-to before), then read it from<a name="line.642"></a>
-<span class="sourceLineNo">643</span>   * the supplied path.<a name="line.643"></a>
-<span class="sourceLineNo">644</span>   * @param confParam is global configuration settings.<a name="line.644"></a>
-<span class="sourceLineNo">645</span>   * @param htd the table descriptor<a name="line.645"></a>
-<span class="sourceLineNo">646</span>   * @param rsServices reference to {@link RegionServerServices} or null<a name="line.646"></a>
-<span class="sourceLineNo">647</span>   */<a name="line.647"></a>
-<span class="sourceLineNo">648</span>  public HRegion(final HRegionFileSystem fs, final WAL wal, final Configuration confParam,<a name="line.648"></a>
-<span class="sourceLineNo">649</span>      final HTableDescriptor htd, final RegionServerServices rsServices) {<a name="line.649"></a>
-<span class="sourceLineNo">650</span>    if (htd == null) {<a name="line.650"></a>
-<span class="sourceLineNo">651</span>      throw new IllegalArgumentException("Need table descriptor");<a name="line.651"></a>
-<span class="sourceLineNo">652</span>    }<a name="line.652"></a>
-<span class="sourceLineNo">653</span><a name="line.653"></a>
-<span class="sourceLineNo">654</span>    if (confParam instanceof CompoundConfiguration) {<a name="line.654"></a>
-<span class="sourceLineNo">655</span>      throw new IllegalArgumentException("Need original base configuration");<a name="line.655"></a>
-<span class="sourceLineNo">656</span>    }<a name="line.656"></a>
-<span class="sourceLineNo">657</span><a name="line.657"></a>
-<span class="sourceLineNo">658</span>    this.wal = wal;<a name="line.658"></a>
-<span class="sourceLineNo">659</span>    this.fs = fs;<a name="line.659"></a>
-<span class="sourceLineNo">660</span><a name="line.660"></a>
-<span class="sourceLineNo">661</span>    // 'conf' renamed to 'confParam' b/c we use this.conf in the constructor<a name="line.661"></a>
-<span class="sourceLineNo">662</span>    this.baseConf = confParam;<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    this.conf = new CompoundConfiguration()<a name="line.663"></a>
-<span class="sourceLineNo">664</span>      .add(confParam)<a name="line.664"></a>
-<span class="sourceLineNo">665</span>      .addStringMap(htd.getConfiguration())<a name="line.665"></a>
-<span class="sourceLineNo">666</span>      .addBytesMap(htd.getValues());<a name="line.666"></a>
-<span class="sourceLineNo">667</span>    this.flushCheckInterval = conf.getInt(MEMSTORE_PERIODIC_FLUSH_INTERVAL,<a name="line.667"></a>
-<span class="sourceLineNo">668</span>        DEFAULT_CACHE_FLUSH_INTERVAL);<a name="line.668"></a>
-<span class="sourceLineNo">669</span>    this.flushPerChanges = conf.getLong(MEMSTORE_FLUSH_PER_CHANGES, DEFAULT_FLUSH_PER_CHANGES);<a name="line.669"></a>
-<span class="sourceLineNo">670</span>    if (this.flushPerChanges &gt; MAX_FLUSH_PER_CHANGES) {<a name="line.670"></a>
-<span class="sourceLineNo">671</span>      throw new IllegalArgumentException(MEMSTORE_FLUSH_PER_CHANGES + " can not exceed "<a name="line.671"></a>
-<span class="sourceLineNo">672</span>          + MAX_FLUSH_PER_CHANGES);<a name="line.672"></a>
-<span class="sourceLineNo">673</span>    }<a name="line.673"></a>
-<span class="sourceLineNo">674</span>    this.rowLockWaitDuration = conf.getInt("hbase.rowlock.wait.duration",<a name="line.674"></a>
-<span class="sourceLineNo">675</span>                    DEFAULT_ROWLOCK_WAIT_DURATION);<a name="line.675"></a>
-<span class="sourceLineNo">676</span><a name="line.676"></a>
-<span class="sourceLineNo">677</span>    this.maxWaitForSeqId = conf.getInt(MAX_WAIT_FOR_SEQ_ID_KEY, DEFAULT_MAX_WAIT_FOR_SEQ_ID);<a name="line.677"></a>
-<span class="sourceLineNo">678</span>    this.isLoadingCfsOnDemandDefault = conf.getBoolean(LOAD_CFS_ON_DEMAND_CONFIG_KEY, true);<a name="line.678"></a>
-<span class="sourceLineNo">679</span>    this.htableDescriptor = htd;<a name="line.679"></a>
-<span class="sourceLineNo">680</span>    this.rsServices = rsServices;<a name="line.680"></a>
-<span class="sourceLineNo">681</span>    this.threadWakeFrequency = conf.getLong(HConstants.THREAD_WAKE_FREQUENCY, 10 * 1000);<a name="line.681"></a>
-<span class="sourceLineNo">682</span>    setHTableSpecificConf();<a name="line.682"></a>
-<span class="sourceLineNo">683</span>    this.scannerReadPoints = new ConcurrentHashMap&lt;RegionScanner, Long&gt;();<a name="line.683"></a>
-<span class="sourceLineNo">684</span><a name="line.684"></a>
-<span class="sourceLineNo">685</span>    this.busyWaitDuration = conf.getLong(<a name="line.685"></a>
-<span class="sourceLineNo">686</span>      "hbase.busy.wait.duration", DEFAULT_BUSY_WAIT_DURATION);<a name="line.686"></a>
-<span class="sourceLineNo">687</span>    this.maxBusyWaitMultiplier = conf.getInt("hbase.busy.wait.multiplier.max", 2);<a name="line.687"></a>
-<span class="sourceLineNo">688</span>    if (busyWaitDuration * maxBusyWaitMultiplier &lt;= 0L) {<a name="line.688"></a>
-<span class="sourceLineNo">689</span>      throw new IllegalArgumentException("Invalid hbase.busy.wait.duration ("<a name="line.689"></a>
-<span class="sourceLineNo">690</span>        + busyWaitDuration + ") or hbase.busy.wait.multiplier.max ("<a name="line.690"></a>
-<span class="sourceLineNo">691</span>        + maxBusyWaitMultiplier + "). Their product should be positive");<a name="line.691"></a>
-<span class="sourceLineNo">692</span>    }<a name="line.692"></a>
-<span class="sourceLineNo">693</span>    this.maxBusyWaitDuration = conf.getLong("hbase.ipc.client.call.purge.timeout",<a name="line.693"></a>
-<span class="sourceLineNo">694</span>      2 * HConstants.DEFAULT_HBASE_RPC_TIMEOUT);<a name="line.694"></a>
-<span class="sourceLineNo">695</span><a name="line.695"></a>
-<span class="sourceLineNo">696</span>    /*<a name="line.696"></a>
-<span class="sourceLineNo">697</span>     * timestamp.slop provides a server-side constraint on the timestamp. This<a name="line.697"></a>
-<span class="sourceLineNo">698</span>     * assumes that you base your TS around currentTimeMillis(). In this case,<a name="line.698"></a>
-<span class="sourceLineNo">699</span>     * throw an error to the user if the user-specified TS is newer than now +<a name="line.699"></a>
-<span class="sourceLineNo">700</span>     * slop. LATEST_TIMESTAMP == don't use this functionality<a name="line.700"></a>
-<span class="sourceLineNo">701</span>     */<a name="line.701"></a>
-<span class="sourceLineNo">702</span>    this.timestampSlop = conf.getLong(<a name="line.702"></a>
-<span class="sourceLineNo">703</span>        "hbase.hregion.keyvalue.timestamp.slop.millisecs",<a name="line.703"></a>
-<span class="sourceLineNo">704</span>        HConstants.LATEST_TIMESTAMP);<a name="line.704"></a>
-<span class="sourceLineNo">705</span><a name="line.705"></a>
-<span class="sourceLineNo">706</span>    /**<a name="line.706"></a>
-<span class="sourceLineNo">707</span>     * Timeout for the process time in processRowsWithLocks().<a name="line.707"></a>
-<span class="sourceLineNo">708</span>     * Use -1 to switch off time bound.<a name="line.708"></a>
-<span class="sourceLineNo">709</span>     */<a name="line.709"></a>
-<span class="sourceLineNo">710</span>    this.rowProcessorTimeout = conf.getLong(<a name="line.710"></a>
-<span class="sourceLineNo">711</span>        "hbase.hregion.row.processor.timeout", DEFAULT_ROW_PROCESSOR_TIMEOUT);<a name="line.711"></a>
-<span class="sourceLineNo">712</span>    this.durability = htd.getDurability() == Durability.USE_DEFAULT<a name="line.712"></a>
-<span class="sourceLineNo">713</span>        ? DEFAULT_DURABILITY<a name="line.713"></a>
-<span class="sourceLineNo">714</span>        : htd.getDurability();<a name="line.714"></a>
-<span class="sourceLineNo">715</span>    if (rsServices != null) {<a name="line.715"></a>
-<span class="sourceLineNo">716</span>      this.rsAccounting = this.rsServices.getRegionServerAccounting();<a name="line.716"></a>
-<span class="sourceLineNo">717</span>      // don't initialize coprocessors if not running within a regionserver<a name="line.717"></a>
-<span class="sourceLineNo">718</span>      // TODO: revisit if coprocessors should load in other cases<a name="line.718"></a>
-<span class="sourceLineNo">719</span>      this.coprocessorHost = new RegionCoprocessorHost(this, rsServices, conf);<a name="line.719"></a>
-<span class="sourceLineNo">720</span>      this.metricsRegionWrapper = new MetricsRegionWrapperImpl(this);<a name="line.720"></a>
-<span class="sourceLineNo">721</span>      this.metricsRegion = new MetricsRegion(this.metricsRegionWrapper);<a name="line.721"></a>
-<span class="sourceLineNo">722</span><a name="line.722"></a>
-<span class="sourceLineNo">723</span>      Map&lt;String, Region&gt; recoveringRegions = rsServices.getRecoveringRegions();<a name="line.723"></a>
-<span class="sourceLineNo">724</span>      String encodedName = getRegionInfo().getEncodedName();<a name="line.724"></a>
-<span class="sourceLineNo">725</span>      if (recoveringRegions != null &amp;&amp; recoveringRegions.containsKey(encodedName)) {<a name="line.725"></a>
-<span class="sourceLineNo">726</span>        this.recovering = true;<a name="line.726"></a>
-<span class="sourceLineNo">727</span>        recoveringRegions.put(encodedName, this);<a name="line.727"></a>
-<span class="sourceLineNo">728</span>      }<a name="line.728"></a>
-<span class="sourceLineNo">729</span>    } else {<a name="line.729"></a>
-<span class="sourceLineNo">730</span>      this.metricsRegionWrapper = null;<a name="line.730"></a>
-<span class="sourceLineNo">731</span>      this.metricsRegion = null;<a name="line.731"></a>
-<span class="sourceLineNo">732</span>    }<a name="line.732"></a>
-<span class="sourceLineNo">733</span>    if (LOG.isDebugEnabled()) {<a name="line.733"></a>
-<span class="sourceLineNo">734</span>      // Write out region name as string and its encoded name.<a name="line.734"></a>
-<span class="sourceLineNo">735</span>      LOG.debug("Instantiated " + this);<a name="line.735"></a>
-<span class="sourceLineNo">736</span>    }<a name="line.736"></a>
-<span class="sourceLineNo">737</span><a name="line.737"></a>
-<span class="sourceLineNo">738</span>    // by default, we allow writes against a region when it's in recovering<a name="line.738"></a>
-<span class="sourceLineNo">739</span>    this.disallowWritesInRecovering =<a name="line.739"></a>
-<span class="sourceLineNo">740</span>        conf.getBoolean(HConstants.DISALLOW_WRITES_IN_RECOVERING,<a name="line.740"></a>
-<span class="sourceLineNo">741</span>          HConstants.DEFAULT_DISALLOW_WRITES_IN_RECOVERING_CONFIG);<a name="line.741"></a>
-<span class="sourceLineNo">742</span>    configurationManager = Optional.absent();<a name="line.742"></a>
-<span class="sourceLineNo">743</span><a name="line.743"></a>
-<span class="sourceLineNo">744</span>    // disable stats tracking system tables, but check the config for everything else<a name="line.744"></a>
-<span class="sourceLineNo">745</span>    this.regionStatsEnabled = htd.getTableName().getNamespaceAsString().equals(<a name="line.745"></a>
-<span class="sourceLineNo">746</span>        NamespaceDescriptor.SYSTEM_NAMESPACE_NAME_STR) ?<a name="line.746"></a>
-<span class="sourceLineNo">747</span>          false :<a name="line.747"></a>
-<span class="sourceLineNo">748</span>          conf.getBoolean(HConstants.ENABLE_CLIENT_BACKPRESSURE,<a name="line.748"></a>
-<span class="sourceLineNo">749</span>              HConstants.DEFAULT_ENABLE_CLIENT_BACKPRESSURE);<a name="line.749"></a>
-<span class="sourceLineNo">750</span>  }<a name="line.750"></a>
-<span class="sourceLineNo">751</span><a name="line.751"></a>
-<span class="sourceLineNo">752</span>  void setHTableSpecificConf() {<a name="line.752"></a>
-<span class="sourceLineNo">753</span>    if (this.htableDescriptor == null) return;<a name="line.753"></a>
-<span class="sourceLineNo">754</span>    long flushSize = this.htableDescriptor.getMemStoreFlushSize();<a name="line.754"></a>
-<span class="sourceLineNo">755</span><a name="line.755"></a>
-<span class="sourceLineNo">756</span>    if (flushSize &lt;= 0) {<a name="line.756"></a>
-<span class="sourceLineNo">757</span>      flushSize = conf.getLong(HConstants.HREGION_MEMSTORE_FLUSH_SIZE,<a name="line.757"></a>
-<span class="sourceLineNo">758</span>        HTableDescriptor.DEFAULT_MEMSTORE_FLUSH_SIZE);<a name="line.758"></a>
-<span class="sourceLineNo">759</span>    }<a name="line.759"></a>
-<span class="sourceLineNo">760</span>    this.memstoreFlushSize = flushSize;<a name="line.760"></a>
-<span class="sourceLineNo">761</span>    this.blockingMemStoreSize = this.memstoreFlushSize *<a name="line.761"></a>
-<span class="sourceLineNo">762</span>        conf.getLong(HConstants.HREGION_MEMSTORE_BLOCK_MULTIPLIER,<a name="line.762"></a>
-<span class="sourceLineNo">763</span>                HConstants.DEFAULT_HREGION_MEMSTORE_BLOCK_MULTIPLIER);<a name="line.763"></a>
-<span class="sourceLineNo">764</span>  }<a name="line.764"></a>
-<span class="sourceLineNo">765</span><a name="line.765"></a>
-<span class="sourceLineNo">766</span>  /**<a name="line.766"></a>
-<span class="sourceLineNo">767</span>   * Initialize this region.<a name="line.767"></a>
-<span class="sourceLineNo">768</span>   * Used only by tests and SplitTransaction to reopen the region.<a name="line.768"></a>
-<span class="sourceLineNo">769</span>   * You should use createHRegion() or openHRegion()<a name="line.769"></a>
-<span class="sourceLineNo">770</span>   * @return What the next sequence (edit) id should be.<a name="line.770"></a>
-<span class="sourceLineNo">771</span>   * @throws IOException e<a name="line.771"></a>
-<span class="sourceLineNo">772</span>   * @deprecated use HRegion.createHRegion() or HRegion.openHRegion()<a name="line.772"></a>
-<span class="sourceLineNo">773</span>   */<a name="line.773"></a>
-<span class="sourceLineNo">774</span>  @Deprecated<a name="line.774"></a>
-<span class="sourceLineNo">775</span>  public long initialize() throws IOException {<a name="line.775"></a>
-<span class="sourceLineNo">776</span>    return initialize(null);<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>  /**<a name="line.779"></a>
-<span class="sourceLineNo">780</span>   * Initialize this region.<a name="line.780"></a>
-<span class="sourceLineNo">781</span>   *<a name="line.781"></a>
-<span class="sourceLineNo">782</span>   * @param reporter Tickle every so often if initialize is taking a while.<a name="line.782"></a>
-<span class="sourceLineNo">783</span>   * @return What the next sequence (edit) id should be.<a name="line.783"></a>
-<span class="sourceLineNo">784</span>   * @throws IOException e<a name="line.784"></a>
-<span class="sourceLineNo">785</span>   */<a name="line.785"></a>
-<span class="sourceLineNo">786</span>  private long initialize(final CancelableProgressable reporter) throws IOException {<a name="line.786"></a>
-<span class="sourceLineNo">787</span>    MonitoredTask status = TaskMonitor.get().createStatus("Initializing region " + this);<a name="line.787"></a>
-<span class="sourceLineNo">788</span>    long nextSeqId = -1;<a name="line.788"></a>
-<span class="sourceLineNo">789</span>    try {<a name="line.789"></a>
-<span class="sourceLineNo">790</span>      nextSeqId = initializeRegionInternals(reporter, status);<a name="line.790"></a>
-<span class="sourceLineNo">791</span>      return nextSeqId;<a name="line.791"></a>
-<span class="sourceLineNo">792</span>    } finally {<a name="line.792"></a>
-<span class="sourceLineNo">793</span>      // nextSeqid will be -1 if the initialization fails.<a name="line.793"></a>
-<span class="sourceLineNo">794</span>      // At least it will be 0 otherwise.<a name="line.794"></a>
-<span class="sourceLineNo">795</span>      if (nextSeqId == -1) {<a name="line.795"></a>
-<span class="sourceLineNo">796</span>        status.abort("Exception during region " + getRegionInfo().getRegionNameAsString() +<a name="line.796"></a>
-<span class="sourceLineNo">797</span>          " initialization.");<a name="line.797"></a>
-<span class="sourceLineNo">798</span>      }<a name="line.798"></a>
-<span class="sourceLineNo">799</span>    }<a name="line.799"></a>
-<span class="sourceLineNo">800</span>  }<a name="line.800"></a>
-<span class="sourceLineNo">801</span><a name="line.801"></a>
-<span class="sourceLineNo">802</span>  private long initializeRegionInternals(final CancelableProgressable reporter,<a name="line.802"></a>
-<span class="sourceLineNo">803</span>      final MonitoredTask status) throws IOException {<a name="line.803"></a>
-<span class="sourceLineNo">804</span>    if (coprocessorHost != null) {<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      status.setStatus("Running coprocessor pre-open hook");<a name="line.805"></a>
-<span class="sourceLineNo">806</span>      coprocessorHost.preOpen();<a name="line.806"></a>
-<span class="sourceLineNo">807</span>    }<a name="line.807"></a>
-<span class="sourceLineNo">808</span><a name="line.808"></a>
-<span class="sourceLineNo">809</span>    // Write HRI to a file in case we need to recover hbase:meta<a name="line.809"></a>
-<span class="sourceLineNo">810</span>    status.setStatus("Writing region info on filesystem");<a name="line.810"></a>
-<span class="sourceLineNo">811</span>    fs.checkRegionInfoOnFilesystem();<a name="line.811"></a>
-<span class="sourceLineNo">812</span><a name="line.812"></a>
-<span class="sourceLineNo">813</span>    // Initialize all the HStores<a name="line.813"></a>
-<span class="sourceLineNo">814</span>    status.setStatus("Initializing all the Stores");<a name="line.814"></a>
-<span class="sourceLineNo">815</span>    long maxSeqId = initializeStores(reporter, status);<a name="line.815"></a>
-<span class="sourceLineNo">816</span>    this.mvcc.advanceTo(maxSeqId);<a name="line.816"></a>
-<span class="sourceLineNo">817</span>    if (ServerRegionReplicaUtil.shouldReplayRecoveredEdits(this)) {<a name="line.817"></a>
-<span class="sourceLineNo">818</span>      // Recover any edits if available.<a name="line.818"></a>
-<span class="sourceLineNo">819</span>      maxSeqId = Math.max(maxSeqId,<a name="line.819"></a>
-<span class="sourceLineNo">820</span>        replayRecoveredEditsIfAny(this.fs.getRegionDir(), maxSeqIdInStores, reporter, status));<a name="line.820"></a>
-<span class="sourceLineNo">821</span>      // Make sure mvcc is up to max.<a name="line.821"></a>
-<span class="sourceLineNo">822</span>      this.mvcc.advanceTo(maxSeqId);<a name="line.822"></a>
-<span class="sourceLineNo">823</span>    }<a name="line.823"></a>
-<span class="sourceLineNo">824</span>    this.lastReplayedOpenRegionSeqId = maxSeqId;<a name="line.824"></a>
-<span class="sourceLineNo">825</span><a name="line.825"></a>
-<span class="sourceLineNo">826</span>    this.writestate.setReadOnly(ServerRegionReplicaUtil.isReadOnly(this));<a name="line.826"></a>
-<span class="sourceLineNo">827</span>    this.writestate.flushRequested = false;<a name="line.827"></a>
-<span class="sourceLineNo">828</span>    this.writestate.compacting.set(0);<a name="line.828"></a>
-<span class="sourceLineNo">829</span><a name="line.829"></a>
-<span class="sourceLineNo">830</span>    if (this.writestate.writesEnabled) {<a name="line.830"></a>
-<span class="sourceLineNo">831</span>      // Remove temporary data left over from old regions<a name="line.831"></a>
-<span class="sourceLineNo">832</span>      status.setStatus("Cleaning up temporary data from old regions");<a name="line.832"></a>
-<span class="sourceLineNo">833</span>      fs.cleanupTempDir();<a name="line.833"></a>
-<span class="sourceLineNo">834</span>    }<a name="line.834"></a>
-<span class="sourceLineNo">835</span><a name="line.835"></a>
-<span class="sourceLineNo">836</span>    if (this.writestate.writesEnabled) {<a name="line.836"></a>
-<span class="sourceLineNo">837</span>      status.setStatus("Cleaning up detritus from prior splits");<a name="line.837"></a>
-<span class="sourceLineNo">838</span>      // Get rid of any splits or merges that were lost in-progress.  Clean out<a name="line.838"></a>
-<span class="sourceLineNo">839</span>      // these directories here on open.  We may be opening a region that was<a name="line.839"></a>
-<span class="sourceLineNo">840</span>      // being split but we crashed in the middle of it all.<a name="line.840"></a>
-<span class="sourceLineNo">841</span>      fs.cleanupAnySplitDetritus();<a name="line.841"></a>
-<span class="sourceLineNo">842</span>      fs.cleanupMergesDir();<a name="line.842"></a>
-<span class="sourceLineNo">843</span>    }<a name="line.843"></a>
-<span class="sourceLineNo">844</span><a name="line.844"></a>
-<span class="sourceLineNo">845</span>    // Initialize split policy<a name="line.845"></a>
-<span class="sourceLineNo">846</span>    this.splitPolicy = RegionSplitPolicy.create(this, conf);<a name="line.846"></a>
-<span class="sourceLineNo">847</span><a name="line.847"></a>
-<span class="sourceLineNo">848</span>    // Initialize flush policy<a name="line.848"></a>
-<span class="sourceLineNo">849</span>    this.flushPolicy = FlushPolicyFactory.create(this, conf);<a name="line.849"></a>
-<span class="sourceLineNo">850</span><a name="line.850"></a>
-<span class="sourceLineNo">851</span>    long lastFlushTime = EnvironmentEdgeManager.currentTime();<a name="line.851"></a>
-<span class="sourceLineNo">852</span>    for (Store store: stores.values()) {<a name="line.852"></a>
-<span class="sourceLineNo">853</span>      this.lastStoreFlushTimeMap.put(store, lastFlushTime);<a name="line.853"></a>
-<span class="sourceLineNo">854</span>    }<a name="line.854"></a>
-<span class="sourceLineNo">855</span><a n

<TRUNCATED>

[14/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html
index d266952..fbdde18 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html
@@ -7,36 +7,36 @@
 <body>
 <div class="sourceContainer">
 <pre><span class="sourceLineNo">001</span>/*<a name="line.1"></a>
-<span class="sourceLineNo">002</span> *<a name="line.2"></a>
-<span class="sourceLineNo">003</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.3"></a>
-<span class="sourceLineNo">004</span> * or more contributor license agreements.  See the NOTICE file<a name="line.4"></a>
-<span class="sourceLineNo">005</span> * distributed with this work for additional information<a name="line.5"></a>
-<span class="sourceLineNo">006</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.6"></a>
-<span class="sourceLineNo">007</span> * to you under the Apache License, Version 2.0 (the<a name="line.7"></a>
-<span class="sourceLineNo">008</span> * "License"); you may not use this file except in compliance<a name="line.8"></a>
-<span class="sourceLineNo">009</span> * with the License.  You may obtain a copy of the License at<a name="line.9"></a>
-<span class="sourceLineNo">010</span> *<a name="line.10"></a>
-<span class="sourceLineNo">011</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.11"></a>
-<span class="sourceLineNo">012</span> *<a name="line.12"></a>
-<span class="sourceLineNo">013</span> * Unless required by applicable law or agreed to in writing, software<a name="line.13"></a>
-<span class="sourceLineNo">014</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.14"></a>
-<span class="sourceLineNo">015</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.15"></a>
-<span class="sourceLineNo">016</span> * See the License for the specific language governing permissions and<a name="line.16"></a>
-<span class="sourceLineNo">017</span> * limitations under the License.<a name="line.17"></a>
-<span class="sourceLineNo">018</span> */<a name="line.18"></a>
-<span class="sourceLineNo">019</span>package org.apache.hadoop.hbase.regionserver;<a name="line.19"></a>
-<span class="sourceLineNo">020</span><a name="line.20"></a>
-<span class="sourceLineNo">021</span>import java.io.EOFException;<a name="line.21"></a>
-<span class="sourceLineNo">022</span>import java.io.FileNotFoundException;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.io.IOException;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.io.InterruptedIOException;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.lang.reflect.Constructor;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.text.ParseException;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import java.util.AbstractList;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import java.util.ArrayList;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import java.util.Arrays;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import java.util.Collection;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import java.util.Collections;<a name="line.31"></a>
+<span class="sourceLineNo">002</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.2"></a>
+<span class="sourceLineNo">003</span> * or more contributor license agreements.  See the NOTICE file<a name="line.3"></a>
+<span class="sourceLineNo">004</span> * distributed with this work for additional information<a name="line.4"></a>
+<span class="sourceLineNo">005</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.5"></a>
+<span class="sourceLineNo">006</span> * to you under the Apache License, Version 2.0 (the<a name="line.6"></a>
+<span class="sourceLineNo">007</span> * "License"); you may not use this file except in compliance<a name="line.7"></a>
+<span class="sourceLineNo">008</span> * with the License.  You may obtain a copy of the License at<a name="line.8"></a>
+<span class="sourceLineNo">009</span> *<a name="line.9"></a>
+<span class="sourceLineNo">010</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.10"></a>
+<span class="sourceLineNo">011</span> *<a name="line.11"></a>
+<span class="sourceLineNo">012</span> * Unless required by applicable law or agreed to in writing, software<a name="line.12"></a>
+<span class="sourceLineNo">013</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.13"></a>
+<span class="sourceLineNo">014</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.14"></a>
+<span class="sourceLineNo">015</span> * See the License for the specific language governing permissions and<a name="line.15"></a>
+<span class="sourceLineNo">016</span> * limitations under the License.<a name="line.16"></a>
+<span class="sourceLineNo">017</span> */<a name="line.17"></a>
+<span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.regionserver;<a name="line.18"></a>
+<span class="sourceLineNo">019</span><a name="line.19"></a>
+<span class="sourceLineNo">020</span>import java.io.EOFException;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import java.io.FileNotFoundException;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import java.io.IOException;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import java.io.InterruptedIOException;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.lang.reflect.Constructor;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.text.ParseException;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.util.AbstractList;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.util.ArrayList;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import java.util.Arrays;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import java.util.Collection;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import java.util.Collections;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import java.util.Comparator;<a name="line.31"></a>
 <span class="sourceLineNo">032</span>import java.util.HashMap;<a name="line.32"></a>
 <span class="sourceLineNo">033</span>import java.util.HashSet;<a name="line.33"></a>
 <span class="sourceLineNo">034</span>import java.util.Iterator;<a name="line.34"></a>
@@ -49,35 +49,35 @@
 <span class="sourceLineNo">041</span>import java.util.RandomAccess;<a name="line.41"></a>
 <span class="sourceLineNo">042</span>import java.util.Set;<a name="line.42"></a>
 <span class="sourceLineNo">043</span>import java.util.TreeMap;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import java.util.concurrent.Callable;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import java.util.concurrent.CompletionService;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import java.util.concurrent.ConcurrentMap;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import java.util.concurrent.ConcurrentSkipListMap;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import java.util.concurrent.ExecutionException;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import java.util.concurrent.ExecutorCompletionService;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import java.util.concurrent.ExecutorService;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import java.util.concurrent.Executors;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import java.util.concurrent.Future;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import java.util.concurrent.FutureTask;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import java.util.concurrent.ThreadFactory;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import java.util.concurrent.ThreadPoolExecutor;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import java.util.concurrent.TimeUnit;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import java.util.concurrent.TimeoutException;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import java.util.concurrent.atomic.AtomicBoolean;<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.atomic.AtomicLong;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import java.util.concurrent.locks.Lock;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import java.util.concurrent.locks.ReadWriteLock;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import java.util.concurrent.locks.ReentrantReadWriteLock;<a name="line.64"></a>
-<span class="sourceLineNo">065</span><a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.commons.logging.Log;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.commons.logging.LogFactory;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.conf.Configuration;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.fs.FileStatus;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.fs.FileSystem;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.fs.Path;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.ArrayBackedTag;<a name="line.72"></a>
+<span class="sourceLineNo">044</span>import java.util.UUID;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import java.util.concurrent.Callable;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import java.util.concurrent.CompletionService;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import java.util.concurrent.ConcurrentMap;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import java.util.concurrent.ConcurrentSkipListMap;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import java.util.concurrent.ExecutionException;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import java.util.concurrent.ExecutorCompletionService;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import java.util.concurrent.ExecutorService;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import java.util.concurrent.Executors;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import java.util.concurrent.Future;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import java.util.concurrent.FutureTask;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import java.util.concurrent.ThreadFactory;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import java.util.concurrent.ThreadPoolExecutor;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import java.util.concurrent.TimeUnit;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import java.util.concurrent.TimeoutException;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import java.util.concurrent.atomic.AtomicBoolean;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import java.util.concurrent.locks.Lock;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import java.util.concurrent.locks.ReadWriteLock;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import java.util.concurrent.locks.ReentrantReadWriteLock;<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.fs.FileStatus;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.fs.FileSystem;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.fs.Path;<a name="line.72"></a>
 <span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.Cell;<a name="line.73"></a>
 <span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.CellComparator;<a name="line.74"></a>
 <span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.75"></a>
@@ -85,8169 +85,7763 @@
 <span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.CompoundConfiguration;<a name="line.77"></a>
 <span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.78"></a>
 <span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.DroppedSnapshotException;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.HBaseConfiguration;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.HConstants;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.HConstants.OperationStatusCode;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.HDFSBlocksDistribution;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.KeyValue;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.KeyValueUtil;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.RegionTooBusyException;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.ShareableMemory;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.TableName;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.Tag;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.TagRewriteCell;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.TagType;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.TagUtil;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.UnknownScannerException;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.backup.HFileArchiver;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.client.Append;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.client.Durability;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.client.Get;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.client.Increment;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.client.IsolationLevel;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.client.Put;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.client.Result;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.client.RowMutations;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.conf.ConfigurationManager;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.conf.PropagatingConfigurationObserver;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.coprocessor.RegionObserver;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.errorhandling.ForeignExceptionSnare;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.exceptions.FailedSanityCheckException;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.exceptions.RegionInRecoveryException;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.exceptions.UnknownProtocolException;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.filter.ByteArrayComparable;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.filter.FilterWrapper;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.filter.IncompatibleFilterException;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.io.HeapSize;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.io.TimeRange;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.io.hfile.BlockCache;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.io.hfile.CacheConfig;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.io.hfile.HFile;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.ipc.CallerDisconnectedException;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.ipc.RpcCallContext;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.mob.MobUtils;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.monitoring.MonitoredTask;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.protobuf.ResponseConverter;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceCall;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.RegionLoad;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.StoreSequenceId;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor.FlushAction;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor.StoreFlushDescriptor;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor.EventType;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.StoreDescriptor;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.NextState;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.regionserver.compactions.CompactionContext;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.regionserver.throttle.CompactionThroughputControllerFactory;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.regionserver.throttle.NoLimitThroughputController;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.regionserver.throttle.ThroughputController;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.regionserver.wal.HLogKey;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.regionserver.wal.ReplayHLogKey;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.regionserver.wal.WALUtil;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.security.User;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.snapshot.SnapshotDescriptionUtils;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.snapshot.SnapshotManifest;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.util.ByteStringer;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.util.CancelableProgressable;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.util.ClassSize;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.util.CompressionTest;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.util.Counter;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.util.EncryptionTest;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.util.FSTableDescriptors;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.util.HashedBytes;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.Threads;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.wal.WALFactory;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.wal.WALSplitter.MutationReplay;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.io.MultipleIOException;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.util.StringUtils;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.htrace.Trace;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>import org.apache.htrace.TraceScope;<a name="line.186"></a>
-<span class="sourceLineNo">187</span><a name="line.187"></a>
-<span class="sourceLineNo">188</span>import com.google.common.annotations.VisibleForTesting;<a name="line.188"></a>
-<span class="sourceLineNo">189</span>import com.google.common.base.Optional;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>import com.google.common.base.Preconditions;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>import com.google.common.collect.Lists;<a name="line.191"></a>
-<span class="sourceLineNo">192</span>import com.google.common.collect.Maps;<a name="line.192"></a>
-<span class="sourceLineNo">193</span>import com.google.common.io.Closeables;<a name="line.193"></a>
-<span class="sourceLineNo">194</span>import com.google.protobuf.ByteString;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>import com.google.protobuf.Descriptors;<a name="line.195"></a>
-<span class="sourceLineNo">196</span>import com.google.protobuf.Message;<a name="line.196"></a>
-<span class="sourceLineNo">197</span>import com.google.protobuf.RpcCallback;<a name="line.197"></a>
-<span class="sourceLineNo">198</span>import com.google.protobuf.RpcController;<a name="line.198"></a>
-<span class="sourceLineNo">199</span>import com.google.protobuf.Service;<a name="line.199"></a>
-<span class="sourceLineNo">200</span>import com.google.protobuf.TextFormat;<a name="line.200"></a>
-<span class="sourceLineNo">201</span><a name="line.201"></a>
-<span class="sourceLineNo">202</span>@InterfaceAudience.Private<a name="line.202"></a>
-<span class="sourceLineNo">203</span>public class HRegion implements HeapSize, PropagatingConfigurationObserver, Region {<a name="line.203"></a>
-<span class="sourceLineNo">204</span>  private static final Log LOG = LogFactory.getLog(HRegion.class);<a name="line.204"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.HConstants;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.HConstants.OperationStatusCode;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.HDFSBlocksDistribution;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.KeyValue;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.KeyValueUtil;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.RegionTooBusyException;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.ShareableMemory;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.TableName;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.Tag;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.TagRewriteCell;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.TagUtil;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.UnknownScannerException;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.backup.HFileArchiver;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.client.Append;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.client.Durability;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.client.Get;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.client.Increment;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.client.IsolationLevel;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.client.Put;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.client.Result;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.client.RowMutations;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.conf.ConfigurationManager;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.conf.PropagatingConfigurationObserver;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.coprocessor.RegionObserver.MutationType;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.errorhandling.ForeignExceptionSnare;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.exceptions.FailedSanityCheckException;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.exceptions.RegionInRecoveryException;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.exceptions.UnknownProtocolException;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.filter.ByteArrayComparable;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.filter.FilterWrapper;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.filter.IncompatibleFilterException;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.io.HeapSize;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.io.TimeRange;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.io.hfile.HFile;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.ipc.CallerDisconnectedException;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.ipc.RpcCallContext;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.mob.MobUtils;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.monitoring.MonitoredTask;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.protobuf.ResponseConverter;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceCall;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.RegionLoad;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.StoreSequenceId;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor.FlushAction;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor.StoreFlushDescriptor;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor.EventType;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.StoreDescriptor;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl.WriteEntry;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.NextState;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.regionserver.compactions.CompactionContext;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.regionserver.throttle.CompactionThroughputControllerFactory;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.regionserver.throttle.NoLimitThroughputController;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.regionserver.throttle.ThroughputController;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.regionserver.wal.HLogKey;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.regionserver.wal.ReplayHLogKey;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.regionserver.wal.WALUtil;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.security.User;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.snapshot.SnapshotDescriptionUtils;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.snapshot.SnapshotManifest;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.util.ByteStringer;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.util.CancelableProgressable;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.util.ClassSize;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.util.CompressionTest;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.util.Counter;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.util.EncryptionTest;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.util.HashedBytes;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.util.Threads;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.wal.WALFactory;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.wal.WALSplitter.MutationReplay;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>import org.apache.hadoop.io.MultipleIOException;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>import org.apache.hadoop.util.StringUtils;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>import org.apache.htrace.Trace;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.htrace.TraceScope;<a name="line.182"></a>
+<span class="sourceLineNo">183</span><a name="line.183"></a>
+<span class="sourceLineNo">184</span>import com.google.common.annotations.VisibleForTesting;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import com.google.common.base.Optional;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import com.google.common.base.Preconditions;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import com.google.common.collect.Lists;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>import com.google.common.collect.Maps;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>import com.google.common.io.Closeables;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>import com.google.protobuf.ByteString;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>import com.google.protobuf.Descriptors;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>import com.google.protobuf.Message;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>import com.google.protobuf.RpcCallback;<a name="line.193"></a>
+<span class="sourceLineNo">194</span>import com.google.protobuf.RpcController;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>import com.google.protobuf.Service;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>import com.google.protobuf.TextFormat;<a name="line.196"></a>
+<span class="sourceLineNo">197</span><a name="line.197"></a>
+<span class="sourceLineNo">198</span>@SuppressWarnings("deprecation")<a name="line.198"></a>
+<span class="sourceLineNo">199</span>@InterfaceAudience.Private<a name="line.199"></a>
+<span class="sourceLineNo">200</span>public class HRegion implements HeapSize, PropagatingConfigurationObserver, Region {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>  private static final Log LOG = LogFactory.getLog(HRegion.class);<a name="line.201"></a>
+<span class="sourceLineNo">202</span><a name="line.202"></a>
+<span class="sourceLineNo">203</span>  public static final String LOAD_CFS_ON_DEMAND_CONFIG_KEY =<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    "hbase.hregion.scan.loadColumnFamiliesOnDemand";<a name="line.204"></a>
 <span class="sourceLineNo">205</span><a name="line.205"></a>
-<span class="sourceLineNo">206</span>  public static final String LOAD_CFS_ON_DEMAND_CONFIG_KEY =<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    "hbase.hregion.scan.loadColumnFamiliesOnDemand";<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>   * Longest time we'll wait on a sequenceid.<a name="line.210"></a>
-<span class="sourceLineNo">211</span>   * Sequenceid comes up out of the WAL subsystem. WAL subsystem can go bad or a test might use<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   * it without cleaning up previous usage properly; generally, a WAL roll is needed. The timeout<a name="line.212"></a>
-<span class="sourceLineNo">213</span>   * is for a latch in WALKey. There is no global accounting of outstanding WALKeys; intentionally<a name="line.213"></a>
-<span class="sourceLineNo">214</span>   * to avoid contention, but it makes it so if an abort or problem, we could be stuck waiting<a name="line.214"></a>
-<span class="sourceLineNo">215</span>   * on the WALKey latch. Revisit.<a name="line.215"></a>
-<span class="sourceLineNo">216</span>   */<a name="line.216"></a>
-<span class="sourceLineNo">217</span>  private final int maxWaitForSeqId;<a name="line.217"></a>
-<span class="sourceLineNo">218</span>  private static final String MAX_WAIT_FOR_SEQ_ID_KEY = "hbase.hregion.max.wait.for.sequenceid.ms";<a name="line.218"></a>
-<span class="sourceLineNo">219</span>  private static final int DEFAULT_MAX_WAIT_FOR_SEQ_ID = 30000;<a name="line.219"></a>
+<span class="sourceLineNo">206</span>  /**<a name="line.206"></a>
+<span class="sourceLineNo">207</span>   * This is the global default value for durability. All tables/mutations not<a name="line.207"></a>
+<span class="sourceLineNo">208</span>   * defining a durability or using USE_DEFAULT will default to this value.<a name="line.208"></a>
+<span class="sourceLineNo">209</span>   */<a name="line.209"></a>
+<span class="sourceLineNo">210</span>  private static final Durability DEFAULT_DURABILITY = Durability.SYNC_WAL;<a name="line.210"></a>
+<span class="sourceLineNo">211</span><a name="line.211"></a>
+<span class="sourceLineNo">212</span>  final AtomicBoolean closed = new AtomicBoolean(false);<a name="line.212"></a>
+<span class="sourceLineNo">213</span><a name="line.213"></a>
+<span class="sourceLineNo">214</span>  /* Closing can take some time; use the closing flag if there is stuff we don't<a name="line.214"></a>
+<span class="sourceLineNo">215</span>   * want to do while in closing state; e.g. like offer this region up to the<a name="line.215"></a>
+<span class="sourceLineNo">216</span>   * master as a region to close if the carrying regionserver is overloaded.<a name="line.216"></a>
+<span class="sourceLineNo">217</span>   * Once set, it is never cleared.<a name="line.217"></a>
+<span class="sourceLineNo">218</span>   */<a name="line.218"></a>
+<span class="sourceLineNo">219</span>  final AtomicBoolean closing = new AtomicBoolean(false);<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>   * This is the global default value for durability. All tables/mutations not<a name="line.222"></a>
-<span class="sourceLineNo">223</span>   * defining a durability or using USE_DEFAULT will default to this value.<a name="line.223"></a>
+<span class="sourceLineNo">222</span>   * The max sequence id of flushed data on this region. There is no edit in memory that is<a name="line.222"></a>
+<span class="sourceLineNo">223</span>   * less that this sequence id.<a name="line.223"></a>
 <span class="sourceLineNo">224</span>   */<a name="line.224"></a>
-<span class="sourceLineNo">225</span>  private static final Durability DEFAULT_DURABILITY = Durability.SYNC_WAL;<a name="line.225"></a>
+<span class="sourceLineNo">225</span>  private volatile long maxFlushedSeqId = HConstants.NO_SEQNUM;<a name="line.225"></a>
 <span class="sourceLineNo">226</span><a name="line.226"></a>
-<span class="sourceLineNo">227</span>  final AtomicBoolean closed = new AtomicBoolean(false);<a name="line.227"></a>
-<span class="sourceLineNo">228</span><a name="line.228"></a>
-<span class="sourceLineNo">229</span>  /* Closing can take some time; use the closing flag if there is stuff we don't<a name="line.229"></a>
-<span class="sourceLineNo">230</span>   * want to do while in closing state; e.g. like offer this region up to the<a name="line.230"></a>
-<span class="sourceLineNo">231</span>   * master as a region to close if the carrying regionserver is overloaded.<a name="line.231"></a>
-<span class="sourceLineNo">232</span>   * Once set, it is never cleared.<a name="line.232"></a>
-<span class="sourceLineNo">233</span>   */<a name="line.233"></a>
-<span class="sourceLineNo">234</span>  final AtomicBoolean closing = new AtomicBoolean(false);<a name="line.234"></a>
-<span class="sourceLineNo">235</span><a name="line.235"></a>
-<span class="sourceLineNo">236</span>  /**<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   * The max sequence id of flushed data on this region. There is no edit in memory that is<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   * less that this sequence id.<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   */<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  private volatile long maxFlushedSeqId = HConstants.NO_SEQNUM;<a name="line.240"></a>
+<span class="sourceLineNo">227</span>  /**<a name="line.227"></a>
+<span class="sourceLineNo">228</span>   * Record the sequence id of last flush operation. Can be in advance of<a name="line.228"></a>
+<span class="sourceLineNo">229</span>   * {@link #maxFlushedSeqId} when flushing a single column family. In this case,<a name="line.229"></a>
+<span class="sourceLineNo">230</span>   * {@link #maxFlushedSeqId} will be older than the oldest edit in memory.<a name="line.230"></a>
+<span class="sourceLineNo">231</span>   */<a name="line.231"></a>
+<span class="sourceLineNo">232</span>  private volatile long lastFlushOpSeqId = HConstants.NO_SEQNUM;<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>   * The sequence id of the last replayed open region event from the primary region. This is used<a name="line.235"></a>
+<span class="sourceLineNo">236</span>   * to skip entries before this due to the possibility of replay edits coming out of order from<a name="line.236"></a>
+<span class="sourceLineNo">237</span>   * replication.<a name="line.237"></a>
+<span class="sourceLineNo">238</span>   */<a name="line.238"></a>
+<span class="sourceLineNo">239</span>  protected volatile long lastReplayedOpenRegionSeqId = -1L;<a name="line.239"></a>
+<span class="sourceLineNo">240</span>  protected volatile long lastReplayedCompactionSeqId = -1L;<a name="line.240"></a>
 <span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>  /**<a name="line.242"></a>
-<span class="sourceLineNo">243</span>   * Record the sequence id of last flush operation. Can be in advance of<a name="line.243"></a>
-<span class="sourceLineNo">244</span>   * {@link #maxFlushedSeqId} when flushing a single column family. In this case,<a name="line.244"></a>
-<span class="sourceLineNo">245</span>   * {@link #maxFlushedSeqId} will be older than the oldest edit in memory.<a name="line.245"></a>
-<span class="sourceLineNo">246</span>   */<a name="line.246"></a>
-<span class="sourceLineNo">247</span>  private volatile long lastFlushOpSeqId = HConstants.NO_SEQNUM;<a name="line.247"></a>
-<span class="sourceLineNo">248</span><a name="line.248"></a>
-<span class="sourceLineNo">249</span>  /**<a name="line.249"></a>
-<span class="sourceLineNo">250</span>   * The sequence id of the last replayed open region event from the primary region. This is used<a name="line.250"></a>
-<span class="sourceLineNo">251</span>   * to skip entries before this due to the possibility of replay edits coming out of order from<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * replication.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  protected volatile long lastReplayedOpenRegionSeqId = -1L;<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  protected volatile long lastReplayedCompactionSeqId = -1L;<a name="line.255"></a>
+<span class="sourceLineNo">242</span>  //////////////////////////////////////////////////////////////////////////////<a name="line.242"></a>
+<span class="sourceLineNo">243</span>  // Members<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>  // map from a locked row to the context for that lock including:<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  // - CountDownLatch for threads waiting on that row<a name="line.247"></a>
+<span class="sourceLineNo">248</span>  // - the thread that owns the lock (allow reentrancy)<a name="line.248"></a>
+<span class="sourceLineNo">249</span>  // - reference count of (reentrant) locks held by the thread<a name="line.249"></a>
+<span class="sourceLineNo">250</span>  // - the row itself<a name="line.250"></a>
+<span class="sourceLineNo">251</span>  private final ConcurrentHashMap&lt;HashedBytes, RowLockContext&gt; lockedRows =<a name="line.251"></a>
+<span class="sourceLineNo">252</span>      new ConcurrentHashMap&lt;HashedBytes, RowLockContext&gt;();<a name="line.252"></a>
+<span class="sourceLineNo">253</span><a name="line.253"></a>
+<span class="sourceLineNo">254</span>  protected final Map&lt;byte[], Store&gt; stores = new ConcurrentSkipListMap&lt;byte[], Store&gt;(<a name="line.254"></a>
+<span class="sourceLineNo">255</span>      Bytes.BYTES_RAWCOMPARATOR);<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>  // Members<a name="line.258"></a>
-<span class="sourceLineNo">259</span>  //////////////////////////////////////////////////////////////////////////////<a name="line.259"></a>
-<span class="sourceLineNo">260</span><a name="line.260"></a>
-<span class="sourceLineNo">261</span>  // map from a locked row to the context for that lock including:<a name="line.261"></a>
-<span class="sourceLineNo">262</span>  // - CountDownLatch for threads waiting on that row<a name="line.262"></a>
-<span class="sourceLineNo">263</span>  // - the thread that owns the lock (allow reentrancy)<a name="line.263"></a>
-<span class="sourceLineNo">264</span>  // - reference count of (reentrant) locks held by the thread<a name="line.264"></a>
-<span class="sourceLineNo">265</span>  // - the row itself<a name="line.265"></a>
-<span class="sourceLineNo">266</span>  private final ConcurrentHashMap&lt;HashedBytes, RowLockContext&gt; lockedRows =<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      new ConcurrentHashMap&lt;HashedBytes, RowLockContext&gt;();<a name="line.267"></a>
-<span class="sourceLineNo">268</span><a name="line.268"></a>
-<span class="sourceLineNo">269</span>  protected final Map&lt;byte[], Store&gt; stores = new ConcurrentSkipListMap&lt;byte[], Store&gt;(<a name="line.269"></a>
-<span class="sourceLineNo">270</span>      Bytes.BYTES_RAWCOMPARATOR);<a name="line.270"></a>
-<span class="sourceLineNo">271</span><a name="line.271"></a>
-<span class="sourceLineNo">272</span>  // TODO: account for each registered handler in HeapSize computation<a name="line.272"></a>
-<span class="sourceLineNo">273</span>  private Map&lt;String, Service&gt; coprocessorServiceHandlers = Maps.newHashMap();<a name="line.273"></a>
+<span class="sourceLineNo">257</span>  // TODO: account for each registered handler in HeapSize computation<a name="line.257"></a>
+<span class="sourceLineNo">258</span>  private Map&lt;String, Service&gt; coprocessorServiceHandlers = Maps.newHashMap();<a name="line.258"></a>
+<span class="sourceLineNo">259</span><a name="line.259"></a>
+<span class="sourceLineNo">260</span>  private final AtomicLong memstoreSize = new AtomicLong(0);<a name="line.260"></a>
+<span class="sourceLineNo">261</span><a name="line.261"></a>
+<span class="sourceLineNo">262</span>  // Debug possible data loss due to WAL off<a name="line.262"></a>
+<span class="sourceLineNo">263</span>  final Counter numMutationsWithoutWAL = new Counter();<a name="line.263"></a>
+<span class="sourceLineNo">264</span>  final Counter dataInMemoryWithoutWAL = new Counter();<a name="line.264"></a>
+<span class="sourceLineNo">265</span><a name="line.265"></a>
+<span class="sourceLineNo">266</span>  // Debug why CAS operations are taking a while.<a name="line.266"></a>
+<span class="sourceLineNo">267</span>  final Counter checkAndMutateChecksPassed = new Counter();<a name="line.267"></a>
+<span class="sourceLineNo">268</span>  final Counter checkAndMutateChecksFailed = new Counter();<a name="line.268"></a>
+<span class="sourceLineNo">269</span><a name="line.269"></a>
+<span class="sourceLineNo">270</span>  // Number of requests<a name="line.270"></a>
+<span class="sourceLineNo">271</span>  final Counter readRequestsCount = new Counter();<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  final Counter filteredReadRequestsCount = new Counter();<a name="line.272"></a>
+<span class="sourceLineNo">273</span>  final Counter writeRequestsCount = new Counter();<a name="line.273"></a>
 <span class="sourceLineNo">274</span><a name="line.274"></a>
-<span class="sourceLineNo">275</span>  private final AtomicLong memstoreSize = new AtomicLong(0);<a name="line.275"></a>
-<span class="sourceLineNo">276</span><a name="line.276"></a>
-<span class="sourceLineNo">277</span>  // Debug possible data loss due to WAL off<a name="line.277"></a>
-<span class="sourceLineNo">278</span>  final Counter numMutationsWithoutWAL = new Counter();<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  final Counter dataInMemoryWithoutWAL = new Counter();<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  // Debug why CAS operations are taking a while.<a name="line.281"></a>
-<span class="sourceLineNo">282</span>  final Counter checkAndMutateChecksPassed = new Counter();<a name="line.282"></a>
-<span class="sourceLineNo">283</span>  final Counter checkAndMutateChecksFailed = new Counter();<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>  //Number of requests<a name="line.285"></a>
-<span class="sourceLineNo">286</span>  final Counter readRequestsCount = new Counter();<a name="line.286"></a>
-<span class="sourceLineNo">287</span>  final Counter filteredReadRequestsCount = new Counter();<a name="line.287"></a>
-<span class="sourceLineNo">288</span>  final Counter writeRequestsCount = new Counter();<a name="line.288"></a>
-<span class="sourceLineNo">289</span><a name="line.289"></a>
-<span class="sourceLineNo">290</span>  // Number of requests blocked by memstore size.<a name="line.290"></a>
-<span class="sourceLineNo">291</span>  private final Counter blockedRequestsCount = new Counter();<a name="line.291"></a>
-<span class="sourceLineNo">292</span><a name="line.292"></a>
-<span class="sourceLineNo">293</span>  // Compaction counters<a name="line.293"></a>
-<span class="sourceLineNo">294</span>  final AtomicLong compactionsFinished = new AtomicLong(0L);<a name="line.294"></a>
-<span class="sourceLineNo">295</span>  final AtomicLong compactionNumFilesCompacted = new AtomicLong(0L);<a name="line.295"></a>
-<span class="sourceLineNo">296</span>  final AtomicLong compactionNumBytesCompacted = new AtomicLong(0L);<a name="line.296"></a>
-<span class="sourceLineNo">297</span><a name="line.297"></a>
-<span class="sourceLineNo">298</span>  private final WAL wal;<a name="line.298"></a>
-<span class="sourceLineNo">299</span>  private final HRegionFileSystem fs;<a name="line.299"></a>
-<span class="sourceLineNo">300</span>  protected final Configuration conf;<a name="line.300"></a>
-<span class="sourceLineNo">301</span>  private final Configuration baseConf;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  private final int rowLockWaitDuration;<a name="line.302"></a>
-<span class="sourceLineNo">303</span>  private CompactedHFilesDischarger compactedFileDischarger;<a name="line.303"></a>
-<span class="sourceLineNo">304</span>  static final int DEFAULT_ROWLOCK_WAIT_DURATION = 30000;<a name="line.304"></a>
-<span class="sourceLineNo">305</span><a name="line.305"></a>
-<span class="sourceLineNo">306</span>  // The internal wait duration to acquire a lock before read/update<a name="line.306"></a>
-<span class="sourceLineNo">307</span>  // from the region. It is not per row. The purpose of this wait time<a name="line.307"></a>
-<span class="sourceLineNo">308</span>  // is to avoid waiting a long time while the region is busy, so that<a name="line.308"></a>
-<span class="sourceLineNo">309</span>  // we can release the IPC handler soon enough to improve the<a name="line.309"></a>
-<span class="sourceLineNo">310</span>  // availability of the region server. It can be adjusted by<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  // tuning configuration "hbase.busy.wait.duration".<a name="line.311"></a>
-<span class="sourceLineNo">312</span>  final long busyWaitDuration;<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  static final long DEFAULT_BUSY_WAIT_DURATION = HConstants.DEFAULT_HBASE_RPC_TIMEOUT;<a name="line.313"></a>
+<span class="sourceLineNo">275</span>  // Number of requests blocked by memstore size.<a name="line.275"></a>
+<span class="sourceLineNo">276</span>  private final Counter blockedRequestsCount = new Counter();<a name="line.276"></a>
+<span class="sourceLineNo">277</span><a name="line.277"></a>
+<span class="sourceLineNo">278</span>  // Compaction counters<a name="line.278"></a>
+<span class="sourceLineNo">279</span>  final AtomicLong compactionsFinished = new AtomicLong(0L);<a name="line.279"></a>
+<span class="sourceLineNo">280</span>  final AtomicLong compactionNumFilesCompacted = new AtomicLong(0L);<a name="line.280"></a>
+<span class="sourceLineNo">281</span>  final AtomicLong compactionNumBytesCompacted = new AtomicLong(0L);<a name="line.281"></a>
+<span class="sourceLineNo">282</span><a name="line.282"></a>
+<span class="sourceLineNo">283</span>  private final WAL wal;<a name="line.283"></a>
+<span class="sourceLineNo">284</span>  private final HRegionFileSystem fs;<a name="line.284"></a>
+<span class="sourceLineNo">285</span>  protected final Configuration conf;<a name="line.285"></a>
+<span class="sourceLineNo">286</span>  private final Configuration baseConf;<a name="line.286"></a>
+<span class="sourceLineNo">287</span>  private final int rowLockWaitDuration;<a name="line.287"></a>
+<span class="sourceLineNo">288</span>  private CompactedHFilesDischarger compactedFileDischarger;<a name="line.288"></a>
+<span class="sourceLineNo">289</span>  static final int DEFAULT_ROWLOCK_WAIT_DURATION = 30000;<a name="line.289"></a>
+<span class="sourceLineNo">290</span><a name="line.290"></a>
+<span class="sourceLineNo">291</span>  // The internal wait duration to acquire a lock before read/update<a name="line.291"></a>
+<span class="sourceLineNo">292</span>  // from the region. It is not per row. The purpose of this wait time<a name="line.292"></a>
+<span class="sourceLineNo">293</span>  // is to avoid waiting a long time while the region is busy, so that<a name="line.293"></a>
+<span class="sourceLineNo">294</span>  // we can release the IPC handler soon enough to improve the<a name="line.294"></a>
+<span class="sourceLineNo">295</span>  // availability of the region server. It can be adjusted by<a name="line.295"></a>
+<span class="sourceLineNo">296</span>  // tuning configuration "hbase.busy.wait.duration".<a name="line.296"></a>
+<span class="sourceLineNo">297</span>  final long busyWaitDuration;<a name="line.297"></a>
+<span class="sourceLineNo">298</span>  static final long DEFAULT_BUSY_WAIT_DURATION = HConstants.DEFAULT_HBASE_RPC_TIMEOUT;<a name="line.298"></a>
+<span class="sourceLineNo">299</span><a name="line.299"></a>
+<span class="sourceLineNo">300</span>  // If updating multiple rows in one call, wait longer,<a name="line.300"></a>
+<span class="sourceLineNo">301</span>  // i.e. waiting for busyWaitDuration * # of rows. However,<a name="line.301"></a>
+<span class="sourceLineNo">302</span>  // we can limit the max multiplier.<a name="line.302"></a>
+<span class="sourceLineNo">303</span>  final int maxBusyWaitMultiplier;<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span>  // Max busy wait duration. There is no point to wait longer than the RPC<a name="line.305"></a>
+<span class="sourceLineNo">306</span>  // purge timeout, when a RPC call will be terminated by the RPC engine.<a name="line.306"></a>
+<span class="sourceLineNo">307</span>  final long maxBusyWaitDuration;<a name="line.307"></a>
+<span class="sourceLineNo">308</span><a name="line.308"></a>
+<span class="sourceLineNo">309</span>  // negative number indicates infinite timeout<a name="line.309"></a>
+<span class="sourceLineNo">310</span>  static final long DEFAULT_ROW_PROCESSOR_TIMEOUT = 60 * 1000L;<a name="line.310"></a>
+<span class="sourceLineNo">311</span>  final ExecutorService rowProcessorExecutor = Executors.newCachedThreadPool();<a name="line.311"></a>
+<span class="sourceLineNo">312</span><a name="line.312"></a>
+<span class="sourceLineNo">313</span>  private final ConcurrentHashMap&lt;RegionScanner, Long&gt; scannerReadPoints;<a name="line.313"></a>
 <span class="sourceLineNo">314</span><a name="line.314"></a>
-<span class="sourceLineNo">315</span>  // If updating multiple rows in one call, wait longer,<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  // i.e. waiting for busyWaitDuration * # of rows. However,<a name="line.316"></a>
-<span class="sourceLineNo">317</span>  // we can limit the max multiplier.<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  final int maxBusyWaitMultiplier;<a name="line.318"></a>
+<span class="sourceLineNo">315</span>  /**<a name="line.315"></a>
+<span class="sourceLineNo">316</span>   * The sequence ID that was encountered when this region was opened.<a name="line.316"></a>
+<span class="sourceLineNo">317</span>   */<a name="line.317"></a>
+<span class="sourceLineNo">318</span>  private long openSeqNum = HConstants.NO_SEQNUM;<a name="line.318"></a>
 <span class="sourceLineNo">319</span><a name="line.319"></a>
-<span class="sourceLineNo">320</span>  // Max busy wait duration. There is no point to wait longer than the RPC<a name="line.320"></a>
-<span class="sourceLineNo">321</span>  // purge timeout, when a RPC call will be terminated by the RPC engine.<a name="line.321"></a>
-<span class="sourceLineNo">322</span>  final long maxBusyWaitDuration;<a name="line.322"></a>
-<span class="sourceLineNo">323</span><a name="line.323"></a>
-<span class="sourceLineNo">324</span>  // negative number indicates infinite timeout<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  static final long DEFAULT_ROW_PROCESSOR_TIMEOUT = 60 * 1000L;<a name="line.325"></a>
-<span class="sourceLineNo">326</span>  final ExecutorService rowProcessorExecutor = Executors.newCachedThreadPool();<a name="line.326"></a>
-<span class="sourceLineNo">327</span><a name="line.327"></a>
-<span class="sourceLineNo">328</span>  private final ConcurrentHashMap&lt;RegionScanner, Long&gt; scannerReadPoints;<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>   * The sequence ID that was encountered when this region was opened.<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   */<a name="line.332"></a>
-<span class="sourceLineNo">333</span>  private long openSeqNum = HConstants.NO_SEQNUM;<a name="line.333"></a>
-<span class="sourceLineNo">334</span><a name="line.334"></a>
-<span class="sourceLineNo">335</span>  /**<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   * The default setting for whether to enable on-demand CF loading for<a name="line.336"></a>
-<span class="sourceLineNo">337</span>   * scan requests to this region. Requests can override it.<a name="line.337"></a>
-<span class="sourceLineNo">338</span>   */<a name="line.338"></a>
-<span class="sourceLineNo">339</span>  private boolean isLoadingCfsOnDemandDefault = false;<a name="line.339"></a>
-<span class="sourceLineNo">340</span><a name="line.340"></a>
-<span class="sourceLineNo">341</span>  private final AtomicInteger majorInProgress = new AtomicInteger(0);<a name="line.341"></a>
-<span class="sourceLineNo">342</span>  private final AtomicInteger minorInProgress = new AtomicInteger(0);<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>  // Context: During replay we want to ensure that we do not lose any data. So, we<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  // have to be conservative in how we replay wals. For each store, we calculate<a name="line.346"></a>
-<span class="sourceLineNo">347</span>  // the maxSeqId up to which the store was flushed. And, skip the edits which<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  // are equal to or lower than maxSeqId for each store.<a name="line.348"></a>
-<span class="sourceLineNo">349</span>  // The following map is populated when opening the region<a name="line.349"></a>
-<span class="sourceLineNo">350</span>  Map&lt;byte[], Long&gt; maxSeqIdInStores = new TreeMap&lt;byte[], Long&gt;(Bytes.BYTES_COMPARATOR);<a name="line.350"></a>
-<span class="sourceLineNo">351</span><a name="line.351"></a>
-<span class="sourceLineNo">352</span>  /** Saved state from replaying prepare flush cache */<a name="line.352"></a>
-<span class="sourceLineNo">353</span>  private PrepareFlushResult prepareFlushResult = null;<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>   * Config setting for whether to allow writes when a region is in recovering or not.<a name="line.356"></a>
-<span class="sourceLineNo">357</span>   */<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  private boolean disallowWritesInRecovering = false;<a name="line.358"></a>
-<span class="sourceLineNo">359</span><a name="line.359"></a>
-<span class="sourceLineNo">360</span>  // when a region is in recovering state, it can only accept writes not reads<a name="line.360"></a>
-<span class="sourceLineNo">361</span>  private volatile boolean recovering = false;<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>  private volatile Optional&lt;ConfigurationManager&gt; configurationManager;<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>   * @return The smallest mvcc readPoint across all the scanners in this<a name="line.366"></a>
-<span class="sourceLineNo">367</span>   * region. Writes older than this readPoint, are included in every<a name="line.367"></a>
-<span class="sourceLineNo">368</span>   * read operation.<a name="line.368"></a>
-<span class="sourceLineNo">369</span>   */<a name="line.369"></a>
-<span class="sourceLineNo">370</span>  public long getSmallestReadPoint() {<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    long minimumReadPoint;<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    // We need to ensure that while we are calculating the smallestReadPoint<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    // no new RegionScanners can grab a readPoint that we are unaware of.<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    // We achieve this by synchronizing on the scannerReadPoints object.<a name="line.374"></a>
-<span class="sourceLineNo">375</span>    synchronized(scannerReadPoints) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>      minimumReadPoint = mvcc.getReadPoint();<a name="line.376"></a>
-<span class="sourceLineNo">377</span><a name="line.377"></a>
-<span class="sourceLineNo">378</span>      for (Long readPoint: this.scannerReadPoints.values()) {<a name="line.378"></a>
-<span class="sourceLineNo">379</span>        if (readPoint &lt; minimumReadPoint) {<a name="line.379"></a>
-<span class="sourceLineNo">380</span>          minimumReadPoint = readPoint;<a name="line.380"></a>
-<span class="sourceLineNo">381</span>        }<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      }<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    }<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    return minimumReadPoint;<a name="line.384"></a>
-<span class="sourceLineNo">385</span>  }<a name="line.385"></a>
-<span class="sourceLineNo">386</span><a name="line.386"></a>
-<span class="sourceLineNo">387</span>  /*<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * Data structure of write state flags used coordinating flushes,<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   * compactions and closes.<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   */<a name="line.390"></a>
-<span class="sourceLineNo">391</span>  static class WriteState {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    // Set while a memstore flush is happening.<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    volatile boolean flushing = false;<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    // Set when a flush has been requested.<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    volatile boolean flushRequested = false;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    // Number of compactions running.<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    AtomicInteger compacting = new AtomicInteger(0);<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    // Gets set in close. If set, cannot compact or flush again.<a name="line.398"></a>
-<span class="sourceLineNo">399</span>    volatile boolean writesEnabled = true;<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    // Set if region is read-only<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    volatile boolean readOnly = false;<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    // whether the reads are enabled. This is different than readOnly, because readOnly is<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    // static in the lifetime of the region, while readsEnabled is dynamic<a name="line.403"></a>
-<span class="sourceLineNo">404</span>    volatile boolean readsEnabled = true;<a name="line.404"></a>
-<span class="sourceLineNo">405</span><a name="line.405"></a>
-<span class="sourceLineNo">406</span>    /**<a name="line.406"></a>
-<span class="sourceLineNo">407</span>     * Set flags that make this region read-only.<a name="line.407"></a>
-<span class="sourceLineNo">408</span>     *<a name="line.408"></a>
-<span class="sourceLineNo">409</span>     * @param onOff flip value for region r/o setting<a name="line.409"></a>
-<span class="sourceLineNo">410</span>     */<a name="line.410"></a>
-<span class="sourceLineNo">411</span>    synchronized void setReadOnly(final boolean onOff) {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      this.writesEnabled = !onOff;<a name="line.412"></a>
-<span class="sourceLineNo">413</span>      this.readOnly = onOff;<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    }<a name="line.414"></a>
+<span class="sourceLineNo">320</span>  /**<a name="line.320"></a>
+<span class="sourceLineNo">321</span>   * The default setting for whether to enable on-demand CF loading for<a name="line.321"></a>
+<span class="sourceLineNo">322</span>   * scan requests to this region. Requests can override it.<a name="line.322"></a>
+<span class="sourceLineNo">323</span>   */<a name="line.323"></a>
+<span class="sourceLineNo">324</span>  private boolean isLoadingCfsOnDemandDefault = false;<a name="line.324"></a>
+<span class="sourceLineNo">325</span><a name="line.325"></a>
+<span class="sourceLineNo">326</span>  private final AtomicInteger majorInProgress = new AtomicInteger(0);<a name="line.326"></a>
+<span class="sourceLineNo">327</span>  private final AtomicInteger minorInProgress = new AtomicInteger(0);<a name="line.327"></a>
+<span class="sourceLineNo">328</span><a name="line.328"></a>
+<span class="sourceLineNo">329</span>  //<a name="line.329"></a>
+<span class="sourceLineNo">330</span>  // Context: During replay we want to ensure that we do not lose any data. So, we<a name="line.330"></a>
+<span class="sourceLineNo">331</span>  // have to be conservative in how we replay wals. For each store, we calculate<a name="line.331"></a>
+<span class="sourceLineNo">332</span>  // the maxSeqId up to which the store was flushed. And, skip the edits which<a name="line.332"></a>
+<span class="sourceLineNo">333</span>  // are equal to or lower than maxSeqId for each store.<a name="line.333"></a>
+<span class="sourceLineNo">334</span>  // The following map is populated when opening the region<a name="line.334"></a>
+<span class="sourceLineNo">335</span>  Map&lt;byte[], Long&gt; maxSeqIdInStores = new TreeMap&lt;byte[], Long&gt;(Bytes.BYTES_COMPARATOR);<a name="line.335"></a>
+<span class="sourceLineNo">336</span><a name="line.336"></a>
+<span class="sourceLineNo">337</span>  /** Saved state from replaying prepare flush cache */<a name="line.337"></a>
+<span class="sourceLineNo">338</span>  private PrepareFlushResult prepareFlushResult = null;<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>   * Config setting for whether to allow writes when a region is in recovering or not.<a name="line.341"></a>
+<span class="sourceLineNo">342</span>   */<a name="line.342"></a>
+<span class="sourceLineNo">343</span>  private boolean disallowWritesInRecovering = false;<a name="line.343"></a>
+<span class="sourceLineNo">344</span><a name="line.344"></a>
+<span class="sourceLineNo">345</span>  // When a region is in recovering state, it can only accept writes not reads<a name="line.345"></a>
+<span class="sourceLineNo">346</span>  private volatile boolean recovering = false;<a name="line.346"></a>
+<span class="sourceLineNo">347</span><a name="line.347"></a>
+<span class="sourceLineNo">348</span>  private volatile Optional&lt;ConfigurationManager&gt; configurationManager;<a name="line.348"></a>
+<span class="sourceLineNo">349</span><a name="line.349"></a>
+<span class="sourceLineNo">350</span>  /**<a name="line.350"></a>
+<span class="sourceLineNo">351</span>   * @return The smallest mvcc readPoint across all the scanners in this<a name="line.351"></a>
+<span class="sourceLineNo">352</span>   * region. Writes older than this readPoint, are included in every<a name="line.352"></a>
+<span class="sourceLineNo">353</span>   * read operation.<a name="line.353"></a>
+<span class="sourceLineNo">354</span>   */<a name="line.354"></a>
+<span class="sourceLineNo">355</span>  public long getSmallestReadPoint() {<a name="line.355"></a>
+<span class="sourceLineNo">356</span>    long minimumReadPoint;<a name="line.356"></a>
+<span class="sourceLineNo">357</span>    // We need to ensure that while we are calculating the smallestReadPoint<a name="line.357"></a>
+<span class="sourceLineNo">358</span>    // no new RegionScanners can grab a readPoint that we are unaware of.<a name="line.358"></a>
+<span class="sourceLineNo">359</span>    // We achieve this by synchronizing on the scannerReadPoints object.<a name="line.359"></a>
+<span class="sourceLineNo">360</span>    synchronized(scannerReadPoints) {<a name="line.360"></a>
+<span class="sourceLineNo">361</span>      minimumReadPoint = mvcc.getReadPoint();<a name="line.361"></a>
+<span class="sourceLineNo">362</span>      for (Long readPoint: this.scannerReadPoints.values()) {<a name="line.362"></a>
+<span class="sourceLineNo">363</span>        if (readPoint &lt; minimumReadPoint) {<a name="line.363"></a>
+<span class="sourceLineNo">364</span>          minimumReadPoint = readPoint;<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>    return minimumReadPoint;<a name="line.368"></a>
+<span class="sourceLineNo">369</span>  }<a name="line.369"></a>
+<span class="sourceLineNo">370</span><a name="line.370"></a>
+<span class="sourceLineNo">371</span>  /*<a name="line.371"></a>
+<span class="sourceLineNo">372</span>   * Data structure of write state flags used coordinating flushes,<a name="line.372"></a>
+<span class="sourceLineNo">373</span>   * compactions and closes.<a name="line.373"></a>
+<span class="sourceLineNo">374</span>   */<a name="line.374"></a>
+<span class="sourceLineNo">375</span>  static class WriteState {<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    // Set while a memstore flush is happening.<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    volatile boolean flushing = false;<a name="line.377"></a>
+<span class="sourceLineNo">378</span>    // Set when a flush has been requested.<a name="line.378"></a>
+<span class="sourceLineNo">379</span>    volatile boolean flushRequested = false;<a name="line.379"></a>
+<span class="sourceLineNo">380</span>    // Number of compactions running.<a name="line.380"></a>
+<span class="sourceLineNo">381</span>    AtomicInteger compacting = new AtomicInteger(0);<a name="line.381"></a>
+<span class="sourceLineNo">382</span>    // Gets set in close. If set, cannot compact or flush again.<a name="line.382"></a>
+<span class="sourceLineNo">383</span>    volatile boolean writesEnabled = true;<a name="line.383"></a>
+<span class="sourceLineNo">384</span>    // Set if region is read-only<a name="line.384"></a>
+<span class="sourceLineNo">385</span>    volatile boolean readOnly = false;<a name="line.385"></a>
+<span class="sourceLineNo">386</span>    // whether the reads are enabled. This is different than readOnly, because readOnly is<a name="line.386"></a>
+<span class="sourceLineNo">387</span>    // static in the lifetime of the region, while readsEnabled is dynamic<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    volatile boolean readsEnabled = true;<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>     * Set flags that make this region read-only.<a name="line.391"></a>
+<span class="sourceLineNo">392</span>     *<a name="line.392"></a>
+<span class="sourceLineNo">393</span>     * @param onOff flip value for region r/o setting<a name="line.393"></a>
+<span class="sourceLineNo">394</span>     */<a name="line.394"></a>
+<span class="sourceLineNo">395</span>    synchronized void setReadOnly(final boolean onOff) {<a name="line.395"></a>
+<span class="sourceLineNo">396</span>      this.writesEnabled = !onOff;<a name="line.396"></a>
+<span class="sourceLineNo">397</span>      this.readOnly = onOff;<a name="line.397"></a>
+<span class="sourceLineNo">398</span>    }<a name="line.398"></a>
+<span class="sourceLineNo">399</span><a name="line.399"></a>
+<span class="sourceLineNo">400</span>    boolean isReadOnly() {<a name="line.400"></a>
+<span class="sourceLineNo">401</span>      return this.readOnly;<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>    boolean isFlushRequested() {<a name="line.404"></a>
+<span class="sourceLineNo">405</span>      return this.flushRequested;<a name="line.405"></a>
+<span class="sourceLineNo">406</span>    }<a name="line.406"></a>
+<span class="sourceLineNo">407</span><a name="line.407"></a>
+<span class="sourceLineNo">408</span>    void setReadsEnabled(boolean readsEnabled) {<a name="line.408"></a>
+<span class="sourceLineNo">409</span>      this.readsEnabled = readsEnabled;<a name="line.409"></a>
+<span class="sourceLineNo">410</span>    }<a name="line.410"></a>
+<span class="sourceLineNo">411</span><a name="line.411"></a>
+<span class="sourceLineNo">412</span>    static final long HEAP_SIZE = ClassSize.align(<a name="line.412"></a>
+<span class="sourceLineNo">413</span>        ClassSize.OBJECT + 5 * Bytes.SIZEOF_BOOLEAN);<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>    boolean isReadOnly() {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      return this.readOnly;<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>    boolean isFlushRequested() {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>      return this.flushRequested;<a name="line.421"></a>
-<span class="sourceLineNo">422</span>    }<a name="line.422"></a>
-<span class="sourceLineNo">423</span><a name="line.423"></a>
-<span class="sourceLineNo">424</span>    void setReadsEnabled(boolean readsEnabled) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span>      this.readsEnabled = readsEnabled;<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    }<a name="line.426"></a>
+<span class="sourceLineNo">416</span>  /**<a name="line.416"></a>
+<span class="sourceLineNo">417</span>   * Objects from this class are created when flushing to describe all the different states that<a name="line.417"></a>
+<span class="sourceLineNo">418</span>   * that method ends up in. The Result enum describes those states. The sequence id should only<a name="line.418"></a>
+<span class="sourceLineNo">419</span>   * be specified if the flush was successful, and the failure message should only be specified<a name="line.419"></a>
+<span class="sourceLineNo">420</span>   * if it didn't flush.<a name="line.420"></a>
+<span class="sourceLineNo">421</span>   */<a name="line.421"></a>
+<span class="sourceLineNo">422</span>  public static class FlushResultImpl implements FlushResult {<a name="line.422"></a>
+<span class="sourceLineNo">423</span>    final Result result;<a name="line.423"></a>
+<span class="sourceLineNo">424</span>    final String failureReason;<a name="line.424"></a>
+<span class="sourceLineNo">425</span>    final long flushSequenceId;<a name="line.425"></a>
+<span class="sourceLineNo">426</span>    final boolean wroteFlushWalMarker;<a name="line.426"></a>
 <span class="sourceLineNo">427</span><a name="line.427"></a>
-<span class="sourceLineNo">428</span>    static final long HEAP_SIZE = ClassSize.align(<a name="line.428"></a>
-<span class="sourceLineNo">429</span>        ClassSize.OBJECT + 5 * Bytes.SIZEOF_BOOLEAN);<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  }<a name="line.430"></a>
-<span class="sourceLineNo">431</span><a name="line.431"></a>
-<span class="sourceLineNo">432</span>  /**<a name="line.432"></a>
-<span class="sourceLineNo">433</span>   * Objects from this class are created when flushing to describe all the different states that<a name="line.433"></a>
-<span class="sourceLineNo">434</span>   * that method ends up in. The Result enum describes those states. The sequence id should only<a name="line.434"></a>
-<span class="sourceLineNo">435</span>   * be specified if the flush was successful, and the failure message should only be specified<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   * if it didn't flush.<a name="line.436"></a>
-<span class="sourceLineNo">437</span>   */<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  public static class FlushResultImpl implements FlushResult {<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    final Result result;<a name="line.439"></a>
-<span class="sourceLineNo">440</span>    final String failureReason;<a name="line.440"></a>
-<span class="sourceLineNo">441</span>    final long flushSequenceId;<a name="line.441"></a>
-<span class="sourceLineNo">442</span>    final boolean wroteFlushWalMarker;<a name="line.442"></a>
-<span class="sourceLineNo">443</span><a name="line.443"></a>
-<span class="sourceLineNo">444</span>    /**<a name="line.444"></a>
-<span class="sourceLineNo">445</span>     * Convenience constructor to use when the flush is successful, the failure message is set to<a name="line.445"></a>
-<span class="sourceLineNo">446</span>     * null.<a name="line.446"></a>
-<span class="sourceLineNo">447</span>     * @param result Expecting FLUSHED_NO_COMPACTION_NEEDED or FLUSHED_COMPACTION_NEEDED.<a name="line.447"></a>
-<span class="sourceLineNo">448</span>     * @param flushSequenceId Generated sequence id that comes right after the edits in the<a name="line.448"></a>
-<span class="sourceLineNo">449</span>     *                        memstores.<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    

<TRUNCATED>

[35/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html
index ef0977e..985efa6 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html
@@ -99,7 +99,7 @@
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.517">HRegion.PrepareFlushResult</a>
+<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.501">HRegion.PrepareFlushResult</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">A result object from prepare flush cache stage</div>
 </li>
@@ -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>result</h4>
-<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.FlushResult</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.518">result</a></pre>
+<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.FlushResult</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.502">result</a></pre>
 </li>
 </ul>
 <a name="storeFlushCtxs">
@@ -253,7 +253,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>storeFlushCtxs</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a>&lt;byte[],<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFlushContext.html" title="interface in org.apache.hadoop.hbase.regionserver">StoreFlushContext</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.519">storeFlushCtxs</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a>&lt;byte[],<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFlushContext.html" title="interface in org.apache.hadoop.hbase.regionserver">StoreFlushContext</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.503">storeFlushCtxs</a></pre>
 </li>
 </ul>
 <a name="committedFiles">
@@ -262,7 +262,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>committedFiles</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</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; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.520">committedFiles</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</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; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.504">committedFiles</a></pre>
 </li>
 </ul>
 <a name="storeFlushableSize">
@@ -271,7 +271,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>storeFlushableSize</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</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; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.521">storeFlushableSize</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</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; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.505">storeFlushableSize</a></pre>
 </li>
 </ul>
 <a name="startTime">
@@ -280,7 +280,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>startTime</h4>
-<pre>final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.522">startTime</a></pre>
+<pre>final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.506">startTime</a></pre>
 </li>
 </ul>
 <a name="flushOpSeqId">
@@ -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>flushOpSeqId</h4>
-<pre>final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.523">flushOpSeqId</a></pre>
+<pre>final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.507">flushOpSeqId</a></pre>
 </li>
 </ul>
 <a name="flushedSeqId">
@@ -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>flushedSeqId</h4>
-<pre>final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.524">flushedSeqId</a></pre>
+<pre>final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.508">flushedSeqId</a></pre>
 </li>
 </ul>
 <a name="totalFlushableSize">
@@ -307,7 +307,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>totalFlushableSize</h4>
-<pre>final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.525">totalFlushableSize</a></pre>
+<pre>final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.509">totalFlushableSize</a></pre>
 </li>
 </ul>
 </li>
@@ -324,7 +324,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>HRegion.PrepareFlushResult</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.528">HRegion.PrepareFlushResult</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.FlushResult</a>&nbsp;result,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.512">HRegion.PrepareFlushResult</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.FlushResult</a>&nbsp;result,
                           long&nbsp;flushSeqId)</pre>
 <div class="block">Constructs an early exit case</div>
 </li>
@@ -335,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>HRegion.PrepareFlushResult</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.533">HRegion.PrepareFlushResult</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a>&lt;byte[],<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFlushContext.html" title="interface in org.apache.hadoop.hbase.regionserver">StoreFlushContext</a>&gt;&nbsp;storeFlushCtxs,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.517">HRegion.PrepareFlushResult</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a>&lt;byte[],<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFlushContext.html" title="interface in org.apache.hadoop.hbase.regionserver">StoreFlushContext</a>&gt;&nbsp;storeFlushCtxs,
                           <a href="http://docs.oracle.com/javase/7/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</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;&nbsp;committedFiles,
                           <a href="http://docs.oracle.com/javase/7/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</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;storeFlushableSize,
                           long&nbsp;startTime,
@@ -351,7 +351,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HRegion.PrepareFlushResult</h4>
-<pre>private&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.542">HRegion.PrepareFlushResult</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.FlushResult</a>&nbsp;result,
+<pre>private&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.526">HRegion.PrepareFlushResult</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.FlushResult</a>&nbsp;result,
                           <a href="http://docs.oracle.com/javase/7/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a>&lt;byte[],<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFlushContext.html" title="interface in org.apache.hadoop.hbase.regionserver">StoreFlushContext</a>&gt;&nbsp;storeFlushCtxs,
                           <a href="http://docs.oracle.com/javase/7/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</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;&nbsp;committedFiles,
                           <a href="http://docs.oracle.com/javase/7/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</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;storeFlushableSize,
@@ -375,7 +375,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getResult</h4>
-<pre>public&nbsp;<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/HRegion.PrepareFlushResult.html#line.558">getResult</a>()</pre>
+<pre>public&nbsp;<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/HRegion.PrepareFlushResult.html#line.542">getResult</a>()</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/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 9b49397..3b2de32 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.5532">HRegion.RegionScannerImpl</a>
+<pre> class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5394">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.5534">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.5396">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.5537">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.5399">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.5541">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.5403">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.5542">filterClosed</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5404">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.5544">isScan</a></pre>
+<pre>protected final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5406">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.5545">stopRow</a></pre>
+<pre>protected final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5407">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.5546">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.5408">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.5547">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.5409">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.5548">copyCellsFromSharedMem</a></pre>
+<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5410">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.5550">readPt</a></pre>
+<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5412">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.5551">maxResultSize</a></pre>
+<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5413">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.5552">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.5414">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.5553">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.5415">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.5564">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.5426">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.5556">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.5418">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.5560">setCopyCellsFromSharedMem</a>(boolean&nbsp;copyCells)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5422">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.5628">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.5490">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.5638">getMaxResultSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5500">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.5643">getMvccReadPoint</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5505">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.5648">getBatch</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5510">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.5657">resetFilters</a>()
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5519">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.5664">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.5526">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.5671">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.5533">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.5688">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.5550">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.5694">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.5556">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.5749">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.5611">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.5773">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.5635">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.5818">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.5680">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.5826">isFilterDone</a>()
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5688">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.5830">isFilterDoneInternal</a>()
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5692">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.5834">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.5696">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.6033">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.5895">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.6041">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.5903">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.6052">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.5914">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.6079">filterRow</a>()
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5941">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.6086">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.5948">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.6090">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.5952">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.6105">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.5967">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.6111">close</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5973">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.6125">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.5987">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.6130">reseek</a>(byte[]&nbsp;row)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5992">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.6151">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.6013">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.6166">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.6028">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.6174">shipped</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6036">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.6184">run</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6046">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/358717f6/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 7399977..19e0293 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatch.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatch.html
@@ -86,7 +86,7 @@
 <li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">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;</li>
+<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">org.apache.hadoop.hbase.regionserver.HRegion.BatchOperation</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WALSplitter.MutationReplay.html" title="class in org.apache.hadoop.hbase.wal">WALSplitter.MutationReplay</a>&gt;</li>
 <li>
 <ul class="inheritance">
 <li>org.apache.hadoop.hbase.regionserver.HRegion.ReplayBatch</li>
@@ -104,8 +104,8 @@
 </dl>
 <hr>
 <br>
-<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2823">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>
+<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2780">HRegion.ReplayBatch</a>
+extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</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>
 </div>
@@ -130,11 +130,11 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 </tr>
 </table>
 <ul class="blockList">
-<li class="blockList"><a name="fields_inherited_from_class_org.apache.hadoop.hbase.regionserver.HRegion.BatchOperationInProgress">
+<li class="blockList"><a name="fields_inherited_from_class_org.apache.hadoop.hbase.regionserver.HRegion.BatchOperation">
 <!--   -->
 </a>
-<h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#nextIndexToProcess">nextIndexToProcess</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#operations">operations</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#retCodeDetails">retCodeDetails</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#walEditsFromCoprocessors">walEditsFromCoprocessors</a></code></li>
+<h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a></h3>
+<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#nextIndexToProcess">nextIndexToProcess</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#operations">operations</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#retCodeDetails">retCodeDetails</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#walEditsFromCoprocessors">walEditsFromCoprocessors</a></code></li>
 </ul>
 </li>
 </ul>
@@ -196,11 +196,11 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 </tr>
 </table>
 <ul class="blockList">
-<li class="blockList"><a name="methods_inherited_from_class_org.apache.hadoop.hbase.regionserver.HRegion.BatchOperationInProgress">
+<li class="blockList"><a name="methods_inherited_from_class_org.apache.hadoop.hbase.regionserver.HRegion.BatchOperation">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#isDone()">isDone</a></code></li>
+<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a></h3>
+<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#isDone()">isDone</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
@@ -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.2824">replaySeqId</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatch.html#line.2781">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.2825">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.2782">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,10 +264,10 @@ 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.2831">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.2788">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>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getMutation(int)">getMutation</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</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>
 </dl>
 </li>
 </ul>
@@ -277,10 +277,10 @@ 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.2836">getNonceGroup</a>(int&nbsp;index)</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatch.html#line.2793">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>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getNonceGroup(int)">getNonceGroup</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</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>
 </dl>
 </li>
 </ul>
@@ -290,10 +290,10 @@ 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.2841">getNonce</a>(int&nbsp;index)</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatch.html#line.2798">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>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getNonce(int)">getNonce</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</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>
 </dl>
 </li>
 </ul>
@@ -303,12 +303,12 @@ 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.2846">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>
+<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.2803">getMutationsForCoprocs</a>()</pre>
+<div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getMutationsForCoprocs()">HRegion.BatchOperation</a></code></strong></div>
 <div class="block">This method is potentially expensive and should only be used for non-replay CP path.</div>
 <dl>
 <dt><strong>Specified by:</strong></dt>
-<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#getMutationsForCoprocs()">getMutationsForCoprocs</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>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getMutationsForCoprocs()">getMutationsForCoprocs</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</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>
 </dl>
 </li>
 </ul>
@@ -318,10 +318,10 @@ 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.2852">isInReplay</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatch.html#line.2809">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>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#isInReplay()">isInReplay</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</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>
 </dl>
 </li>
 </ul>
@@ -331,10 +331,10 @@ 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.2857">getReplaySequenceId</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatch.html#line.2814">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>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getReplaySequenceId()">getReplaySequenceId</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</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>
 </dl>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/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 cf52e7b..59e8347 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.5264">HRegion.RowLockContext</a>
+<pre> class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5126">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.5265">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.5127">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.5266">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.5128">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.5267">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.5129">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.5268">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.5130">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.5269">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.5131">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.5271">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.5133">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.5275">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.5137">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.5279">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.5141">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.5284">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.5146">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.5295">cleanUp</a>()</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5157">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.5309">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.5171">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>


[19/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.html
index cd6f37a..902213f 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.html
@@ -465,535 +465,534 @@
 <span class="sourceLineNo">457</span>   * This is called under row lock, so Get operations will still see updates<a name="line.457"></a>
 <span class="sourceLineNo">458</span>   * atomically.  Scans will only see each KeyValue update as atomic.<a name="line.458"></a>
 <span class="sourceLineNo">459</span>   *<a name="line.459"></a>
-<span class="sourceLineNo">460</span>   * @param cells<a name="line.460"></a>
-<span class="sourceLineNo">461</span>   * @param readpoint readpoint below which we can safely remove duplicate KVs<a name="line.461"></a>
-<span class="sourceLineNo">462</span>   * @return change in memstore size<a name="line.462"></a>
-<span class="sourceLineNo">463</span>   */<a name="line.463"></a>
-<span class="sourceLineNo">464</span>  @Override<a name="line.464"></a>
-<span class="sourceLineNo">465</span>  public long upsert(Iterable&lt;Cell&gt; cells, long readpoint) {<a name="line.465"></a>
-<span class="sourceLineNo">466</span>    long size = 0;<a name="line.466"></a>
-<span class="sourceLineNo">467</span>    for (Cell cell : cells) {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>      size += upsert(cell, readpoint);<a name="line.468"></a>
-<span class="sourceLineNo">469</span>    }<a name="line.469"></a>
-<span class="sourceLineNo">470</span>    return size;<a name="line.470"></a>
-<span class="sourceLineNo">471</span>  }<a name="line.471"></a>
-<span class="sourceLineNo">472</span><a name="line.472"></a>
-<span class="sourceLineNo">473</span>  /**<a name="line.473"></a>
-<span class="sourceLineNo">474</span>   * Inserts the specified KeyValue into MemStore and deletes any existing<a name="line.474"></a>
-<span class="sourceLineNo">475</span>   * versions of the same row/family/qualifier as the specified KeyValue.<a name="line.475"></a>
-<span class="sourceLineNo">476</span>   * &lt;p&gt;<a name="line.476"></a>
-<span class="sourceLineNo">477</span>   * First, the specified KeyValue is inserted into the Memstore.<a name="line.477"></a>
-<span class="sourceLineNo">478</span>   * &lt;p&gt;<a name="line.478"></a>
-<span class="sourceLineNo">479</span>   * If there are any existing KeyValues in this MemStore with the same row,<a name="line.479"></a>
-<span class="sourceLineNo">480</span>   * family, and qualifier, they are removed.<a name="line.480"></a>
-<span class="sourceLineNo">481</span>   * &lt;p&gt;<a name="line.481"></a>
-<span class="sourceLineNo">482</span>   * Callers must hold the read lock.<a name="line.482"></a>
-<span class="sourceLineNo">483</span>   * @param readpoint Smallest outstanding readpoint; below which we can remove duplicate Cells.<a name="line.483"></a>
-<span class="sourceLineNo">484</span>   * @return change in size of MemStore<a name="line.484"></a>
-<span class="sourceLineNo">485</span>   */<a name="line.485"></a>
-<span class="sourceLineNo">486</span>  private long upsert(Cell cell, long readpoint) {<a name="line.486"></a>
-<span class="sourceLineNo">487</span>    // Add the Cell to the MemStore<a name="line.487"></a>
-<span class="sourceLineNo">488</span>    // Use the internalAdd method here since we (a) already have a lock<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    // and (b) cannot safely use the MSLAB here without potentially<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    // hitting OOME - see TestMemStore.testUpsertMSLAB for a<a name="line.490"></a>
-<span class="sourceLineNo">491</span>    // test that triggers the pathological case if we don't avoid MSLAB<a name="line.491"></a>
-<span class="sourceLineNo">492</span>    // here.<a name="line.492"></a>
-<span class="sourceLineNo">493</span>    long addedSize = internalAdd(cell);<a name="line.493"></a>
-<span class="sourceLineNo">494</span><a name="line.494"></a>
-<span class="sourceLineNo">495</span>    // Get the Cells for the row/family/qualifier regardless of timestamp.<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    // For this case we want to clean up any other puts<a name="line.496"></a>
-<span class="sourceLineNo">497</span>    Cell firstCell = KeyValueUtil.createFirstOnRow(<a name="line.497"></a>
-<span class="sourceLineNo">498</span>        cell.getRowArray(), cell.getRowOffset(), cell.getRowLength(),<a name="line.498"></a>
-<span class="sourceLineNo">499</span>        cell.getFamilyArray(), cell.getFamilyOffset(), cell.getFamilyLength(),<a name="line.499"></a>
-<span class="sourceLineNo">500</span>        cell.getQualifierArray(), cell.getQualifierOffset(), cell.getQualifierLength());<a name="line.500"></a>
-<span class="sourceLineNo">501</span>    SortedSet&lt;Cell&gt; ss = cellSet.tailSet(firstCell);<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    Iterator&lt;Cell&gt; it = ss.iterator();<a name="line.502"></a>
-<span class="sourceLineNo">503</span>    // Versions visible to oldest scanner.<a name="line.503"></a>
-<span class="sourceLineNo">504</span>    int versionsVisible = 0;<a name="line.504"></a>
-<span class="sourceLineNo">505</span>    while ( it.hasNext() ) {<a name="line.505"></a>
-<span class="sourceLineNo">506</span>      Cell cur = it.next();<a name="line.506"></a>
-<span class="sourceLineNo">507</span><a name="line.507"></a>
-<span class="sourceLineNo">508</span>      if (cell == cur) {<a name="line.508"></a>
-<span class="sourceLineNo">509</span>        // ignore the one just put in<a name="line.509"></a>
-<span class="sourceLineNo">510</span>        continue;<a name="line.510"></a>
-<span class="sourceLineNo">511</span>      }<a name="line.511"></a>
-<span class="sourceLineNo">512</span>      // check that this is the row and column we are interested in, otherwise bail<a name="line.512"></a>
-<span class="sourceLineNo">513</span>      if (CellUtil.matchingRow(cell, cur) &amp;&amp; CellUtil.matchingQualifier(cell, cur)) {<a name="line.513"></a>
-<span class="sourceLineNo">514</span>        // only remove Puts that concurrent scanners cannot possibly see<a name="line.514"></a>
-<span class="sourceLineNo">515</span>        if (cur.getTypeByte() == KeyValue.Type.Put.getCode() &amp;&amp;<a name="line.515"></a>
-<span class="sourceLineNo">516</span>            cur.getSequenceId() &lt;= readpoint) {<a name="line.516"></a>
-<span class="sourceLineNo">517</span>          if (versionsVisible &gt;= 1) {<a name="line.517"></a>
-<span class="sourceLineNo">518</span>            // if we get here we have seen at least one version visible to the oldest scanner,<a name="line.518"></a>
-<span class="sourceLineNo">519</span>            // which means we can prove that no scanner will see this version<a name="line.519"></a>
-<span class="sourceLineNo">520</span><a name="line.520"></a>
-<span class="sourceLineNo">521</span>            // false means there was a change, so give us the size.<a name="line.521"></a>
-<span class="sourceLineNo">522</span>            long delta = heapSizeChange(cur, true);<a name="line.522"></a>
-<span class="sourceLineNo">523</span>            addedSize -= delta;<a name="line.523"></a>
-<span class="sourceLineNo">524</span>            this.size.addAndGet(-delta);<a name="line.524"></a>
-<span class="sourceLineNo">525</span>            it.remove();<a name="line.525"></a>
-<span class="sourceLineNo">526</span>            setOldestEditTimeToNow();<a name="line.526"></a>
-<span class="sourceLineNo">527</span>          } else {<a name="line.527"></a>
-<span class="sourceLineNo">528</span>            versionsVisible++;<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>      } else {<a name="line.531"></a>
-<span class="sourceLineNo">532</span>        // past the row or column, done<a name="line.532"></a>
-<span class="sourceLineNo">533</span>        break;<a name="line.533"></a>
-<span class="sourceLineNo">534</span>      }<a name="line.534"></a>
-<span class="sourceLineNo">535</span>    }<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    return addedSize;<a name="line.536"></a>
-<span class="sourceLineNo">537</span>  }<a name="line.537"></a>
-<span class="sourceLineNo">538</span><a name="line.538"></a>
-<span class="sourceLineNo">539</span>  /**<a name="line.539"></a>
-<span class="sourceLineNo">540</span>   * @return scanner on memstore and snapshot in this order.<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 List&lt;KeyValueScanner&gt; getScanners(long readPt) {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>    return Collections.&lt;KeyValueScanner&gt; singletonList(new MemStoreScanner(readPt));<a name="line.544"></a>
-<span class="sourceLineNo">545</span>  }<a name="line.545"></a>
-<span class="sourceLineNo">546</span><a name="line.546"></a>
-<span class="sourceLineNo">547</span>  /**<a name="line.547"></a>
-<span class="sourceLineNo">548</span>   * Check if this memstore may contain the required keys<a name="line.548"></a>
-<span class="sourceLineNo">549</span>   * @param scan scan<a name="line.549"></a>
-<span class="sourceLineNo">550</span>   * @param store holds reference to cf<a name="line.550"></a>
-<span class="sourceLineNo">551</span>   * @param oldestUnexpiredTS<a name="line.551"></a>
-<span class="sourceLineNo">552</span>   * @return False if the key definitely does not exist in this Memstore<a name="line.552"></a>
-<span class="sourceLineNo">553</span>   */<a name="line.553"></a>
-<span class="sourceLineNo">554</span>  public boolean shouldSeek(Scan scan, Store store, long oldestUnexpiredTS) {<a name="line.554"></a>
-<span class="sourceLineNo">555</span>    byte[] cf = store.getFamily().getName();<a name="line.555"></a>
-<span class="sourceLineNo">556</span>    TimeRange timeRange = scan.getColumnFamilyTimeRange().get(cf);<a name="line.556"></a>
-<span class="sourceLineNo">557</span>    if (timeRange == null) {<a name="line.557"></a>
-<span class="sourceLineNo">558</span>      timeRange = scan.getTimeRange();<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    }<a name="line.559"></a>
-<span class="sourceLineNo">560</span>    return (timeRangeTracker.includesTimeRange(timeRange) ||<a name="line.560"></a>
-<span class="sourceLineNo">561</span>        snapshotTimeRangeTracker.includesTimeRange(timeRange))<a name="line.561"></a>
-<span class="sourceLineNo">562</span>        &amp;&amp; (Math.max(timeRangeTracker.getMaximumTimestamp(),<a name="line.562"></a>
-<span class="sourceLineNo">563</span>                     snapshotTimeRangeTracker.getMaximumTimestamp()) &gt;=<a name="line.563"></a>
-<span class="sourceLineNo">564</span>            oldestUnexpiredTS);<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>  /*<a name="line.567"></a>
-<span class="sourceLineNo">568</span>   * MemStoreScanner implements the KeyValueScanner.<a name="line.568"></a>
-<span class="sourceLineNo">569</span>   * It lets the caller scan the contents of a memstore -- both current<a name="line.569"></a>
-<span class="sourceLineNo">570</span>   * map and snapshot.<a name="line.570"></a>
-<span class="sourceLineNo">571</span>   * This behaves as if it were a real scanner but does not maintain position.<a name="line.571"></a>
-<span class="sourceLineNo">572</span>   */<a name="line.572"></a>
-<span class="sourceLineNo">573</span>  protected class MemStoreScanner extends NonLazyKeyValueScanner {<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    // Next row information for either cellSet or snapshot<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    private Cell cellSetNextRow = null;<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    private Cell snapshotNextRow = null;<a name="line.576"></a>
-<span class="sourceLineNo">577</span><a name="line.577"></a>
-<span class="sourceLineNo">578</span>    // last iterated Cells for cellSet and snapshot (to restore iterator state after reseek)<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    private Cell cellSetItRow = null;<a name="line.579"></a>
-<span class="sourceLineNo">580</span>    private Cell snapshotItRow = null;<a name="line.580"></a>
-<span class="sourceLineNo">581</span>    <a name="line.581"></a>
-<span class="sourceLineNo">582</span>    // iterator based scanning.<a name="line.582"></a>
-<span class="sourceLineNo">583</span>    private Iterator&lt;Cell&gt; cellSetIt;<a name="line.583"></a>
-<span class="sourceLineNo">584</span>    private Iterator&lt;Cell&gt; snapshotIt;<a name="line.584"></a>
-<span class="sourceLineNo">585</span><a name="line.585"></a>
-<span class="sourceLineNo">586</span>    // The cellSet and snapshot at the time of creating this scanner<a name="line.586"></a>
-<span class="sourceLineNo">587</span>    private CellSkipListSet cellSetAtCreation;<a name="line.587"></a>
-<span class="sourceLineNo">588</span>    private CellSkipListSet snapshotAtCreation;<a name="line.588"></a>
-<span class="sourceLineNo">589</span><a name="line.589"></a>
-<span class="sourceLineNo">590</span>    // the pre-calculated Cell to be returned by peek() or next()<a name="line.590"></a>
-<span class="sourceLineNo">591</span>    private Cell theNext;<a name="line.591"></a>
-<span class="sourceLineNo">592</span><a name="line.592"></a>
-<span class="sourceLineNo">593</span>    // The allocator and snapshot allocator at the time of creating this scanner<a name="line.593"></a>
-<span class="sourceLineNo">594</span>    volatile MemStoreLAB allocatorAtCreation;<a name="line.594"></a>
-<span class="sourceLineNo">595</span>    volatile MemStoreLAB snapshotAllocatorAtCreation;<a name="line.595"></a>
-<span class="sourceLineNo">596</span>    <a name="line.596"></a>
-<span class="sourceLineNo">597</span>    // A flag represents whether could stop skipping Cells for MVCC<a name="line.597"></a>
-<span class="sourceLineNo">598</span>    // if have encountered the next row. Only used for reversed scan<a name="line.598"></a>
-<span class="sourceLineNo">599</span>    private boolean stopSkippingCellsIfNextRow = false;<a name="line.599"></a>
-<span class="sourceLineNo">600</span><a name="line.600"></a>
-<span class="sourceLineNo">601</span>    private long readPoint;<a name="line.601"></a>
-<span class="sourceLineNo">602</span><a name="line.602"></a>
-<span class="sourceLineNo">603</span>    /*<a name="line.603"></a>
-<span class="sourceLineNo">604</span>    Some notes...<a name="line.604"></a>
-<span class="sourceLineNo">605</span><a name="line.605"></a>
-<span class="sourceLineNo">606</span>     So memstorescanner is fixed at creation time. this includes pointers/iterators into<a name="line.606"></a>
-<span class="sourceLineNo">607</span>    existing kvset/snapshot.  during a snapshot creation, the kvset is null, and the<a name="line.607"></a>
-<span class="sourceLineNo">608</span>    snapshot is moved.  since kvset is null there is no point on reseeking on both,<a name="line.608"></a>
-<span class="sourceLineNo">609</span>      we can save us the trouble. During the snapshot-&gt;hfile transition, the memstore<a name="line.609"></a>
-<span class="sourceLineNo">610</span>      scanner is re-created by StoreScanner#updateReaders().  StoreScanner should<a name="line.610"></a>
-<span class="sourceLineNo">611</span>      potentially do something smarter by adjusting the existing memstore scanner.<a name="line.611"></a>
-<span class="sourceLineNo">612</span><a name="line.612"></a>
-<span class="sourceLineNo">613</span>      But there is a greater problem here, that being once a scanner has progressed<a name="line.613"></a>
-<span class="sourceLineNo">614</span>      during a snapshot scenario, we currently iterate past the kvset then 'finish' up.<a name="line.614"></a>
-<span class="sourceLineNo">615</span>      if a scan lasts a little while, there is a chance for new entries in kvset to<a name="line.615"></a>
-<span class="sourceLineNo">616</span>      become available but we will never see them.  This needs to be handled at the<a name="line.616"></a>
-<span class="sourceLineNo">617</span>      StoreScanner level with coordination with MemStoreScanner.<a name="line.617"></a>
-<span class="sourceLineNo">618</span><a name="line.618"></a>
-<span class="sourceLineNo">619</span>      Currently, this problem is only partly managed: during the small amount of time<a name="line.619"></a>
-<span class="sourceLineNo">620</span>      when the StoreScanner has not yet created a new MemStoreScanner, we will miss<a name="line.620"></a>
-<span class="sourceLineNo">621</span>      the adds to kvset in the MemStoreScanner.<a name="line.621"></a>
-<span class="sourceLineNo">622</span>    */<a name="line.622"></a>
-<span class="sourceLineNo">623</span><a name="line.623"></a>
-<span class="sourceLineNo">624</span>    MemStoreScanner(long readPoint) {<a name="line.624"></a>
-<span class="sourceLineNo">625</span>      super();<a name="line.625"></a>
-<span class="sourceLineNo">626</span><a name="line.626"></a>
-<span class="sourceLineNo">627</span>      this.readPoint = readPoint;<a name="line.627"></a>
-<span class="sourceLineNo">628</span>      cellSetAtCreation = cellSet;<a name="line.628"></a>
-<span class="sourceLineNo">629</span>      snapshotAtCreation = snapshot;<a name="line.629"></a>
-<span class="sourceLineNo">630</span>      if (allocator != null) {<a name="line.630"></a>
-<span class="sourceLineNo">631</span>        this.allocatorAtCreation = allocator;<a name="line.631"></a>
-<span class="sourceLineNo">632</span>        this.allocatorAtCreation.incScannerCount();<a name="line.632"></a>
-<span class="sourceLineNo">633</span>      }<a name="line.633"></a>
-<span class="sourceLineNo">634</span>      if (snapshotAllocator != null) {<a name="line.634"></a>
-<span class="sourceLineNo">635</span>        this.snapshotAllocatorAtCreation = snapshotAllocator;<a name="line.635"></a>
-<span class="sourceLineNo">636</span>        this.snapshotAllocatorAtCreation.incScannerCount();<a name="line.636"></a>
-<span class="sourceLineNo">637</span>      }<a name="line.637"></a>
-<span class="sourceLineNo">638</span>      if (Trace.isTracing() &amp;&amp; Trace.currentSpan() != null) {<a name="line.638"></a>
-<span class="sourceLineNo">639</span>        Trace.currentSpan().addTimelineAnnotation("Creating MemStoreScanner");<a name="line.639"></a>
-<span class="sourceLineNo">640</span>      }<a name="line.640"></a>
-<span class="sourceLineNo">641</span>    }<a name="line.641"></a>
-<span class="sourceLineNo">642</span><a name="line.642"></a>
-<span class="sourceLineNo">643</span>    /**<a name="line.643"></a>
-<span class="sourceLineNo">644</span>     * Lock on 'this' must be held by caller.<a name="line.644"></a>
-<span class="sourceLineNo">645</span>     * @param it<a name="line.645"></a>
-<span class="sourceLineNo">646</span>     * @return Next Cell<a name="line.646"></a>
-<span class="sourceLineNo">647</span>     */<a name="line.647"></a>
-<span class="sourceLineNo">648</span>    private Cell getNext(Iterator&lt;Cell&gt; it) {<a name="line.648"></a>
-<span class="sourceLineNo">649</span>      Cell startCell = theNext;<a name="line.649"></a>
-<span class="sourceLineNo">650</span>      Cell v = null;<a name="line.650"></a>
-<span class="sourceLineNo">651</span>      try {<a name="line.651"></a>
-<span class="sourceLineNo">652</span>        while (it.hasNext()) {<a name="line.652"></a>
-<span class="sourceLineNo">653</span>          v = it.next();<a name="line.653"></a>
-<span class="sourceLineNo">654</span>          if (v.getSequenceId() &lt;= this.readPoint) {<a name="line.654"></a>
-<span class="sourceLineNo">655</span>            return v;<a name="line.655"></a>
-<span class="sourceLineNo">656</span>          }<a name="line.656"></a>
-<span class="sourceLineNo">657</span>          if (stopSkippingCellsIfNextRow &amp;&amp; startCell != null<a name="line.657"></a>
-<span class="sourceLineNo">658</span>              &amp;&amp; comparator.compareRows(v, startCell) &gt; 0) {<a name="line.658"></a>
-<span class="sourceLineNo">659</span>            return null;<a name="line.659"></a>
-<span class="sourceLineNo">660</span>          }<a name="line.660"></a>
-<span class="sourceLineNo">661</span>        }<a name="line.661"></a>
-<span class="sourceLineNo">662</span><a name="line.662"></a>
-<span class="sourceLineNo">663</span>        return null;<a name="line.663"></a>
-<span class="sourceLineNo">664</span>      } finally {<a name="line.664"></a>
-<span class="sourceLineNo">665</span>        if (v != null) {<a name="line.665"></a>
-<span class="sourceLineNo">666</span>          // in all cases, remember the last Cell iterated to<a name="line.666"></a>
-<span class="sourceLineNo">667</span>          if (it == snapshotIt) {<a name="line.667"></a>
-<span class="sourceLineNo">668</span>            snapshotItRow = v;<a name="line.668"></a>
-<span class="sourceLineNo">669</span>          } else {<a name="line.669"></a>
-<span class="sourceLineNo">670</span>            cellSetItRow = v;<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>    }<a name="line.674"></a>
-<span class="sourceLineNo">675</span><a name="line.675"></a>
-<span class="sourceLineNo">676</span>    /**<a name="line.676"></a>
-<span class="sourceLineNo">677</span>     *  Set the scanner at the seek key.<a name="line.677"></a>
-<span class="sourceLineNo">678</span>     *  Must be called only once: there is no thread safety between the scanner<a name="line.678"></a>
-<span class="sourceLineNo">679</span>     *   and the memStore.<a name="line.679"></a>
-<span class="sourceLineNo">680</span>     * @param key seek value<a name="line.680"></a>
-<span class="sourceLineNo">681</span>     * @return false if the key is null or if there is no data<a name="line.681"></a>
-<span class="sourceLineNo">682</span>     */<a name="line.682"></a>
-<span class="sourceLineNo">683</span>    @Override<a name="line.683"></a>
-<span class="sourceLineNo">684</span>    public synchronized boolean seek(Cell key) {<a name="line.684"></a>
-<span class="sourceLineNo">685</span>      if (key == null) {<a name="line.685"></a>
-<span class="sourceLineNo">686</span>        close();<a name="line.686"></a>
-<span class="sourceLineNo">687</span>        return false;<a name="line.687"></a>
-<span class="sourceLineNo">688</span>      }<a name="line.688"></a>
-<span class="sourceLineNo">689</span>      // kvset and snapshot will never be null.<a name="line.689"></a>
-<span class="sourceLineNo">690</span>      // if tailSet can't find anything, SortedSet is empty (not null).<a name="line.690"></a>
-<span class="sourceLineNo">691</span>      cellSetIt = cellSetAtCreation.tailSet(key).iterator();<a name="line.691"></a>
-<span class="sourceLineNo">692</span>      snapshotIt = snapshotAtCreation.tailSet(key).iterator();<a name="line.692"></a>
-<span class="sourceLineNo">693</span>      cellSetItRow = null;<a name="line.693"></a>
-<span class="sourceLineNo">694</span>      snapshotItRow = null;<a name="line.694"></a>
-<span class="sourceLineNo">695</span><a name="line.695"></a>
-<span class="sourceLineNo">696</span>      return seekInSubLists(key);<a name="line.696"></a>
-<span class="sourceLineNo">697</span>    }<a name="line.697"></a>
+<span class="sourceLineNo">460</span>   * @param readpoint readpoint below which we can safely remove duplicate KVs<a name="line.460"></a>
+<span class="sourceLineNo">461</span>   * @return change in memstore size<a name="line.461"></a>
+<span class="sourceLineNo">462</span>   */<a name="line.462"></a>
+<span class="sourceLineNo">463</span>  @Override<a name="line.463"></a>
+<span class="sourceLineNo">464</span>  public long upsert(Iterable&lt;Cell&gt; cells, long readpoint) {<a name="line.464"></a>
+<span class="sourceLineNo">465</span>    long size = 0;<a name="line.465"></a>
+<span class="sourceLineNo">466</span>    for (Cell cell : cells) {<a name="line.466"></a>
+<span class="sourceLineNo">467</span>      size += upsert(cell, readpoint);<a name="line.467"></a>
+<span class="sourceLineNo">468</span>    }<a name="line.468"></a>
+<span class="sourceLineNo">469</span>    return size;<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>  /**<a name="line.472"></a>
+<span class="sourceLineNo">473</span>   * Inserts the specified KeyValue into MemStore and deletes any existing<a name="line.473"></a>
+<span class="sourceLineNo">474</span>   * versions of the same row/family/qualifier as the specified KeyValue.<a name="line.474"></a>
+<span class="sourceLineNo">475</span>   * &lt;p&gt;<a name="line.475"></a>
+<span class="sourceLineNo">476</span>   * First, the specified KeyValue is inserted into the Memstore.<a name="line.476"></a>
+<span class="sourceLineNo">477</span>   * &lt;p&gt;<a name="line.477"></a>
+<span class="sourceLineNo">478</span>   * If there are any existing KeyValues in this MemStore with the same row,<a name="line.478"></a>
+<span class="sourceLineNo">479</span>   * family, and qualifier, they are removed.<a name="line.479"></a>
+<span class="sourceLineNo">480</span>   * &lt;p&gt;<a name="line.480"></a>
+<span class="sourceLineNo">481</span>   * Callers must hold the read lock.<a name="line.481"></a>
+<span class="sourceLineNo">482</span>   * @param readpoint Smallest outstanding readpoint; below which we can remove duplicate Cells.<a name="line.482"></a>
+<span class="sourceLineNo">483</span>   * @return change in size of MemStore<a name="line.483"></a>
+<span class="sourceLineNo">484</span>   */<a name="line.484"></a>
+<span class="sourceLineNo">485</span>  private long upsert(Cell cell, long readpoint) {<a name="line.485"></a>
+<span class="sourceLineNo">486</span>    // Add the Cell to the MemStore<a name="line.486"></a>
+<span class="sourceLineNo">487</span>    // Use the internalAdd method here since we (a) already have a lock<a name="line.487"></a>
+<span class="sourceLineNo">488</span>    // and (b) cannot safely use the MSLAB here without potentially<a name="line.488"></a>
+<span class="sourceLineNo">489</span>    // hitting OOME - see TestMemStore.testUpsertMSLAB for a<a name="line.489"></a>
+<span class="sourceLineNo">490</span>    // test that triggers the pathological case if we don't avoid MSLAB<a name="line.490"></a>
+<span class="sourceLineNo">491</span>    // here.<a name="line.491"></a>
+<span class="sourceLineNo">492</span>    long addedSize = internalAdd(cell);<a name="line.492"></a>
+<span class="sourceLineNo">493</span><a name="line.493"></a>
+<span class="sourceLineNo">494</span>    // Get the Cells for the row/family/qualifier regardless of timestamp.<a name="line.494"></a>
+<span class="sourceLineNo">495</span>    // For this case we want to clean up any other puts<a name="line.495"></a>
+<span class="sourceLineNo">496</span>    Cell firstCell = KeyValueUtil.createFirstOnRow(<a name="line.496"></a>
+<span class="sourceLineNo">497</span>        cell.getRowArray(), cell.getRowOffset(), cell.getRowLength(),<a name="line.497"></a>
+<span class="sourceLineNo">498</span>        cell.getFamilyArray(), cell.getFamilyOffset(), cell.getFamilyLength(),<a name="line.498"></a>
+<span class="sourceLineNo">499</span>        cell.getQualifierArray(), cell.getQualifierOffset(), cell.getQualifierLength());<a name="line.499"></a>
+<span class="sourceLineNo">500</span>    SortedSet&lt;Cell&gt; ss = cellSet.tailSet(firstCell);<a name="line.500"></a>
+<span class="sourceLineNo">501</span>    Iterator&lt;Cell&gt; it = ss.iterator();<a name="line.501"></a>
+<span class="sourceLineNo">502</span>    // Versions visible to oldest scanner.<a name="line.502"></a>
+<span class="sourceLineNo">503</span>    int versionsVisible = 0;<a name="line.503"></a>
+<span class="sourceLineNo">504</span>    while ( it.hasNext() ) {<a name="line.504"></a>
+<span class="sourceLineNo">505</span>      Cell cur = it.next();<a name="line.505"></a>
+<span class="sourceLineNo">506</span><a name="line.506"></a>
+<span class="sourceLineNo">507</span>      if (cell == cur) {<a name="line.507"></a>
+<span class="sourceLineNo">508</span>        // ignore the one just put in<a name="line.508"></a>
+<span class="sourceLineNo">509</span>        continue;<a name="line.509"></a>
+<span class="sourceLineNo">510</span>      }<a name="line.510"></a>
+<span class="sourceLineNo">511</span>      // check that this is the row and column we are interested in, otherwise bail<a name="line.511"></a>
+<span class="sourceLineNo">512</span>      if (CellUtil.matchingRow(cell, cur) &amp;&amp; CellUtil.matchingQualifier(cell, cur)) {<a name="line.512"></a>
+<span class="sourceLineNo">513</span>        // only remove Puts that concurrent scanners cannot possibly see<a name="line.513"></a>
+<span class="sourceLineNo">514</span>        if (cur.getTypeByte() == KeyValue.Type.Put.getCode() &amp;&amp;<a name="line.514"></a>
+<span class="sourceLineNo">515</span>            cur.getSequenceId() &lt;= readpoint) {<a name="line.515"></a>
+<span class="sourceLineNo">516</span>          if (versionsVisible &gt;= 1) {<a name="line.516"></a>
+<span class="sourceLineNo">517</span>            // if we get here we have seen at least one version visible to the oldest scanner,<a name="line.517"></a>
+<span class="sourceLineNo">518</span>            // which means we can prove that no scanner will see this version<a name="line.518"></a>
+<span class="sourceLineNo">519</span><a name="line.519"></a>
+<span class="sourceLineNo">520</span>            // false means there was a change, so give us the size.<a name="line.520"></a>
+<span class="sourceLineNo">521</span>            long delta = heapSizeChange(cur, true);<a name="line.521"></a>
+<span class="sourceLineNo">522</span>            addedSize -= delta;<a name="line.522"></a>
+<span class="sourceLineNo">523</span>            this.size.addAndGet(-delta);<a name="line.523"></a>
+<span class="sourceLineNo">524</span>            it.remove();<a name="line.524"></a>
+<span class="sourceLineNo">525</span>            setOldestEditTimeToNow();<a name="line.525"></a>
+<span class="sourceLineNo">526</span>          } else {<a name="line.526"></a>
+<span class="sourceLineNo">527</span>            versionsVisible++;<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>      } else {<a name="line.530"></a>
+<span class="sourceLineNo">531</span>        // past the row or column, done<a name="line.531"></a>
+<span class="sourceLineNo">532</span>        break;<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>    return addedSize;<a name="line.535"></a>
+<span class="sourceLineNo">536</span>  }<a name="line.536"></a>
+<span class="sourceLineNo">537</span><a name="line.537"></a>
+<span class="sourceLineNo">538</span>  /**<a name="line.538"></a>
+<span class="sourceLineNo">539</span>   * @return scanner on memstore and snapshot in this order.<a name="line.539"></a>
+<span class="sourceLineNo">540</span>   */<a name="line.540"></a>
+<span class="sourceLineNo">541</span>  @Override<a name="line.541"></a>
+<span class="sourceLineNo">542</span>  public List&lt;KeyValueScanner&gt; getScanners(long readPt) {<a name="line.542"></a>
+<span class="sourceLineNo">543</span>    return Collections.&lt;KeyValueScanner&gt; singletonList(new MemStoreScanner(readPt));<a name="line.543"></a>
+<span class="sourceLineNo">544</span>  }<a name="line.544"></a>
+<span class="sourceLineNo">545</span><a name="line.545"></a>
+<span class="sourceLineNo">546</span>  /**<a name="line.546"></a>
+<span class="sourceLineNo">547</span>   * Check if this memstore may contain the required keys<a name="line.547"></a>
+<span class="sourceLineNo">548</span>   * @param scan scan<a name="line.548"></a>
+<span class="sourceLineNo">549</span>   * @param store holds reference to cf<a name="line.549"></a>
+<span class="sourceLineNo">550</span>   * @param oldestUnexpiredTS<a name="line.550"></a>
+<span class="sourceLineNo">551</span>   * @return False if the key definitely does not exist in this Memstore<a name="line.551"></a>
+<span class="sourceLineNo">552</span>   */<a name="line.552"></a>
+<span class="sourceLineNo">553</span>  public boolean shouldSeek(Scan scan, Store store, long oldestUnexpiredTS) {<a name="line.553"></a>
+<span class="sourceLineNo">554</span>    byte[] cf = store.getFamily().getName();<a name="line.554"></a>
+<span class="sourceLineNo">555</span>    TimeRange timeRange = scan.getColumnFamilyTimeRange().get(cf);<a name="line.555"></a>
+<span class="sourceLineNo">556</span>    if (timeRange == null) {<a name="line.556"></a>
+<span class="sourceLineNo">557</span>      timeRange = scan.getTimeRange();<a name="line.557"></a>
+<span class="sourceLineNo">558</span>    }<a name="line.558"></a>
+<span class="sourceLineNo">559</span>    return (timeRangeTracker.includesTimeRange(timeRange) ||<a name="line.559"></a>
+<span class="sourceLineNo">560</span>        snapshotTimeRangeTracker.includesTimeRange(timeRange))<a name="line.560"></a>
+<span class="sourceLineNo">561</span>        &amp;&amp; (Math.max(timeRangeTracker.getMaximumTimestamp(),<a name="line.561"></a>
+<span class="sourceLineNo">562</span>                     snapshotTimeRangeTracker.getMaximumTimestamp()) &gt;=<a name="line.562"></a>
+<span class="sourceLineNo">563</span>            oldestUnexpiredTS);<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>   * MemStoreScanner implements the KeyValueScanner.<a name="line.567"></a>
+<span class="sourceLineNo">568</span>   * It lets the caller scan the contents of a memstore -- both current<a name="line.568"></a>
+<span class="sourceLineNo">569</span>   * map and snapshot.<a name="line.569"></a>
+<span class="sourceLineNo">570</span>   * This behaves as if it were a real scanner but does not maintain position.<a name="line.570"></a>
+<span class="sourceLineNo">571</span>   */<a name="line.571"></a>
+<span class="sourceLineNo">572</span>  protected class MemStoreScanner extends NonLazyKeyValueScanner {<a name="line.572"></a>
+<span class="sourceLineNo">573</span>    // Next row information for either cellSet or snapshot<a name="line.573"></a>
+<span class="sourceLineNo">574</span>    private Cell cellSetNextRow = null;<a name="line.574"></a>
+<span class="sourceLineNo">575</span>    private Cell snapshotNextRow = null;<a name="line.575"></a>
+<span class="sourceLineNo">576</span><a name="line.576"></a>
+<span class="sourceLineNo">577</span>    // last iterated Cells for cellSet and snapshot (to restore iterator state after reseek)<a name="line.577"></a>
+<span class="sourceLineNo">578</span>    private Cell cellSetItRow = null;<a name="line.578"></a>
+<span class="sourceLineNo">579</span>    private Cell snapshotItRow = null;<a name="line.579"></a>
+<span class="sourceLineNo">580</span><a name="line.580"></a>
+<span class="sourceLineNo">581</span>    // iterator based scanning.<a name="line.581"></a>
+<span class="sourceLineNo">582</span>    private Iterator&lt;Cell&gt; cellSetIt;<a name="line.582"></a>
+<span class="sourceLineNo">583</span>    private Iterator&lt;Cell&gt; snapshotIt;<a name="line.583"></a>
+<span class="sourceLineNo">584</span><a name="line.584"></a>
+<span class="sourceLineNo">585</span>    // The cellSet and snapshot at the time of creating this scanner<a name="line.585"></a>
+<span class="sourceLineNo">586</span>    private CellSkipListSet cellSetAtCreation;<a name="line.586"></a>
+<span class="sourceLineNo">587</span>    private CellSkipListSet snapshotAtCreation;<a name="line.587"></a>
+<span class="sourceLineNo">588</span><a name="line.588"></a>
+<span class="sourceLineNo">589</span>    // the pre-calculated Cell to be returned by peek() or next()<a name="line.589"></a>
+<span class="sourceLineNo">590</span>    private Cell theNext;<a name="line.590"></a>
+<span class="sourceLineNo">591</span><a name="line.591"></a>
+<span class="sourceLineNo">592</span>    // The allocator and snapshot allocator at the time of creating this scanner<a name="line.592"></a>
+<span class="sourceLineNo">593</span>    volatile MemStoreLAB allocatorAtCreation;<a name="line.593"></a>
+<span class="sourceLineNo">594</span>    volatile MemStoreLAB snapshotAllocatorAtCreation;<a name="line.594"></a>
+<span class="sourceLineNo">595</span><a name="line.595"></a>
+<span class="sourceLineNo">596</span>    // A flag represents whether could stop skipping Cells for MVCC<a name="line.596"></a>
+<span class="sourceLineNo">597</span>    // if have encountered the next row. Only used for reversed scan<a name="line.597"></a>
+<span class="sourceLineNo">598</span>    private boolean stopSkippingCellsIfNextRow = false;<a name="line.598"></a>
+<span class="sourceLineNo">599</span><a name="line.599"></a>
+<span class="sourceLineNo">600</span>    private long readPoint;<a name="line.600"></a>
+<span class="sourceLineNo">601</span><a name="line.601"></a>
+<span class="sourceLineNo">602</span>    /*<a name="line.602"></a>
+<span class="sourceLineNo">603</span>    Some notes...<a name="line.603"></a>
+<span class="sourceLineNo">604</span><a name="line.604"></a>
+<span class="sourceLineNo">605</span>     So memstorescanner is fixed at creation time. this includes pointers/iterators into<a name="line.605"></a>
+<span class="sourceLineNo">606</span>    existing kvset/snapshot.  during a snapshot creation, the kvset is null, and the<a name="line.606"></a>
+<span class="sourceLineNo">607</span>    snapshot is moved.  since kvset is null there is no point on reseeking on both,<a name="line.607"></a>
+<span class="sourceLineNo">608</span>      we can save us the trouble. During the snapshot-&gt;hfile transition, the memstore<a name="line.608"></a>
+<span class="sourceLineNo">609</span>      scanner is re-created by StoreScanner#updateReaders().  StoreScanner should<a name="line.609"></a>
+<span class="sourceLineNo">610</span>      potentially do something smarter by adjusting the existing memstore scanner.<a name="line.610"></a>
+<span class="sourceLineNo">611</span><a name="line.611"></a>
+<span class="sourceLineNo">612</span>      But there is a greater problem here, that being once a scanner has progressed<a name="line.612"></a>
+<span class="sourceLineNo">613</span>      during a snapshot scenario, we currently iterate past the kvset then 'finish' up.<a name="line.613"></a>
+<span class="sourceLineNo">614</span>      if a scan lasts a little while, there is a chance for new entries in kvset to<a name="line.614"></a>
+<span class="sourceLineNo">615</span>      become available but we will never see them.  This needs to be handled at the<a name="line.615"></a>
+<span class="sourceLineNo">616</span>      StoreScanner level with coordination with MemStoreScanner.<a name="line.616"></a>
+<span class="sourceLineNo">617</span><a name="line.617"></a>
+<span class="sourceLineNo">618</span>      Currently, this problem is only partly managed: during the small amount of time<a name="line.618"></a>
+<span class="sourceLineNo">619</span>      when the StoreScanner has not yet created a new MemStoreScanner, we will miss<a name="line.619"></a>
+<span class="sourceLineNo">620</span>      the adds to kvset in the MemStoreScanner.<a name="line.620"></a>
+<span class="sourceLineNo">621</span>    */<a name="line.621"></a>
+<span class="sourceLineNo">622</span><a name="line.622"></a>
+<span class="sourceLineNo">623</span>    MemStoreScanner(long readPoint) {<a name="line.623"></a>
+<span class="sourceLineNo">624</span>      super();<a name="line.624"></a>
+<span class="sourceLineNo">625</span><a name="line.625"></a>
+<span class="sourceLineNo">626</span>      this.readPoint = readPoint;<a name="line.626"></a>
+<span class="sourceLineNo">627</span>      cellSetAtCreation = cellSet;<a name="line.627"></a>
+<span class="sourceLineNo">628</span>      snapshotAtCreation = snapshot;<a name="line.628"></a>
+<span class="sourceLineNo">629</span>      if (allocator != null) {<a name="line.629"></a>
+<span class="sourceLineNo">630</span>        this.allocatorAtCreation = allocator;<a name="line.630"></a>
+<span class="sourceLineNo">631</span>        this.allocatorAtCreation.incScannerCount();<a name="line.631"></a>
+<span class="sourceLineNo">632</span>      }<a name="line.632"></a>
+<span class="sourceLineNo">633</span>      if (snapshotAllocator != null) {<a name="line.633"></a>
+<span class="sourceLineNo">634</span>        this.snapshotAllocatorAtCreation = snapshotAllocator;<a name="line.634"></a>
+<span class="sourceLineNo">635</span>        this.snapshotAllocatorAtCreation.incScannerCount();<a name="line.635"></a>
+<span class="sourceLineNo">636</span>      }<a name="line.636"></a>
+<span class="sourceLineNo">637</span>      if (Trace.isTracing() &amp;&amp; Trace.currentSpan() != null) {<a name="line.637"></a>
+<span class="sourceLineNo">638</span>        Trace.currentSpan().addTimelineAnnotation("Creating MemStoreScanner");<a name="line.638"></a>
+<span class="sourceLineNo">639</span>      }<a name="line.639"></a>
+<span class="sourceLineNo">640</span>    }<a name="line.640"></a>
+<span class="sourceLineNo">641</span><a name="line.641"></a>
+<span class="sourceLineNo">642</span>    /**<a name="line.642"></a>
+<span class="sourceLineNo">643</span>     * Lock on 'this' must be held by caller.<a name="line.643"></a>
+<span class="sourceLineNo">644</span>     * @param it<a name="line.644"></a>
+<span class="sourceLineNo">645</span>     * @return Next Cell<a name="line.645"></a>
+<span class="sourceLineNo">646</span>     */<a name="line.646"></a>
+<span class="sourceLineNo">647</span>    private Cell getNext(Iterator&lt;Cell&gt; it) {<a name="line.647"></a>
+<span class="sourceLineNo">648</span>      Cell startCell = theNext;<a name="line.648"></a>
+<span class="sourceLineNo">649</span>      Cell v = null;<a name="line.649"></a>
+<span class="sourceLineNo">650</span>      try {<a name="line.650"></a>
+<span class="sourceLineNo">651</span>        while (it.hasNext()) {<a name="line.651"></a>
+<span class="sourceLineNo">652</span>          v = it.next();<a name="line.652"></a>
+<span class="sourceLineNo">653</span>          if (v.getSequenceId() &lt;= this.readPoint) {<a name="line.653"></a>
+<span class="sourceLineNo">654</span>            return v;<a name="line.654"></a>
+<span class="sourceLineNo">655</span>          }<a name="line.655"></a>
+<span class="sourceLineNo">656</span>          if (stopSkippingCellsIfNextRow &amp;&amp; startCell != null<a name="line.656"></a>
+<span class="sourceLineNo">657</span>              &amp;&amp; comparator.compareRows(v, startCell) &gt; 0) {<a name="line.657"></a>
+<span class="sourceLineNo">658</span>            return null;<a name="line.658"></a>
+<span class="sourceLineNo">659</span>          }<a name="line.659"></a>
+<span class="sourceLineNo">660</span>        }<a name="line.660"></a>
+<span class="sourceLineNo">661</span><a name="line.661"></a>
+<span class="sourceLineNo">662</span>        return null;<a name="line.662"></a>
+<span class="sourceLineNo">663</span>      } finally {<a name="line.663"></a>
+<span class="sourceLineNo">664</span>        if (v != null) {<a name="line.664"></a>
+<span class="sourceLineNo">665</span>          // in all cases, remember the last Cell iterated to<a name="line.665"></a>
+<span class="sourceLineNo">666</span>          if (it == snapshotIt) {<a name="line.666"></a>
+<span class="sourceLineNo">667</span>            snapshotItRow = v;<a name="line.667"></a>
+<span class="sourceLineNo">668</span>          } else {<a name="line.668"></a>
+<span class="sourceLineNo">669</span>            cellSetItRow = v;<a name="line.669"></a>
+<span class="sourceLineNo">670</span>          }<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><a name="line.674"></a>
+<span class="sourceLineNo">675</span>    /**<a name="line.675"></a>
+<span class="sourceLineNo">676</span>     *  Set the scanner at the seek key.<a name="line.676"></a>
+<span class="sourceLineNo">677</span>     *  Must be called only once: there is no thread safety between the scanner<a name="line.677"></a>
+<span class="sourceLineNo">678</span>     *   and the memStore.<a name="line.678"></a>
+<span class="sourceLineNo">679</span>     * @param key seek value<a name="line.679"></a>
+<span class="sourceLineNo">680</span>     * @return false if the key is null or if there is no data<a name="line.680"></a>
+<span class="sourceLineNo">681</span>     */<a name="line.681"></a>
+<span class="sourceLineNo">682</span>    @Override<a name="line.682"></a>
+<span class="sourceLineNo">683</span>    public synchronized boolean seek(Cell key) {<a name="line.683"></a>
+<span class="sourceLineNo">684</span>      if (key == null) {<a name="line.684"></a>
+<span class="sourceLineNo">685</span>        close();<a name="line.685"></a>
+<span class="sourceLineNo">686</span>        return false;<a name="line.686"></a>
+<span class="sourceLineNo">687</span>      }<a name="line.687"></a>
+<span class="sourceLineNo">688</span>      // kvset and snapshot will never be null.<a name="line.688"></a>
+<span class="sourceLineNo">689</span>      // if tailSet can't find anything, SortedSet is empty (not null).<a name="line.689"></a>
+<span class="sourceLineNo">690</span>      cellSetIt = cellSetAtCreation.tailSet(key).iterator();<a name="line.690"></a>
+<span class="sourceLineNo">691</span>      snapshotIt = snapshotAtCreation.tailSet(key).iterator();<a name="line.691"></a>
+<span class="sourceLineNo">692</span>      cellSetItRow = null;<a name="line.692"></a>
+<span class="sourceLineNo">693</span>      snapshotItRow = null;<a name="line.693"></a>
+<span class="sourceLineNo">694</span><a name="line.694"></a>
+<span class="sourceLineNo">695</span>      return seekInSubLists(key);<a name="line.695"></a>
+<span class="sourceLineNo">696</span>    }<a name="line.696"></a>
+<span class="sourceLineNo">697</span><a name="line.697"></a>
 <span class="sourceLineNo">698</span><a name="line.698"></a>
-<span class="sourceLineNo">699</span><a name="line.699"></a>
-<span class="sourceLineNo">700</span>    /**<a name="line.700"></a>
-<span class="sourceLineNo">701</span>     * (Re)initialize the iterators after a seek or a reseek.<a name="line.701"></a>
-<span class="sourceLineNo">702</span>     */<a name="line.702"></a>
-<span class="sourceLineNo">703</span>    private synchronized boolean seekInSubLists(Cell key){<a name="line.703"></a>
-<span class="sourceLineNo">704</span>      cellSetNextRow = getNext(cellSetIt);<a name="line.704"></a>
-<span class="sourceLineNo">705</span>      snapshotNextRow = getNext(snapshotIt);<a name="line.705"></a>
-<span class="sourceLineNo">706</span><a name="line.706"></a>
-<span class="sourceLineNo">707</span>      // Calculate the next value<a name="line.707"></a>
-<span class="sourceLineNo">708</span>      theNext = getLowest(cellSetNextRow, snapshotNextRow);<a name="line.708"></a>
-<span class="sourceLineNo">709</span><a name="line.709"></a>
-<span class="sourceLineNo">710</span>      // has data<a name="line.710"></a>
-<span class="sourceLineNo">711</span>      return (theNext != null);<a name="line.711"></a>
-<span class="sourceLineNo">712</span>    }<a name="line.712"></a>
+<span class="sourceLineNo">699</span>    /**<a name="line.699"></a>
+<span class="sourceLineNo">700</span>     * (Re)initialize the iterators after a seek or a reseek.<a name="line.700"></a>
+<span class="sourceLineNo">701</span>     */<a name="line.701"></a>
+<span class="sourceLineNo">702</span>    private synchronized boolean seekInSubLists(Cell key){<a name="line.702"></a>
+<span class="sourceLineNo">703</span>      cellSetNextRow = getNext(cellSetIt);<a name="line.703"></a>
+<span class="sourceLineNo">704</span>      snapshotNextRow = getNext(snapshotIt);<a name="line.704"></a>
+<span class="sourceLineNo">705</span><a name="line.705"></a>
+<span class="sourceLineNo">706</span>      // Calculate the next value<a name="line.706"></a>
+<span class="sourceLineNo">707</span>      theNext = getLowest(cellSetNextRow, snapshotNextRow);<a name="line.707"></a>
+<span class="sourceLineNo">708</span><a name="line.708"></a>
+<span class="sourceLineNo">709</span>      // has data<a name="line.709"></a>
+<span class="sourceLineNo">710</span>      return (theNext != null);<a name="line.710"></a>
+<span class="sourceLineNo">711</span>    }<a name="line.711"></a>
+<span class="sourceLineNo">712</span><a name="line.712"></a>
 <span class="sourceLineNo">713</span><a name="line.713"></a>
-<span class="sourceLineNo">714</span><a name="line.714"></a>
-<span class="sourceLineNo">715</span>    /**<a name="line.715"></a>
-<span class="sourceLineNo">716</span>     * Move forward on the sub-lists set previously by seek.<a name="line.716"></a>
-<span class="sourceLineNo">717</span>     * @param key seek value (should be non-null)<a name="line.717"></a>
-<span class="sourceLineNo">718</span>     * @return true if there is at least one KV to read, false otherwise<a name="line.718"></a>
-<span class="sourceLineNo">719</span>     */<a name="line.719"></a>
-<span class="sourceLineNo">720</span>    @Override<a name="line.720"></a>
-<span class="sourceLineNo">721</span>    public synchronized boolean reseek(Cell key) {<a name="line.721"></a>
-<span class="sourceLineNo">722</span>      /*<a name="line.722"></a>
-<span class="sourceLineNo">723</span>      See HBASE-4195 &amp; HBASE-3855 &amp; HBASE-6591 for the background on this implementation.<a name="line.723"></a>
-<span class="sourceLineNo">724</span>      This code is executed concurrently with flush and puts, without locks.<a name="line.724"></a>
-<span class="sourceLineNo">725</span>      Two points must be known when working on this code:<a name="line.725"></a>
-<span class="sourceLineNo">726</span>      1) It's not possible to use the 'kvTail' and 'snapshot'<a name="line.726"></a>
-<span class="sourceLineNo">727</span>       variables, as they are modified during a flush.<a name="line.727"></a>
-<span class="sourceLineNo">728</span>      2) The ideal implementation for performance would use the sub skip list<a name="line.728"></a>
-<span class="sourceLineNo">729</span>       implicitly pointed by the iterators 'kvsetIt' and<a name="line.729"></a>
-<span class="sourceLineNo">730</span>       'snapshotIt'. Unfortunately the Java API does not offer a method to<a name="line.730"></a>
-<span class="sourceLineNo">731</span>       get it. So we remember the last keys we iterated to and restore<a name="line.731"></a>
-<span class="sourceLineNo">732</span>       the reseeked set to at least that point.<a name="line.732"></a>
-<span class="sourceLineNo">733</span>       */<a name="line.733"></a>
-<span class="sourceLineNo">734</span>      cellSetIt = cellSetAtCreation.tailSet(getHighest(key, cellSetItRow)).iterator();<a name="line.734"></a>
-<span class="sourceLineNo">735</span>      snapshotIt = snapshotAtCreation.tailSet(getHighest(key, snapshotItRow)).iterator();<a name="line.735"></a>
-<span class="sourceLineNo">736</span><a name="line.736"></a>
-<span class="sourceLineNo">737</span>      return seekInSubLists(key);<a name="line.737"></a>
-<span class="sourceLineNo">738</span>    }<a name="line.738"></a>
+<span class="sourceLineNo">714</span>    /**<a name="line.714"></a>
+<span class="sourceLineNo">715</span>     * Move forward on the sub-lists set previously by seek.<a name="line.715"></a>
+<span class="sourceLineNo">716</span>     * @param key seek value (should be non-null)<a name="line.716"></a>
+<span class="sourceLineNo">717</span>     * @return true if there is at least one KV to read, false otherwise<a name="line.717"></a>
+<span class="sourceLineNo">718</span>     */<a name="line.718"></a>
+<span class="sourceLineNo">719</span>    @Override<a name="line.719"></a>
+<span class="sourceLineNo">720</span>    public synchronized boolean reseek(Cell key) {<a name="line.720"></a>
+<span class="sourceLineNo">721</span>      /*<a name="line.721"></a>
+<span class="sourceLineNo">722</span>      See HBASE-4195 &amp; HBASE-3855 &amp; HBASE-6591 for the background on this implementation.<a name="line.722"></a>
+<span class="sourceLineNo">723</span>      This code is executed concurrently with flush and puts, without locks.<a name="line.723"></a>
+<span class="sourceLineNo">724</span>      Two points must be known when working on this code:<a name="line.724"></a>
+<span class="sourceLineNo">725</span>      1) It's not possible to use the 'kvTail' and 'snapshot'<a name="line.725"></a>
+<span class="sourceLineNo">726</span>       variables, as they are modified during a flush.<a name="line.726"></a>
+<span class="sourceLineNo">727</span>      2) The ideal implementation for performance would use the sub skip list<a name="line.727"></a>
+<span class="sourceLineNo">728</span>       implicitly pointed by the iterators 'kvsetIt' and<a name="line.728"></a>
+<span class="sourceLineNo">729</span>       'snapshotIt'. Unfortunately the Java API does not offer a method to<a name="line.729"></a>
+<span class="sourceLineNo">730</span>       get it. So we remember the last keys we iterated to and restore<a name="line.730"></a>
+<span class="sourceLineNo">731</span>       the reseeked set to at least that point.<a name="line.731"></a>
+<span class="sourceLineNo">732</span>       */<a name="line.732"></a>
+<span class="sourceLineNo">733</span>      cellSetIt = cellSetAtCreation.tailSet(getHighest(key, cellSetItRow)).iterator();<a name="line.733"></a>
+<span class="sourceLineNo">734</span>      snapshotIt = snapshotAtCreation.tailSet(getHighest(key, snapshotItRow)).iterator();<a name="line.734"></a>
+<span class="sourceLineNo">735</span><a name="line.735"></a>
+<span class="sourceLineNo">736</span>      return seekInSubLists(key);<a name="line.736"></a>
+<span class="sourceLineNo">737</span>    }<a name="line.737"></a>
+<span class="sourceLineNo">738</span><a name="line.738"></a>
 <span class="sourceLineNo">739</span><a name="line.739"></a>
-<span class="sourceLineNo">740</span><a name="line.740"></a>
-<span class="sourceLineNo">741</span>    @Override<a name="line.741"></a>
-<span class="sourceLineNo">742</span>    public synchronized Cell peek() {<a name="line.742"></a>
-<span class="sourceLineNo">743</span>      //DebugPrint.println(" MS@" + hashCode() + " peek = " + getLowest());<a name="line.743"></a>
-<span class="sourceLineNo">744</span>      return theNext;<a name="line.744"></a>
-<span class="sourceLineNo">745</span>    }<a name="line.745"></a>
-<span class="sourceLineNo">746</span><a name="line.746"></a>
-<span class="sourceLineNo">747</span>    @Override<a name="line.747"></a>
-<span class="sourceLineNo">748</span>    public synchronized Cell next() {<a name="line.748"></a>
-<span class="sourceLineNo">749</span>      if (theNext == null) {<a name="line.749"></a>
-<span class="sourceLineNo">750</span>          return null;<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>      final Cell ret = theNext;<a name="line.753"></a>
-<span class="sourceLineNo">754</span><a name="line.754"></a>
-<span class="sourceLineNo">755</span>      // Advance one of the iterators<a name="line.755"></a>
-<span class="sourceLineNo">756</span>      if (theNext == cellSetNextRow) {<a name="line.756"></a>
-<span class="sourceLineNo">757</span>        cellSetNextRow = getNext(cellSetIt);<a name="line.757"></a>
-<span class="sourceLineNo">758</span>      } else {<a name="line.758"></a>
-<span class="sourceLineNo">759</span>        snapshotNextRow = getNext(snapshotIt);<a name="line.759"></a>
-<span class="sourceLineNo">760</span>      }<a name="line.760"></a>
-<span class="sourceLineNo">761</span><a name="line.761"></a>
-<span class="sourceLineNo">762</span>      // Calculate the next value<a name="line.762"></a>
-<span class="sourceLineNo">763</span>      theNext = getLowest(cellSetNextRow, snapshotNextRow);<a name="line.763"></a>
-<span class="sourceLineNo">764</span><a name="line.764"></a>
-<span class="sourceLineNo">765</span>      //long readpoint = ReadWriteConsistencyControl.getThreadReadPoint();<a name="line.765"></a>
-<span class="sourceLineNo">766</span>      //DebugPrint.println(" MS@" + hashCode() + " next: " + theNext + " next_next: " +<a name="line.766"></a>
-<span class="sourceLineNo">767</span>      //    getLowest() + " threadpoint=" + readpoint);<a name="line.767"></a>
-<span class="sourceLineNo">768</span>      return ret;<a name="line.768"></a>
-<span class="sourceLineNo">769</span>    }<a name="line.769"></a>
-<span class="sourceLineNo">770</span><a name="line.770"></a>
-<span class="sourceLineNo">771</span>    /*<a name="line.771"></a>
-<span class="sourceLineNo">772</span>     * Returns the lower of the two key values, or null if they are both null.<a name="line.772"></a>
-<span class="sourceLineNo">773</span>     * This uses comparator.compare() to compare the KeyValue using the memstore<a name="line.773"></a>
-<span class="sourceLineNo">774</span>     * comparator.<a name="line.774"></a>
-<span class="sourceLineNo">775</span>     */<a name="line.775"></a>
-<span class="sourceLineNo">776</span>    private Cell getLowest(Cell first, Cell second) {<a name="line.776"></a>
-<span class="sourceLineNo">777</span>      if (first == null &amp;&amp; second == null) {<a name="line.777"></a>
-<span class="sourceLineNo">778</span>        return null;<a name="line.778"></a>
-<span class="sourceLineNo">779</span>      }<a name="line.779"></a>
-<span class="sourceLineNo">780</span>      if (first != null &amp;&amp; second != null) {<a name="line.780"></a>
-<span class="sourceLineNo">781</span>        int compare = comparator.compare(first, second);<a name="line.781"></a>
-<span class="sourceLineNo">782</span>        return (compare &lt;= 0 ? first : second);<a name="line.782"></a>
-<span class="sourceLineNo">783</span>      }<a name="line.783"></a>
-<span class="sourceLineNo">784</span>      return (first != null ? first : second);<a name="line.784"></a>
-<span class="sourceLineNo">785</span>    }<a name="line.785"></a>
-<span class="sourceLineNo">786</span><a name="line.786"></a>
-<span class="sourceLineNo">787</span>    /*<a name="line.787"></a>
-<span class="sourceLineNo">788</span>     * Returns the higher of the two cells, or null if they are both null.<a name="line.788"></a>
-<span class="sourceLineNo">789</span>     * This uses comparator.compare() to compare the Cell using the memstore<a name="line.789"></a>
-<span class="sourceLineNo">790</span>     * comparator.<a name="line.790"></a>
-<span class="sourceLineNo">791</span>     */<a name="line.791"></a>
-<span class="sourceLineNo">792</span>    private Cell getHighest(Cell first, Cell second) {<a name="line.792"></a>
-<span class="sourceLineNo">793</span>      if (first == null &amp;&amp; second == null) {<a name="line.793"></a>
-<span class="sourceLineNo">794</span>        return null;<a name="line.794"></a>
-<span class="sourceLineNo">795</span>      }<a name="line.795"></a>
-<span class="sourceLineNo">796</span>      if (first != null &amp;&amp; second != null) {<a name="line.796"></a>
-<span class="sourceLineNo">797</span>        int compare = comparator.compare(first, second);<a name="line.797"></a>
-<span class="sourceLineNo">798</span>        return (compare &gt; 0 ? first : second);<a name="line.798"></a>
-<span class="sourceLineNo">799</span>      }<a name="line.799"></a>
-<span class="sourceLineNo">800</span>      return (first != null ? first : second);<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>    public synchronized void close() {<a name="line.803"></a>
-<span class="sourceLineNo">804</span>      this.cellSetNextRow = null;<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      this.snapshotNextRow = null;<a name="line.805"></a>
-<span class="sourceLineNo">806</span><a name="line.806"></a>
-<span class="sourceLineNo">807</span>      this.cellSetIt = null;<a name="line.807"></a>
-<span class="sourceLineNo">808</span>      this.snapshotIt = null;<a name="line.808"></a>
-<span class="sourceLineNo">809</span>      <a name="line.809"></a>
-<span class="sourceLineNo">810</span>      if (allocatorAtCreation != null) {<a name="line.810"></a>
-<span class="sourceLineNo">811</span>        this.allocatorAtCreation.decScannerCount();<a name="line.811"></a>
-<span class="sourceLineNo">812</span>        this.allocatorAtCreation = null;<a name="line.812"></a>
-<span class="sourceLineNo">813</span>      }<a name="line.813"></a>
-<span class="sourceLineNo">814</span>      if (snapshotAllocatorAtCreation != null) {<a name="line.814"></a>
-<span class="sourceLineNo">815</span>        this.snapshotAllocatorAtCreation.decScannerCount();<a name="line.815"></a>
-<span class="sourceLineNo">816</span>        this.snapshotAllocatorAtCreation = null;<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      }<a name="line.817"></a>
-<span class="sourceLineNo">818</span><a name="line.818"></a>
-<span class="sourceLineNo">819</span>      this.cellSetItRow = null;<a name="line.819"></a>
-<span class="sourceLineNo">820</span>      this.snapshotItRow = null;<a name="line.820"></a>
-<span class="sourceLineNo">821</span>    }<a name="line.821"></a>
-<span class="sourceLineNo">822</span><a name="line.822"></a>
-<span class="sourceLineNo">823</span>    /**<a name="line.823"></a>
-<span class="sourceLineNo">824</span>     * MemStoreScanner returns max value as sequence id because it will<a name="line.824"></a>
-<span class="sourceLineNo">825</span>     * always have the latest data among all files.<a name="line.825"></a>
-<span class="sourceLineNo">826</span>     */<a name="line.826"></a>
-<span class="sourceLineNo">827</span>    @Override<a name="line.827"></a>
-<span class="sourceLineNo">828</span>    public long getSequenceID() {<a name="line.828"></a>
-<span class="sourceLineNo">829</span>      return Long.MAX_VALUE;<a name="line.829"></a>
-<span class="sourceLineNo">830</span>    }<a name="line.830"></a>
-<span class="sourceLineNo">831</span><a name="line.831"></a>
-<span class="sourceLineNo">832</span>    @Override<a name="line.832"></a>
-<span class="sourceLineNo">833</span>    public boolean shouldUseScanner(Scan scan, Store store, long oldestUnexpiredTS) {<a name="line.833"></a>
-<span class="sourceLineNo">834</span>      return shouldSeek(scan, store, oldestUnexpiredTS);<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>    /**<a name="line.837"></a>
-<span class="sourceLineNo">838</span>     * Seek scanner to the given key first. If it returns false(means<a name="line.838"></a>
-<span class="sourceLineNo">839</span>     * peek()==null) or scanner's peek row is bigger than row of given key, seek<a name="line.839"></a>
-<span class="sourceLineNo">840</span>     * the scanner to the previous row of given key<a name="line.840"></a>
-<span class="sourceLineNo">841</span>     */<a name="line.841"></a>
-<span class="sourceLineNo">842</span>    @Override<a name="line.842"></a>
-<span class="sourceLineNo">843</span>    public synchronized boolean backwardSeek(Cell key) {<a name="line.843"></a>
-<span class="sourceLineNo">844</span>      seek(key);<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      if (peek() == null || comparator.compareRows(peek(), key) &gt; 0) {<a name="line.845"></a>
-<span class="sourceLineNo">846</span>        return seekToPreviousRow(key);<a name="line.846"></a>
-<span class="sourceLineNo">847</span>      }<a name="line.847"></a>
-<span class="sourceLineNo">848</span>      return true;<a name="line.848"></a>
-<span class="sourceLineNo">849</span>    }<a name="line.849"></a>
-<span class="sourceLineNo">850</span><a name="line.850"></a>
-<span class="sourceLineNo">851</span>    /**<a name="line.851"></a>
-<span class="sourceLineNo">852</span>     * Separately get the KeyValue before the specified key from kvset and<a name="line.852"></a>
-<span class="sourceLineNo">853</span>     * snapshotset, and use the row of higher one as the previous row of<a name="line.853"></a>
-<span class="sourceLineNo">854</span>     * specified key, then seek to the first KeyValue of previous row<a name="line.854"></a>
-<span class="sourceLineNo">855</span>     */<a name="line.855"></a>
-<span class="sourceLineNo">856</span>    @Override<a name="line.856"></a>
-<span class="sourceLineNo">857</span>    public synchronized boolean seekToPreviousRow(Cell originalKey) {<a name="line.857"></a>
-<span class="sourceLineNo">858</span>      boolean keepSeeking = false;<a name="line.858"></a>
-<span class="sourceLineNo">859</span>      Cell key = originalKey;<a name="line.859"></a>
-<span class="sourceLineNo">860</span>      do {<a name="line.860"></a>
-<span class="sourceLineNo">861</span>        Cell firstKeyOnRow = CellUtil.createFirstOnRow(key);<a name="line.861"></a>
-<span class="sourceLineNo">862</span>        SortedSet&lt;Cell&gt; cellHead = cellSetAtCreation.headSet(firstKeyOnRow);<a name="line.862"></a>
-<span class="sourceLineNo">863</span>        Cell cellSetBeforeRow = cellHead.isEmpty() ? null : cellHead.last();<a name="line.863"></a>
-<span class="sourceLineNo">864</span>        SortedSet&lt;Cell&gt; snapshotHead = snapshotAtCreation<a name="line.864"></a>
-<span class="sourceLineNo">865</span>            .headSet(firstKeyOnRow);<a name="line.865"></a>
-<span class="sourceLineNo">866</span>        Cell snapshotBeforeRow = snapshotHead.isEmpty() ? null : snapshotHead<a name="line.866"></a>
-<span class="sourceLineNo">867</span>            .last();<a name="line.867"></a>
-<span class="sourceLineNo">868</span>        Cell lastCellBeforeRow = getHighest(cellSetBeforeRow, snapshotBeforeRow);<a name="line.868"></a>
-<span class="sourceLineNo">869</span>        if (lastCellBeforeRow == null) {<a name="line.869"></a>
-<span class="sourceLineNo">870</span>          theNext = null;<a name="line.870"></a>
-<span class="sourceLineNo">871</span>          return false;<a name="line.871"></a>
-<span class="sourceLineNo">872</span>        }<a name="line.872"></a>
-<span class="sourceLineNo">873</span>        Cell firstKeyOnPreviousRow = CellUtil.createFirstOnRow(lastCellBeforeRow);<a name="line.873"></a>
-<span class="sourceLineNo">874</span>        this.stopSkippingCellsIfNextRow = true;<a name="line.874"></a>
-<span class="sourceLineNo">875</span>        seek(firstKeyOnPreviousRow);<a name="line.875"></a>
-<span class="sourceLineNo">876</span>        this.stopSkippingCellsIfNextRow = false;<a name="line.876"></a>
-<span class="sourceLineNo">877</span>        if (peek() == null<a name="line.877"></a>
-<span class="sourceLineNo">878</span>            || comparator.compareRows(peek(), firstKeyOnPreviousRow) &gt; 0) {<a name="line.878"></a>
-<span class="sourceLineNo">879</span>          keepSeeking = true;<a name="line.879"></a>
-<span class="sourceLineNo">880</span>          key = firstKeyOnPreviousRow;<a name="line.880"></a>
-<span class="sourceLineNo">881</span>          continue;<a name="line.881"></a>
-<span class="sourceLineNo">882</span>        } else {<a name="line.882"></a>
-<span class="sourceLineNo">883</span>          keepSeeking = false;<a name="line.883"></a>
-<span class="sourceLineNo">884</span>        }<a name="line.884"></a>
-<span class="sourceLineNo">885</span>      } while (keepSeeking);<a name="line.885"></a>
-<span class="sourceLineNo">886</span>      return true;<a name="line.886"></a>
-<span class="sourceLineNo">887</span>    }<a name="line.887"></a>
-<span class="sourceLineNo">888</span><a name="line.888"></a>
-<span class="sourceLineNo">889</span>    @Override<a name="line.889"></a>
-<span class="sourceLineNo">890</span>    public synchronized boolean seekToLastRow() {<a name="line.890"></a>
-<span class="sourceLineNo">891</span>      Cell first = cellSetAtCreation.isEmpty() ? null : cellSetAtCreation<a name="line.891"></a>
-<span class="sourceLineNo">892</span>          .last();<a name="line.892"></a>
-<span class="sourceLineNo">893</span>      Cell second = snapshotAtCreation.isEmpty() ? null<a name="line.893"></a>
-<span class="sourceLineNo">894</span>          : snapshotAtCreation.last();<a name="line.894"></a>
-<span class="sourceLineNo">895</span>      Cell higherCell = getHighest(first, second);<a name="line.895"></a>
-<span class="sourceLineNo">896</span>      if (higherCell == null) {<a name="line.896"></a>
-<span class="sourceLineNo">897</span>        return false;<a name="line.897"></a>
-<span class="sourceLineNo">898</span>      }<a name="line.898"></a>
-<span class="sourceLineNo">899</span>      Cell firstCellOnLastRow = CellUtil.createFirstOnRow(higherCell);<a name="line.899"></a>
-<span class="sourceLineNo">900</span>      if (seek(firstCellOnLastRow)) {<a name="line.900"></a>
-<span class="sourceLineNo">901</span>        return true;<a name="line.901"></a>
-<span class="sourceLineNo">902</span>      } else {<a name="line.902"></a>
-<span class="sourceLineNo">903</span>        return seekToPreviousRow(higherCell);<a name="line.903"></a>
-<span class="sourceLineNo">904</span>      }<a name="line.904"></a>
-<span class="sourceLineNo">905</span><a name="line.905"></a>
-<span class="sourceLineNo">906</span>    }<a name="line.906"></a>
-<span class="sourceLineNo">907</span>  }<a name="line.907"></a>
-<span class="sourceLineNo">908</span><a name="line.908"></a>
-<span class="sourceLineNo">909</span>  public final static long FIXED_OVERHEAD = ClassSize.align(ClassSize.OBJECT<a name="line.909"></a>
-<span class="sourceLineNo">910</span>      + (9 * ClassSize.REFERENCE) + (3 * Bytes.SIZEOF_LONG) + Bytes.SIZEOF_BOOLEAN);<a name="line.910"></a>
-<span class="sourceLineNo">911</span><a name="line.911"></a>
-<span class="sourceLineNo">912</span>  public final static long DEEP_OVERHEAD = ClassSize.align(FIXED_OVERHEAD +<a name="line.912"></a>
-<span class="sourceLineNo">913</span>      ClassSize.ATOMIC_LONG + (2 * ClassSize.TIMERANGE_TRACKER) +<a name="line.913"></a>
-<span class="sourceLineNo">914</span>      (2 * ClassSize.CELL_SKIPLIST_SET) + (2 * ClassSize.CONCURRENT_SKIPLISTMAP));<a name="line.914"></a>
-<span class="sourceLineNo">915</span><a name="line.915"></a>
-<span class="sourceLineNo">916</span>  /*<a name="line.916"></a>
-<span class="sourceLineNo">917</span>   * Calculate how the MemStore size has changed.  Includes overhead of the<a name="line.917"></a>
-<span class="sourceLineNo">918</span>   * backing Map.<a name="line.918"></a>
-<span class="sourceLineNo">919</span>   * @param cell<a name="line.919"></a>
-<span class="sourceLineNo">920</span>   * @param notpresent True if the cell was NOT present in the set.<a name="line.920"></a>
-<span class="sourceLineNo">921</span>   * @return Size<a name="line.921"></a>
-<span class="sourceLineNo">922</span>   */<a name="line.922"></a>
-<span class="sourceLineNo">923</span>  static long heapSizeChange(final Cell cell, final boolean notpresent) {<a name="line.923"></a>
-<span class="sourceLineNo">924</span>    return notpresent ? ClassSize.align(ClassSize.CONCURRENT_SKIPLISTMAP_ENTRY<a name="line.924"></a>
-<span class="sourceLineNo">925</span>        + CellUtil.estimatedHeapSizeOf(cell)) : 0;<a name="line.925"></a>
-<span class="sourceLineNo">926</span>  }<a name="line.926"></a>
-<span class="sourceLineNo">927</span><a name="line.927"></a>
-<span class="sourceLineNo">928</span>  private long keySize() {<a name="line.928"></a>
-<span class="sourceLineNo">929</span>    return heapSize() - DEEP_OVERHEAD;<a name="line.929"></a>
-<span class="sourceLineNo">930</span>  }<a name="line.930"></a>
-<span class="sourceLineNo">931</span><a name="line.931"></a>
-<span class="sourceLineNo">932</span>  /**<a name="line.932"></a>
-<span class="sourceLineNo">933</span>   * Get the entire heap usage for this MemStore not including keys in the<a name="line.933"></a>
-<span class="sourceLineNo">934</span>   * snapshot.<a name="line.934"></a>
-<span class="sourceLineNo">935</span>   */<a name="line.935"></a>
-<span class="sourceLineNo">936</span>  @Override<a name="line.936"></a>
-<span class="sourceLineNo">937</span>  public long heapSize() {<a name="line.937"></a>
-<span class="sourceLineNo">938</span>    return size.get();<a name="line.938"></a>
-<span class="sourceLineNo">939</span>  }<a name="line.939"></a>
-<span class="sourceLineNo">940</span><a name="line.940"></a>
-<span class="sourceLineNo">941</span>  @Override<a name="line.941"></a>
-<span class="sourceLineNo">942</span>  public long size() {<a name="line.942"></a>
-<span class="sourceLineNo">943</span>    return heapSize();<a name="line.943"></a>
-<span class="sourceLineNo">944</span>  }<a name="line.944"></a>
-<span class="sourceLineNo">945</span><a name="line.945"></a>
-<span class="sourceLineNo">946</span>  /**<a name="line.946"></a>
-<span class="sourceLineNo">947</span>   * Code to help figure if our approximation of object heap sizes is close<a name="line.947"></a>
-<span class="sourceLineNo">948</span>   * enough.  See hbase-900.  Fills memstores then waits so user can heap<a name="line.948"></a>
-<span class="sourceLineNo">949</span>   * dump and bring up resultant hprof in something like jprofiler which<a name="line.949"></a>
-<span class="sourceLineNo">950</span>   * allows you get 'deep size' on objects.<a name="line.950"></a>
-<span class="sourceLineNo">951</span>   * @param args main args<a name="line.951"></a>
-<span class="sourceLineNo">952</span>   */<a name="line.952"></a>
-<span class="sourceLineNo">953</span>  public static void main(String [] args) {<a name="line.953"></a>
-<span class="sourceLineNo">954</span>    RuntimeMXBean runtime = ManagementFactory.getRuntimeMXBean();<a name="line.954"></a>
-<span class="sourceLineNo">955</span>    LOG.info("vmName=" + runtime.getVmName() + ", vmVendor=" +<a name="line.955"></a>
-<span class="sourceLineNo">956</span>      runtime.getVmVendor() + ", vmVersion=" + runtime.getVmVersion());<a name="line.956"></a>
-<span class="sourceLineNo">957</span>    LOG.info("vmInputArguments=" + runtime.getInputArguments());<a name="line.957"></a>
-<span class="sourceLineNo">958</span>    DefaultMemStore memstore1 = new DefaultMemStore();<a name="line.958"></a>
-<span class="sourceLineNo">959</span>    // TODO: x32 vs x64<a name="line.959"></a>
-<span class="sourceLineNo">960</span>    long size = 0;<a name="line.960"></a>
-<span class="sourceLineNo">961</span>    final int count = 10000;<a name="line.961"></a>
-<span class="sourceLineNo">962</span>    byte [] fam = Bytes.toBytes("col");<a name="line.962"></a>
-<span class="sourceLineNo">963</span>    byte [] qf = Bytes.toBytes("umn");<a name="line.963"></a>
-<span class="sourceLineNo">964</span>    byte [] empty = new byte[0];<a name="line.964"></a>
-<span class="sourceLineNo">965</span>    for (int i = 0; i &lt; count; i++) {<a name="line.965"></a>
-<span class="sourceLineNo">966</span>      // Give each its own ts<a name="line.966"></a>
-<span class="sourceLineNo">967</span>      size += memstore1.add(new KeyValue(Bytes.toBytes(i), fam, qf, i, empty));<a name="line.967"></a>
-<span class="sourceLineNo">968</span>    }<a name="line.968"></a>
-<span class="sourceLineNo">969</span>    LOG.info("memstore1 estimated size=" + size);<a name="line.969"></a>
-<span class="sourceLineNo">970</span>    for (int i = 0; i &lt; count; i++) {<a name="line.970"></a>
-<span class="sourceLineNo">971</span>      size += memstore1.add(new KeyValue(Bytes.toBytes(i), fam, qf, i, empty));<a name="line.971"></a>
-<span class="sourceLineNo">972</span>    }<a name="line.972"></a>
-<span class="sourceLineNo">973</span>    LOG.info("memstore1 estimated size (2nd loading of same data)=" + size);<a name="line.973"></a>
-<span class="sourceLineNo">974</span>    // Make a variably sized memstore.<a name="line.974"></a>
-<span class="sourceLineNo">975</span>    DefaultMemStore memstore2 = new DefaultMemStore();<a name="line.975"></a>
-<span class="sourceLineNo">976</span>    for (int i = 0; i &lt; count; i++) {<a name="line.976"></a>
-<span class="sourceLineNo">977</span>      size += memstore2.add(new KeyValue(Bytes.toBytes(i), fam, qf, i, new byte[i]));<a name="line.977"></a>
-<span class="sourceLineNo">978</span>    }<a name="line.978"></a>
-<span class="sourceLineNo">979</span>    LOG.info("memstore2 estimated size=" + size);<a name="line.979"></a>
-<span class="sourceLineNo">980</span>    final int seconds = 30;<a name="line.980"></a>
-<span class="sourceLineNo">981</span>    LOG.info("Waiting " + seconds + " seconds while heap dump is taken");<a name="line.981"></a>
-<span class="sourceLineNo">982</span>    for (int i = 0; i &lt; seconds; i++) {<a name="line.982"></a>
-<span class="sourceLineNo">983</span>      // Thread.sleep(1000);<a name="line.983"></a>
-<span class="sourceLineNo">984</span>    }<a name="line.984"></a>
-<span class="sourceLineNo">985</span>    LOG.info("Exiting.");<a name="line.985"></a>
-<span class="sourceLineNo">986</span>  }<a name="line.986"></a>
-<span class="sourceLineNo">987</span><a name="line.987"></a>
-<span class="sourceLineNo">988</span>}<a name="line.988"></a>
+<span class="sourceLineNo">740</span>    @Override<a name="line.740"></a>
+<span class="sourceLineNo">741</span>    public synchronized Cell peek() {<a name="line.741"></a>
+<span class="sourceLineNo">742</span>      //DebugPrint.println(" MS@" + hashCode() + " peek = " + getLowest());<a name="line.742"></a>
+<span class="sourceLineNo">743</span>      return theNext;<a name="line.743"></a>
+<span class="sourceLineNo">744</span>    }<a name="line.744"></a>
+<span class="sourceLineNo">745</span><a name="line.745"></a>
+<span class="sourceLineNo">746</span>    @Override<a name="line.746"></a>
+<span class="sourceLineNo">747</span>    public synchronized Cell next() {<a name="line.747"></a>
+<span class="sourceLineNo">748</span>      if (theNext == null) {<a name="line.748"></a>
+<span class="sourceLineNo">749</span>          return null;<a name="line.749"></a>
+<span class="sourceLineNo">750</span>      }<a name="line.750"></a>
+<span class="sourceLineNo">751</span><a name="line.751"></a>
+<span class="sourceLineNo">752</span>      final Cell ret = theNext;<a name="line.752"></a>
+<span class="sourceLineNo">753</span><a name="line.753"></a>
+<span class="sourceLineNo">754</span>      // Advance one of the iterators<a name="line.754"></a>
+<span class="sourceLineNo">755</span>      if (theNext == cellSetNextRow) {<a name="line.755"></a>
+<span class="sourceLineNo">756</span>        cellSetNextRow = getNext(cellSetIt);<a name="line.756"></a>
+<span class="sourceLineNo">757</span>      } else {<a name="line.757"></a>
+<span class="sourceLineNo">758</span>        snapshotNextRow = getNext(snapshotIt);<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>      // Calculate the next value<a name="line.761"></a>
+<span class="sourceLineNo">762</span>      theNext = getLowest(cellSetNextRow, snapshotNextRow);<a name="line.762"></a>
+<span class="sourceLineNo">763</span><a name="line.763"></a>
+<span class="sourceLineNo">764</span>      //long readpoint = ReadWriteConsistencyControl.getThreadReadPoint();<a name="line.764"></a>
+<span class="sourceLineNo">765</span>      //DebugPrint.println(" MS@" + hashCode() + " next: " + theNext + " next_next: " +<a name="line.765"></a>
+<span class="sourceLineNo">766</span>      //    getLowest() + " threadpoint=" + readpoint);<a name="line.766"></a>
+<span class="sourceLineNo">767</span>      return ret;<a name="line.767"></a>
+<span class="sourceLineNo">768</span>    }<a name="line.768"></a>
+<span class="sourceLineNo">769</span><a name="line.769"></a>
+<span class="sourceLineNo">770</span>    /*<a name="line.770"></a>
+<span class="sourceLineNo">771</span>     * Returns the lower of the two key values, or null if they are both null.<a name="line.771"></a>
+<span class="sourceLineNo">772</span>     * This uses comparator.compare() to compare the KeyValue using the memstore<a name="line.772"></a>
+<span class="sourceLineNo">773</span>     * comparator.<a name="line.773"></a>
+<span class="sourceLineNo">774</span>     */<a name="line.774"></a>
+<span class="sourceLineNo">775</span>    private Cell getLowest(Cell first, Cell second) {<a name="line.775"></a>
+<span class="sourceLineNo">776</span>      if (first == null &amp;&amp; second == null) {<a name="line.776"></a>
+<span class="sourceLineNo">777</span>        return null;<a name="line.777"></a>
+<span class="sourceLineNo">778</span>      }<a name="line.778"></a>
+<span class="sourceLineNo">779</span>      if (first != null &amp;&amp; second != null) {<a name="line.779"></a>
+<span class="sourceLineNo">780</span>        int compare = comparator.compare(first, second);<a name="line.780"></a>
+<span class="sourceLineNo">781</span>        return (compare &lt;= 0 ? first : second);<a name="line.781"></a>
+<span class="sourceLineNo">782</span>      }<a name="line.782"></a>
+<span class="sourceLineNo">783</span>      return (first != null ? first : second);<a name="line.783"></a>
+<span class="sourceLineNo">784</span>    }<a name="line.784"></a>
+<span class="sourceLineNo">785</span><a name="line.785"></a>
+<span class="sourceLineNo">786</span>    /*<a name="line.786"></a>
+<span class="sourceLineNo">787</span>     * Returns the higher of the two cells, or null if they are both null.<a name="line.787"></a>
+<span class="sourceLineNo">788</span>     * This uses comparator.compare() to compare the Cell using the memstore<a name="line.788"></a>
+<span class="sourceLineNo">789</span>     * comparator.<a name="line.789"></a>
+<span class="sourceLineNo">790</span>     */<a name="line.790"></a>
+<span class="sourceLineNo">791</span>    private Cell getHighest(Cell first, Cell second) {<a name="line.791"></a>
+<span class="sourceLineNo">792</span>      if (first == null &amp;&amp; second == null) {<a name="line.792"></a>
+<span class="sourceLineNo">793</span>        return null;<a name="line.793"></a>
+<span class="sourceLineNo">794</span>      }<a name="line.794"></a>
+<span class="sourceLineNo">795</span>      if (first != null &amp;&amp; second != null) {<a name="line.795"></a>
+<span class="sourceLineNo">796</span>        int compare = comparator.compare(first, second);<a name="line.796"></a>
+<span class="sourceLineNo">797</span>        return (compare &gt; 0 ? first : second);<a name="line.797"></a>
+<span class="sourceLineNo">798</span>      }<a name="line.798"></a>
+<span class="sourceLineNo">799</span>      return (first != null ? first : second);<a name="line.799"></a>
+<span class="sourceLineNo">800</span>    }<a name="line.800"></a>
+<span class="sourceLineNo">801</span><a name="line.801"></a>
+<span class="sourceLineNo">802</span>    public synchronized void close() {<a name="line.802"></a>
+<span class="sourceLineNo">803</span>      this.cellSetNextRow = null;<a name="line.803"></a>
+<span class="sourceLineNo">804</span>      this.snapshotNextRow = null;<a name="line.804"></a>
+<span class="sourceLineNo">805</span><a name="line.805"></a>
+<span class="sourceLineNo">806</span>      this.cellSetIt = null;<a name="line.806"></a>
+<span class="sourceLineNo">807</span>      this.snapshotIt = null;<a name="line.807"></a>
+<span class="sourceLineNo">808</span><a name="line.808"></a>
+<span class="sourceLineNo">809</span>      if (allocatorAtCreation != null) {<a name="line.809"></a>
+<span class="sourceLineNo">810</span>        this.allocatorAtCreation.decScannerCount();<a name="line.810"></a>
+<span class="sourceLineNo">811</span>        this.allocatorAtCreation = null;<a name="line.811"></a>
+<span class="sourceLineNo">812</span>      }<a name="line.812"></a>
+<span class="sourceLineNo">813</span>      if (snapshotAllocatorAtCreation != null) {<a name="line.813"></a>
+<span class="sourceLineNo">814</span>        this.snapshotAllocatorAtCreation.decScannerCount();<a name="line.814"></a>
+<span class="sourceLineNo">815</span>        this.snapshotAllocatorAtCreation = null;<a name="line.815"></a>
+<span class="sourceLineNo">816</span>      }<a name="line.816"></a>
+<span class="sourceLineNo">817</span><a name="line.817"></a>
+<span class="sourceLineNo">818</span>      this.cellSetItRow = null;<a name="line.818"></a>
+<span class="sourceLineNo">819</span>      this.snapshotItRow = null;<a name="line.819"></a>
+<span class="sourceLineNo">820</span>    }<a name="line.820"></a>
+<span class="sourceLineNo">821</span><a name="line.821"></a>
+<span class="sourceLineNo">822</span>    /**<a name="line.822"></a>
+<span class="sourceLineNo">823</span>     * MemStoreScanner returns max value as sequence id because it will<a name="line.823"></a>
+<span class="sourceLineNo">824</span>     * always have the latest data among all files.<a name="line.824"></a>
+<span class="sourceLineNo">825</span>     */<a name="line.825"></a>
+<span class="sourceLineNo">826</span>    @Override<a name="line.826"></a>
+<span class="sourceLineNo">827</span>    public long getSequenceID() {<a name="line.827"></a>
+<span class="sourceLineNo">828</span>      return Long.MAX_VALUE;<a name="line.828"></a>
+<span class="sourceLineNo">829</span>    }<a name="line.829"></a>
+<span class="sourceLineNo">830</span><a name="line.830"></a>
+<span class="sourceLineNo">831</span>    @Override<a name="line.831"></a>
+<span class="sourceLineNo">832</span>    public boolean shouldUseScanner(Scan scan, Store store, long oldestUnexpiredTS) {<a name="line.832"></a>
+<span class="sourceLineNo">833</span>      return shouldSeek(scan, store, oldestUnexpiredTS);<a name="line.833"></a>
+<span class="sourceLineNo">834</span>    }<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>     * Seek scanner to the given key first. If it returns false(means<a name="line.837"></a>
+<span class="sourceLineNo">838</span>     * peek()==null) or scanner's peek row is bigger than row of given key, seek<a name="line.838"></a>
+<span class="sourceLineNo">839</span>     * the scanner to the previous row of given key<a name="line.839"></a>
+<span class="sourceLineNo">840</span>     */<a name="line.840"></a>
+<span class="sourceLineNo">841</span>    @Override<a name="line.841"></a>
+<span class="sourceLineNo">842</span>    public synchronized boolean backwardSeek(Cell key) {<a name="line.842"></a>
+<span class="sourceLineNo">843</span>      seek(key);<a name="line.843"></a>
+<span class="sourceLineNo">844</span>      if (peek() == null || comparator.compareRows(peek(), key) &gt; 0) {<a name="line.844"></a>
+<span class="sourceLineNo">845</span>        return seekToPreviousRow(key);<a name="line.845"></a>
+<span class="sourceLineNo">846</span>      }<a name="line.846"></a>
+<span class="sourceLineNo">847</span>      return true;<a name="line.847"></a>
+<span class="sourceLineNo">848</span>    }<a name="line.848"></a>
+<span class="sourceLineNo">849</span><a name="line.849"></a>
+<span class="sourceLineNo">850</span>    /**<a name="line.850"></a>
+<span class="sourceLineNo">851</span>     * Separa

<TRUNCATED>

[39/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/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 df91e38..8a4b480 100644
--- a/devapidocs/org/apache/hadoop/hbase/class-use/Tag.html
+++ b/devapidocs/org/apache/hadoop/hbase/class-use/Tag.html
@@ -100,10 +100,6 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.hadoop.hbase.regionserver">org.apache.hadoop.hbase.regionserver</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.hadoop.hbase.security.visibility">org.apache.hadoop.hbase.security.visibility</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -705,39 +701,6 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tbody>
 </table>
 </li>
-<li class="blockList"><a name="org.apache.hadoop.hbase.regionserver">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../org/apache/hadoop/hbase/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a> in <a href="../../../../../org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a></h3>
-<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/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a> that return types with arguments of type <a href="../../../../../org/apache/hadoop/hbase/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>private 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">HRegion.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#carryForwardTags(org.apache.hadoop.hbase.Cell,%20java.util.List)">carryForwardTags</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
-                                <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>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Method parameters in <a href="../../../../../org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a> with type arguments of type <a href="../../../../../org/apache/hadoop/hbase/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>private 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">HRegion.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#carryForwardTags(org.apache.hadoop.hbase.Cell,%20java.util.List)">carryForwardTags</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
-                                <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>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
 <li class="blockList"><a name="org.apache.hadoop.hbase.security.visibility">
 <!--   -->
 </a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/org/apache/hadoop/hbase/classification/class-use/InterfaceAudience.LimitedPrivate.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/classification/class-use/InterfaceAudience.LimitedPrivate.html b/devapidocs/org/apache/hadoop/hbase/classification/class-use/InterfaceAudience.LimitedPrivate.html
index e883249..7831f31 100644
--- a/devapidocs/org/apache/hadoop/hbase/classification/class-use/InterfaceAudience.LimitedPrivate.html
+++ b/devapidocs/org/apache/hadoop/hbase/classification/class-use/InterfaceAudience.LimitedPrivate.html
@@ -1704,7 +1704,7 @@ service.</div>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></strong></code>
-<div class="block">A Key for an entry in the change log.</div>
+<div class="block">A Key for an entry in the WAL.</div>
 </td>
 </tr>
 <tr class="rowColor">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/org/apache/hadoop/hbase/classification/class-use/InterfaceAudience.Private.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/classification/class-use/InterfaceAudience.Private.html b/devapidocs/org/apache/hadoop/hbase/classification/class-use/InterfaceAudience.Private.html
index 79e99c7..edbab7c 100644
--- a/devapidocs/org/apache/hadoop/hbase/classification/class-use/InterfaceAudience.Private.html
+++ b/devapidocs/org/apache/hadoop/hbase/classification/class-use/InterfaceAudience.Private.html
@@ -1456,6 +1456,10 @@ service.</div>
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client">TableState.State</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/client/VersionInfoUtil.html" title="class in org.apache.hadoop.hbase.client">VersionInfoUtil</a></strong></code>
 <div class="block">Class to help with parsing the version info.</div>
@@ -5976,7 +5980,7 @@ service.</div>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALUtil.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALUtil</a></strong></code>
-<div class="block">Helper methods to ease Region Server integration with the write ahead log.</div>
+<div class="block">Helper methods to ease Region Server integration with the Write Ahead Log (WAL).</div>
 </td>
 </tr>
 <tr class="rowColor">
@@ -7995,18 +7999,14 @@ service.</div>
 <td class="colLast"><span class="strong">WALKey.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#encodedRegionName">encodedRegionName</a></strong></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>protected long</code></td>
-<td class="colLast"><span class="strong">WALKey.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#logSeqNum">logSeqNum</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><code>protected <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a></code></td>
 <td class="colLast"><span class="strong">WALKey.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#tablename">tablename</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected static <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.Version.html" title="enum in org.apache.hadoop.hbase.wal">WALKey.Version</a></code></td>
 <td class="colLast"><span class="strong">WALKey.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#VERSION">VERSION</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected long</code></td>
 <td class="colLast"><span class="strong">WALKey.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#writeTime">writeTime</a></strong></code>&nbsp;</td>
 </tr>
@@ -8026,7 +8026,7 @@ service.</div>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a></code></td>
 <td class="colLast"><span class="strong">WALKey.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getWriteEntry()">getWriteEntry</a></strong>()</code>
-<div class="block">Will block until a write entry has been assigned by they WAL subsystem.</div>
+<div class="block">Use it to complete mvcc transaction.</div>
 </td>
 </tr>
 <tr class="altColor">
@@ -8041,11 +8041,8 @@ service.</div>
         <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;mvcc)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="strong">WALKey.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#setLogSeqNum(long)">setLogSeqNum</a></strong>(long&nbsp;sequence)</code>
-<div class="block">Allow that the log sequence id to be set post-construction
- Only public for org.apache.hadoop.hbase.regionserver.wal.FSWALEntry</div>
-</td>
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><span class="strong">WALKey.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#setSequenceId(long)">setSequenceId</a></strong>(long&nbsp;sequenceId)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/org/apache/hadoop/hbase/classification/class-use/InterfaceAudience.Public.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/classification/class-use/InterfaceAudience.Public.html b/devapidocs/org/apache/hadoop/hbase/classification/class-use/InterfaceAudience.Public.html
index 18cf262..d57fb9a 100644
--- a/devapidocs/org/apache/hadoop/hbase/classification/class-use/InterfaceAudience.Public.html
+++ b/devapidocs/org/apache/hadoop/hbase/classification/class-use/InterfaceAudience.Public.html
@@ -803,20 +803,16 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static class&nbsp;</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client">TableState.State</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><code>(package private) class&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/client/UnmodifyableHRegionInfo.html" title="class in org.apache.hadoop.hbase.client">UnmodifyableHRegionInfo</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/client/UnmodifyableHTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">UnmodifyableHTableDescriptor</a></strong></code>
 <div class="block">Read-only table descriptor.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/client/WrongRowIOException.html" title="class in org.apache.hadoop.hbase.client">WrongRowIOException</a></strong></code>&nbsp;</td>
 </tr>

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/org/apache/hadoop/hbase/client/HTableMultiplexer.AtomicAverageCounter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/HTableMultiplexer.AtomicAverageCounter.html b/devapidocs/org/apache/hadoop/hbase/client/HTableMultiplexer.AtomicAverageCounter.html
index f2c550a..c811cfb 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/HTableMultiplexer.AtomicAverageCounter.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/HTableMultiplexer.AtomicAverageCounter.html
@@ -99,7 +99,7 @@
 </dl>
 <hr>
 <br>
-<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.358">HTableMultiplexer.AtomicAverageCounter</a>
+<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.404">HTableMultiplexer.AtomicAverageCounter</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">Helper to count the average over an interval until reset.</div>
 </li>
@@ -208,7 +208,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>sum</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.AtomicAverageCounter.html#line.359">sum</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.AtomicAverageCounter.html#line.405">sum</a></pre>
 </li>
 </ul>
 <a name="count">
@@ -217,7 +217,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>count</h4>
-<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.AtomicAverageCounter.html#line.360">count</a></pre>
+<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.AtomicAverageCounter.html#line.406">count</a></pre>
 </li>
 </ul>
 </li>
@@ -234,7 +234,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HTableMultiplexer.AtomicAverageCounter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.AtomicAverageCounter.html#line.362">HTableMultiplexer.AtomicAverageCounter</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.AtomicAverageCounter.html#line.408">HTableMultiplexer.AtomicAverageCounter</a>()</pre>
 </li>
 </ul>
 </li>
@@ -251,7 +251,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getAndReset</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.AtomicAverageCounter.html#line.367">getAndReset</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.AtomicAverageCounter.html#line.413">getAndReset</a>()</pre>
 </li>
 </ul>
 <a name="get()">
@@ -260,7 +260,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>get</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.AtomicAverageCounter.html#line.373">get</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.AtomicAverageCounter.html#line.419">get</a>()</pre>
 </li>
 </ul>
 <a name="getComponents()">
@@ -269,7 +269,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getComponents</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/AbstractMap.SimpleEntry.html?is-external=true" title="class or interface in java.util">AbstractMap.SimpleEntry</a>&lt;<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>,<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/client/HTableMultiplexer.AtomicAverageCounter.html#line.380">getComponents</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/AbstractMap.SimpleEntry.html?is-external=true" title="class or interface in java.util">AbstractMap.SimpleEntry</a>&lt;<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>,<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/client/HTableMultiplexer.AtomicAverageCounter.html#line.426">getComponents</a>()</pre>
 </li>
 </ul>
 <a name="reset()">
@@ -278,7 +278,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>reset</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.AtomicAverageCounter.html#line.384">reset</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.AtomicAverageCounter.html#line.430">reset</a>()</pre>
 </li>
 </ul>
 <a name="add(long)">
@@ -287,7 +287,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>add</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.AtomicAverageCounter.html#line.389">add</a>(long&nbsp;value)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.AtomicAverageCounter.html#line.435">add</a>(long&nbsp;value)</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html b/devapidocs/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html
index c4bcde0..b7324f8 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html
@@ -103,7 +103,7 @@
 </dl>
 <hr>
 <br>
-<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.395">HTableMultiplexer.FlushWorker</a>
+<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.442">HTableMultiplexer.FlushWorker</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,23 +215,47 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#getAverageLatencyCounter()">getAverageLatencyCounter</a></strong>()</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>(package private) <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledExecutorService</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#getExecutor()">getExecutor</a></strong>()</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/client/HTableMultiplexer.FlushWorker.html#getMaxLatency()">getMaxLatency</a></strong>()</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>(package private) int</code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#getMaxRetryInQueue()">getMaxRetryInQueue</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#getMultiplexer()">getMultiplexer</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>(package private) long</code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#getNextDelay(int)">getNextDelay</a></strong>(int&nbsp;retryCount)</code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/LinkedBlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">LinkedBlockingQueue</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.PutStatus.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer.PutStatus</a>&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#getQueue()">getQueue</a></strong>()</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>(package 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/client/HTableMultiplexer.FlushWorker.html#getRetryInQueue()">getRetryInQueue</a></strong>()</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/client/HTableMultiplexer.FlushWorker.html#getTotalBufferedCount()">getTotalBufferedCount</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/client/HTableMultiplexer.FlushWorker.html#getTotalFailedCount()">getTotalFailedCount</a></strong>()</code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>(package 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/client/HTableMultiplexer.FlushWorker.html#getTotalFailedPutCount()">getTotalFailedPutCount</a></strong>()</code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
-<td class="colFirst"><code>private boolean</code></td>
+<td class="colFirst"><code>(package private) boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#resubmitFailedPut(org.apache.hadoop.hbase.client.HTableMultiplexer.PutStatus,%20org.apache.hadoop.hbase.HRegionLocation)">resubmitFailedPut</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.PutStatus.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer.PutStatus</a>&nbsp;ps,
                                   <a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a>&nbsp;oldLoc)</code>&nbsp;</td>
 </tr>
@@ -267,7 +291,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.
 <ul class="blockList">
 <li class="blockList">
 <h4>addr</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#line.396">addr</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#line.443">addr</a></pre>
 </li>
 </ul>
 <a name="queue">
@@ -276,7 +300,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.
 <ul class="blockList">
 <li class="blockList">
 <h4>queue</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/LinkedBlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">LinkedBlockingQueue</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.PutStatus.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer.PutStatus</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#line.397">queue</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/LinkedBlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">LinkedBlockingQueue</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.PutStatus.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer.PutStatus</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#line.444">queue</a></pre>
 </li>
 </ul>
 <a name="multiplexer">
@@ -285,7 +309,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.
 <ul class="blockList">
 <li class="blockList">
 <h4>multiplexer</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#line.398">multiplexer</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#line.445">multiplexer</a></pre>
 </li>
 </ul>
 <a name="totalFailedPutCount">
@@ -294,7 +318,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.
 <ul class="blockList">
 <li class="blockList">
 <h4>totalFailedPutCount</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/client/HTableMultiplexer.FlushWorker.html#line.399">totalFailedPutCount</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/client/HTableMultiplexer.FlushWorker.html#line.446">totalFailedPutCount</a></pre>
 </li>
 </ul>
 <a name="currentProcessingCount">
@@ -303,7 +327,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.
 <ul class="blockList">
 <li class="blockList">
 <h4>currentProcessingCount</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/client/HTableMultiplexer.FlushWorker.html#line.400">currentProcessingCount</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/client/HTableMultiplexer.FlushWorker.html#line.447">currentProcessingCount</a></pre>
 </li>
 </ul>
 <a name="averageLatency">
@@ -312,7 +336,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.
 <ul class="blockList">
 <li class="blockList">
 <h4>averageLatency</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.AtomicAverageCounter.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer.AtomicAverageCounter</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#line.401">averageLatency</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.AtomicAverageCounter.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer.AtomicAverageCounter</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#line.448">averageLatency</a></pre>
 </li>
 </ul>
 <a name="maxLatency">
@@ -321,7 +345,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.
 <ul class="blockList">
 <li class="blockList">
 <h4>maxLatency</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/client/HTableMultiplexer.FlushWorker.html#line.402">maxLatency</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/client/HTableMultiplexer.FlushWorker.html#line.449">maxLatency</a></pre>
 </li>
 </ul>
 <a name="ap">
@@ -330,7 +354,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.
 <ul class="blockList">
 <li class="blockList">
 <h4>ap</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncProcess.html" title="class in org.apache.hadoop.hbase.client">AsyncProcess</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#line.404">ap</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncProcess.html" title="class in org.apache.hadoop.hbase.client">AsyncProcess</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#line.451">ap</a></pre>
 </li>
 </ul>
 <a name="processingList">
@@ -339,7 +363,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.
 <ul class="blockList">
 <li class="blockList">
 <h4>processingList</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/client/HTableMultiplexer.PutStatus.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer.PutStatus</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#line.405">processingList</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/client/HTableMultiplexer.PutStatus.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer.PutStatus</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#line.452">processingList</a></pre>
 </li>
 </ul>
 <a name="executor">
@@ -348,7 +372,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.
 <ul class="blockList">
 <li class="blockList">
 <h4>executor</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledExecutorService</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#line.406">executor</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledExecutorService</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#line.453">executor</a></pre>
 </li>
 </ul>
 <a name="maxRetryInQueue">
@@ -357,7 +381,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.
 <ul class="blockList">
 <li class="blockList">
 <h4>maxRetryInQueue</h4>
-<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#line.407">maxRetryInQueue</a></pre>
+<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#line.454">maxRetryInQueue</a></pre>
 </li>
 </ul>
 <a name="retryInQueue">
@@ -366,7 +390,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.
 <ul class="blockListLast">
 <li class="blockList">
 <h4>retryInQueue</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/client/HTableMultiplexer.FlushWorker.html#line.408">retryInQueue</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/client/HTableMultiplexer.FlushWorker.html#line.455">retryInQueue</a></pre>
 </li>
 </ul>
 </li>
@@ -383,7 +407,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HTableMultiplexer.FlushWorker</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#line.410">HTableMultiplexer.FlushWorker</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#line.457">HTableMultiplexer.FlushWorker</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                              <a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">ClusterConnection</a>&nbsp;conn,
                              <a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a>&nbsp;addr,
                              <a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer</a>&nbsp;htableMultiplexer,
@@ -406,7 +430,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.
 <ul class="blockList">
 <li class="blockList">
 <h4>getQueue</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/LinkedBlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">LinkedBlockingQueue</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.PutStatus.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer.PutStatus</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#line.423">getQueue</a>()</pre>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/LinkedBlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">LinkedBlockingQueue</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.PutStatus.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer.PutStatus</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#line.470">getQueue</a>()</pre>
 </li>
 </ul>
 <a name="getTotalFailedCount()">
@@ -415,7 +439,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.
 <ul class="blockList">
 <li class="blockList">
 <h4>getTotalFailedCount</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#line.427">getTotalFailedCount</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#line.474">getTotalFailedCount</a>()</pre>
 </li>
 </ul>
 <a name="getTotalBufferedCount()">
@@ -424,7 +448,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.
 <ul class="blockList">
 <li class="blockList">
 <h4>getTotalBufferedCount</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#line.431">getTotalBufferedCount</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#line.478">getTotalBufferedCount</a>()</pre>
 </li>
 </ul>
 <a name="getAverageLatencyCounter()">
@@ -433,7 +457,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.
 <ul class="blockList">
 <li class="blockList">
 <h4>getAverageLatencyCounter</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.AtomicAverageCounter.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer.AtomicAverageCounter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#line.435">getAverageLatencyCounter</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.AtomicAverageCounter.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer.AtomicAverageCounter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#line.482">getAverageLatencyCounter</a>()</pre>
 </li>
 </ul>
 <a name="getMaxLatency()">
@@ -442,7 +466,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.
 <ul class="blockList">
 <li class="blockList">
 <h4>getMaxLatency</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#line.439">getMaxLatency</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#line.486">getMaxLatency</a>()</pre>
 </li>
 </ul>
 <a name="resubmitFailedPut(org.apache.hadoop.hbase.client.HTableMultiplexer.PutStatus, org.apache.hadoop.hbase.HRegionLocation)">
@@ -451,20 +475,74 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.
 <ul class="blockList">
 <li class="blockList">
 <h4>resubmitFailedPut</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#line.443">resubmitFailedPut</a>(<a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.PutStatus.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer.PutStatus</a>&nbsp;ps,
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#line.490">resubmitFailedPut</a>(<a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.PutStatus.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer.PutStatus</a>&nbsp;ps,
                         <a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a>&nbsp;oldLoc)
-                           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>
+                    throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
 </li>
 </ul>
+<a name="getNextDelay(int)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNextDelay</h4>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#line.533">getNextDelay</a>(int&nbsp;retryCount)</pre>
+</li>
+</ul>
+<a name="getRetryInQueue()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getRetryInQueue</h4>
+<pre><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>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#line.539">getRetryInQueue</a>()</pre>
+</li>
+</ul>
+<a name="getMaxRetryInQueue()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMaxRetryInQueue</h4>
+<pre>int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#line.544">getMaxRetryInQueue</a>()</pre>
+</li>
+</ul>
+<a name="getTotalFailedPutCount()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTotalFailedPutCount</h4>
+<pre><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>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#line.549">getTotalFailedPutCount</a>()</pre>
+</li>
+</ul>
+<a name="getMultiplexer()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMultiplexer</h4>
+<pre><a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#line.554">getMultiplexer</a>()</pre>
+</li>
+</ul>
+<a name="getExecutor()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getExecutor</h4>
+<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledExecutorService</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#line.559">getExecutor</a>()</pre>
+</li>
+</ul>
 <a name="run()">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>run</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#line.487">run</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#line.564">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>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html b/devapidocs/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html
index 2d0b131..5951677 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html
@@ -101,7 +101,7 @@
 <br>
 <pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Public.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Public</a>
 <a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceStability.Evolving.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceStability.Evolving</a>
-public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.242">HTableMultiplexer.HTableMultiplexerStatus</a>
+public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.287">HTableMultiplexer.HTableMultiplexerStatus</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">HTableMultiplexerStatus keeps track of the current status of the HTableMultiplexer.
  report the number of buffered requests and the number of the failed (dropped) requests
@@ -252,7 +252,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>totalFailedPutCounter</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.243">totalFailedPutCounter</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.288">totalFailedPutCounter</a></pre>
 </li>
 </ul>
 <a name="totalBufferedPutCounter">
@@ -261,7 +261,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>totalBufferedPutCounter</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.244">totalBufferedPutCounter</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.289">totalBufferedPutCounter</a></pre>
 </li>
 </ul>
 <a name="maxLatency">
@@ -270,7 +270,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>maxLatency</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.245">maxLatency</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.290">maxLatency</a></pre>
 </li>
 </ul>
 <a name="overallAverageLatency">
@@ -279,7 +279,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>overallAverageLatency</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.246">overallAverageLatency</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.291">overallAverageLatency</a></pre>
 </li>
 </ul>
 <a name="serverToFailedCounterMap">
@@ -288,7 +288,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>serverToFailedCounterMap</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/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.247">serverToFailedCounterMap</a></pre>
+<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/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.292">serverToFailedCounterMap</a></pre>
 </li>
 </ul>
 <a name="serverToBufferedCounterMap">
@@ -297,7 +297,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>serverToBufferedCounterMap</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/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.248">serverToBufferedCounterMap</a></pre>
+<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/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.293">serverToBufferedCounterMap</a></pre>
 </li>
 </ul>
 <a name="serverToAverageLatencyMap">
@@ -306,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>serverToAverageLatencyMap</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/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.249">serverToAverageLatencyMap</a></pre>
+<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/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.294">serverToAverageLatencyMap</a></pre>
 </li>
 </ul>
 <a name="serverToMaxLatencyMap">
@@ -315,7 +315,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>serverToMaxLatencyMap</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/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.250">serverToMaxLatencyMap</a></pre>
+<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/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.295">serverToMaxLatencyMap</a></pre>
 </li>
 </ul>
 </li>
@@ -332,7 +332,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HTableMultiplexer.HTableMultiplexerStatus</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.252">HTableMultiplexer.HTableMultiplexerStatus</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="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a>,<a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer.FlushWorker</a>&gt;&nbsp;serverToFlushWorkerMap)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.297">HTableMultiplexer.HTableMultiplexerStatus</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="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a>,<a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer.FlushWorker</a>&gt;&nbsp;serverToFlushWorkerMap)</pre>
 </li>
 </ul>
 </li>
@@ -349,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>initialize</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.265">initialize</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="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a>,<a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer.FlushWorker</a>&gt;&nbsp;serverToFlushWorkerMap)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.310">initialize</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="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a>,<a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer.FlushWorker</a>&gt;&nbsp;serverToFlushWorkerMap)</pre>
 </li>
 </ul>
 <a name="getTotalBufferedCounter()">
@@ -358,7 +358,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getTotalBufferedCounter</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.310">getTotalBufferedCounter</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.355">getTotalBufferedCounter</a>()</pre>
 </li>
 </ul>
 <a name="getTotalFailedCounter()">
@@ -367,7 +367,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getTotalFailedCounter</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.314">getTotalFailedCounter</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.359">getTotalFailedCounter</a>()</pre>
 </li>
 </ul>
 <a name="getMaxLatency()">
@@ -376,7 +376,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getMaxLatency</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.318">getMaxLatency</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.363">getMaxLatency</a>()</pre>
 </li>
 </ul>
 <a name="getOverallAverageLatency()">
@@ -385,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>getOverallAverageLatency</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.322">getOverallAverageLatency</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.367">getOverallAverageLatency</a>()</pre>
 </li>
 </ul>
 <a name="getBufferedCounterForEachRegionServer()">
@@ -394,7 +394,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getBufferedCounterForEachRegionServer</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/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.326">getBufferedCounterForEachRegionServer</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/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.371">getBufferedCounterForEachRegionServer</a>()</pre>
 </li>
 </ul>
 <a name="getFailedCounterForEachRegionServer()">
@@ -403,7 +403,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getFailedCounterForEachRegionServer</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/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.330">getFailedCounterForEachRegionServer</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/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.375">getFailedCounterForEachRegionServer</a>()</pre>
 </li>
 </ul>
 <a name="getMaxLatencyForEachRegionServer()">
@@ -412,7 +412,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getMaxLatencyForEachRegionServer</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/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.334">getMaxLatencyForEachRegionServer</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/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.379">getMaxLatencyForEachRegionServer</a>()</pre>
 </li>
 </ul>
 <a name="getAverageLatencyForEachRegionServer()">
@@ -421,7 +421,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getAverageLatencyForEachRegionServer</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/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.338">getAverageLatencyForEachRegionServer</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/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.383">getAverageLatencyForEachRegionServer</a>()</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/org/apache/hadoop/hbase/client/HTableMultiplexer.PutStatus.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/HTableMultiplexer.PutStatus.html b/devapidocs/org/apache/hadoop/hbase/client/HTableMultiplexer.PutStatus.html
index 1108c6f..2c40878 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/HTableMultiplexer.PutStatus.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/HTableMultiplexer.PutStatus.html
@@ -99,7 +99,7 @@
 </dl>
 <hr>
 <br>
-<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.343">HTableMultiplexer.PutStatus</a>
+<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.389">HTableMultiplexer.PutStatus</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>
@@ -120,15 +120,15 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <th class="colLast" scope="col">Field and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>private int</code></td>
+<td class="colFirst"><code>(package private) int</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.PutStatus.html#maxAttempCount">maxAttempCount</a></strong></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a></code></td>
+<td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.PutStatus.html#put">put</a></strong></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a></code></td>
+<td class="colFirst"><code>(package private) <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/client/HTableMultiplexer.PutStatus.html#regionInfo">regionInfo</a></strong></code>&nbsp;</td>
 </tr>
 </table>
@@ -186,7 +186,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>regionInfo</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.PutStatus.html#line.344">regionInfo</a></pre>
+<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.PutStatus.html#line.390">regionInfo</a></pre>
 </li>
 </ul>
 <a name="put">
@@ -195,7 +195,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>put</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.PutStatus.html#line.345">put</a></pre>
+<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.PutStatus.html#line.391">put</a></pre>
 </li>
 </ul>
 <a name="maxAttempCount">
@@ -204,7 +204,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>maxAttempCount</h4>
-<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.PutStatus.html#line.346">maxAttempCount</a></pre>
+<pre>final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.PutStatus.html#line.392">maxAttempCount</a></pre>
 </li>
 </ul>
 </li>
@@ -221,7 +221,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HTableMultiplexer.PutStatus</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.PutStatus.html#line.348">HTableMultiplexer.PutStatus</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;regionInfo,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.PutStatus.html#line.394">HTableMultiplexer.PutStatus</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/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put,
                            int&nbsp;maxAttempCount)</pre>
 </li>


[36/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/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 473b824..99fc28d 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.909">FIXED_OVERHEAD</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.html#line.908">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.912">DEEP_OVERHEAD</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.html#line.911">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.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,
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.html#line.464">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>
@@ -916,7 +916,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStore
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStore.html#upsert(java.lang.Iterable,%20long)">upsert</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>
-<dt><span class="strong">Parameters:</span></dt><dd><code>cells</code> - </dd><dd><code>readpoint</code> - readpoint below which we can safely remove duplicate KVs</dd>
+<dt><span class="strong">Parameters:</span></dt><dd><code>readpoint</code> - readpoint below which we can safely remove duplicate KVs</dd>
 <dt><span class="strong">Returns:</span></dt><dd>change in memstore size</dd></dl>
 </li>
 </ul>
@@ -926,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.486">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.485">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.
@@ -947,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.543">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.542">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>
@@ -960,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.554">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.553">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>
@@ -974,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.923">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.922">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>
@@ -984,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.928">keySize</a>()</pre>
+<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.html#line.927">keySize</a>()</pre>
 </li>
 </ul>
 <a name="heapSize()">
@@ -993,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.937">heapSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.html#line.936">heapSize</a>()</pre>
 <div class="block">Get the entire heap usage for this MemStore not including keys in the
  snapshot.</div>
 <dl>
@@ -1009,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.942">size</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.html#line.941">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>
@@ -1022,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.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>
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.html#line.952">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/358717f6/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html
new file mode 100644
index 0000000..045a355
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html
@@ -0,0 +1,425 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>HRegion.BatchOperation (Apache HBase 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="HRegion.BatchOperation (Apache HBase 2.0.0-SNAPSHOT API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/HRegion.BatchOperation.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" target="_top">Frames</a></li>
+<li><a href="HRegion.BatchOperation.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_detail">Method</a></li>
+</ul>
+</div>
+<a name="skip-navbar_top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.hadoop.hbase.regionserver</div>
+<h2 title="Class HRegion.BatchOperation" class="title">Class HRegion.BatchOperation&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.hadoop.hbase.regionserver.HRegion.BatchOperation&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.MutationBatch</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatch.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.ReplayBatch</a></dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></dd>
+</dl>
+<hr>
+<br>
+<pre>private abstract static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2714">HRegion.BatchOperation</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
+ is proceeding.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field_summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="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) int</code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#nextIndexToProcess">nextIndexToProcess</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="type parameter in HRegion.BatchOperation">T</a>[]</code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#operations">operations</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[]</code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#retCodeDetails">retCodeDetails</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>[]</code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#walEditsFromCoprocessors">walEditsFromCoprocessors</a></strong></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#HRegion.BatchOperation(T[])">HRegion.BatchOperation</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="type parameter in HRegion.BatchOperation">T</a>[]&nbsp;operations)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getMutation(int)">getMutation</a></strong>(int&nbsp;index)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>[]</code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getMutationsForCoprocs()">getMutationsForCoprocs</a></strong>()</code>
+<div class="block">This method is potentially expensive and should only be used for non-replay CP path.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>abstract long</code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getNonce(int)">getNonce</a></strong>(int&nbsp;index)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>abstract long</code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getNonceGroup(int)">getNonceGroup</a></strong>(int&nbsp;index)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>abstract long</code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getReplaySequenceId()">getReplaySequenceId</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#isDone()">isDone</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>abstract boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#isInReplay()">isInReplay</a></strong>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang
 /Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field_detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="operations">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>operations</h4>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="type parameter in HRegion.BatchOperation">T</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.2715">operations</a></pre>
+</li>
+</ul>
+<a name="nextIndexToProcess">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>nextIndexToProcess</h4>
+<pre>int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.2716">nextIndexToProcess</a></pre>
+</li>
+</ul>
+<a name="retCodeDetails">
+<!--   -->
+</a>
+<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.BatchOperation.html#line.2717">retCodeDetails</a></pre>
+</li>
+</ul>
+<a name="walEditsFromCoprocessors">
+<!--   -->
+</a>
+<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.BatchOperation.html#line.2718">walEditsFromCoprocessors</a></pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="HRegion.BatchOperation(java.lang.Object[])">
+<!--   -->
+</a><a name="HRegion.BatchOperation(T[])">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>HRegion.BatchOperation</h4>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.2720">HRegion.BatchOperation</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="type parameter in HRegion.BatchOperation">T</a>[]&nbsp;operations)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getMutation(int)">
+<!--   -->
+</a>
+<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.BatchOperation.html#line.2727">getMutation</a>(int&nbsp;index)</pre>
+</li>
+</ul>
+<a name="getNonceGroup(int)">
+<!--   -->
+</a>
+<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.BatchOperation.html#line.2728">getNonceGroup</a>(int&nbsp;index)</pre>
+</li>
+</ul>
+<a name="getNonce(int)">
+<!--   -->
+</a>
+<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.BatchOperation.html#line.2729">getNonce</a>(int&nbsp;index)</pre>
+</li>
+</ul>
+<a name="getMutationsForCoprocs()">
+<!--   -->
+</a>
+<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.BatchOperation.html#line.2731">getMutationsForCoprocs</a>()</pre>
+<div class="block">This method is potentially expensive and should only be used for non-replay CP path.</div>
+</li>
+</ul>
+<a name="isInReplay()">
+<!--   -->
+</a>
+<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.BatchOperation.html#line.2732">isInReplay</a>()</pre>
+</li>
+</ul>
+<a name="getReplaySequenceId()">
+<!--   -->
+</a>
+<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.BatchOperation.html#line.2733">getReplaySequenceId</a>()</pre>
+</li>
+</ul>
+<a name="isDone()">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>isDone</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.2735">isDone</a>()</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar_bottom">
+<!--   -->
+</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/HRegion.BatchOperation.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" target="_top">Frames</a></li>
+<li><a href="HRegion.BatchOperation.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_detail">Method</a></li>
+</ul>
+</div>
+<a name="skip-navbar_bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/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
deleted file mode 100644
index 33d5ab0..0000000
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html
+++ /dev/null
@@ -1,425 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>HRegion.BatchOperationInProgress (Apache HBase 2.0.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-</head>
-<body>
-<script type="text/javascript"><!--
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="HRegion.BatchOperationInProgress (Apache HBase 2.0.0-SNAPSHOT API)";
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar_top">
-<!--   -->
-</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/HRegion.BatchOperationInProgress.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="strong">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" target="_top">Frames</a></li>
-<li><a href="HRegion.BatchOperationInProgress.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method_summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method_detail">Method</a></li>
-</ul>
-</div>
-<a name="skip-navbar_top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.hadoop.hbase.regionserver</div>
-<h2 title="Class HRegion.BatchOperationInProgress" class="title">Class HRegion.BatchOperationInProgress&lt;T&gt;</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.hadoop.hbase.regionserver.HRegion.BatchOperationInProgress&lt;T&gt;</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>Direct Known Subclasses:</dt>
-<dd><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.MutationBatch</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatch.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.ReplayBatch</a></dd>
-</dl>
-<dl>
-<dt>Enclosing class:</dt>
-<dd><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></dd>
-</dl>
-<hr>
-<br>
-<pre>private abstract static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2757">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
- is proceeding.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- =========== FIELD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field_summary">
-<!--   -->
-</a>
-<h3>Field Summary</h3>
-<table class="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) int</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#nextIndexToProcess">nextIndexToProcess</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="type parameter in HRegion.BatchOperationInProgress">T</a>[]</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#operations">operations</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[]</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#retCodeDetails">retCodeDetails</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>[]</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#walEditsFromCoprocessors">walEditsFromCoprocessors</a></strong></code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor_summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#HRegion.BatchOperationInProgress(T[])">HRegion.BatchOperationInProgress</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="type parameter in HRegion.BatchOperationInProgress">T</a>[]&nbsp;operations)</code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method_summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a></code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#getMutation(int)">getMutation</a></strong>(int&nbsp;index)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>[]</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#getMutationsForCoprocs()">getMutationsForCoprocs</a></strong>()</code>
-<div class="block">This method is potentially expensive and should only be used for non-replay CP path.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>abstract long</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#getNonce(int)">getNonce</a></strong>(int&nbsp;index)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>abstract long</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#getNonceGroup(int)">getNonceGroup</a></strong>(int&nbsp;index)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>abstract long</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#getReplaySequenceId()">getReplaySequenceId</a></strong>()</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#isDone()">isDone</a></strong>()</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>abstract boolean</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#isInReplay()">isInReplay</a></strong>()</code>&nbsp;</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang
 /Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ FIELD DETAIL =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field_detail">
-<!--   -->
-</a>
-<h3>Field Detail</h3>
-<a name="operations">
-<!--   -->
-</a>
-<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.2758">operations</a></pre>
-</li>
-</ul>
-<a name="nextIndexToProcess">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>nextIndexToProcess</h4>
-<pre>int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#line.2759">nextIndexToProcess</a></pre>
-</li>
-</ul>
-<a name="retCodeDetails">
-<!--   -->
-</a>
-<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.2760">retCodeDetails</a></pre>
-</li>
-</ul>
-<a name="walEditsFromCoprocessors">
-<!--   -->
-</a>
-<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.2761">walEditsFromCoprocessors</a></pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor_detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="HRegion.BatchOperationInProgress(java.lang.Object[])">
-<!--   -->
-</a><a name="HRegion.BatchOperationInProgress(T[])">
-<!--   -->
-</a>
-<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.2763">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>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method_detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="getMutation(int)">
-<!--   -->
-</a>
-<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.2770">getMutation</a>(int&nbsp;index)</pre>
-</li>
-</ul>
-<a name="getNonceGroup(int)">
-<!--   -->
-</a>
-<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.2771">getNonceGroup</a>(int&nbsp;index)</pre>
-</li>
-</ul>
-<a name="getNonce(int)">
-<!--   -->
-</a>
-<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.2772">getNonce</a>(int&nbsp;index)</pre>
-</li>
-</ul>
-<a name="getMutationsForCoprocs()">
-<!--   -->
-</a>
-<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.2774">getMutationsForCoprocs</a>()</pre>
-<div class="block">This method is potentially expensive and should only be used for non-replay CP path.</div>
-</li>
-</ul>
-<a name="isInReplay()">
-<!--   -->
-</a>
-<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.2775">isInReplay</a>()</pre>
-</li>
-</ul>
-<a name="getReplaySequenceId()">
-<!--   -->
-</a>
-<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.2776">getReplaySequenceId</a>()</pre>
-</li>
-</ul>
-<a name="isDone()">
-<!--   -->
-</a>
-<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.2778">isDone</a>()</pre>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar_bottom">
-<!--   -->
-</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/HRegion.BatchOperationInProgress.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="strong">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" target="_top">Frames</a></li>
-<li><a href="HRegion.BatchOperationInProgress.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method_summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method_detail">Method</a></li>
-</ul>
-</div>
-<a name="skip-navbar_bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html
index 6bdad43..0f04d07 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html
@@ -35,7 +35,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="strong">Prev Class</span></a></li>
 <li><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -103,7 +103,7 @@
 </dl>
 <hr>
 <br>
-<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.438">HRegion.FlushResultImpl</a>
+<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.422">HRegion.FlushResultImpl</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.FlushResult.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.FlushResult</a></pre>
 <div class="block">Objects from this class are created when flushing to describe all the different states that
@@ -259,7 +259,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.F
 <ul class="blockList">
 <li class="blockList">
 <h4>result</h4>
-<pre>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/HRegion.FlushResultImpl.html#line.439">result</a></pre>
+<pre>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/HRegion.FlushResultImpl.html#line.423">result</a></pre>
 </li>
 </ul>
 <a name="failureReason">
@@ -268,7 +268,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.F
 <ul class="blockList">
 <li class="blockList">
 <h4>failureReason</h4>
-<pre>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/HRegion.FlushResultImpl.html#line.440">failureReason</a></pre>
+<pre>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/HRegion.FlushResultImpl.html#line.424">failureReason</a></pre>
 </li>
 </ul>
 <a name="flushSequenceId">
@@ -277,7 +277,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.F
 <ul class="blockList">
 <li class="blockList">
 <h4>flushSequenceId</h4>
-<pre>final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.441">flushSequenceId</a></pre>
+<pre>final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.425">flushSequenceId</a></pre>
 </li>
 </ul>
 <a name="wroteFlushWalMarker">
@@ -286,7 +286,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.F
 <ul class="blockListLast">
 <li class="blockList">
 <h4>wroteFlushWalMarker</h4>
-<pre>final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.442">wroteFlushWalMarker</a></pre>
+<pre>final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.426">wroteFlushWalMarker</a></pre>
 </li>
 </ul>
 </li>
@@ -303,7 +303,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.F
 <ul class="blockList">
 <li class="blockList">
 <h4>HRegion.FlushResultImpl</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.451">HRegion.FlushResultImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.FlushResult.Result</a>&nbsp;result,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.435">HRegion.FlushResultImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.FlushResult.Result</a>&nbsp;result,
                        long&nbsp;flushSequenceId)</pre>
 <div class="block">Convenience constructor to use when the flush is successful, the failure message is set to
  null.</div>
@@ -317,7 +317,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.F
 <ul class="blockList">
 <li class="blockList">
 <h4>HRegion.FlushResultImpl</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.462">HRegion.FlushResultImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.FlushResult.Result</a>&nbsp;result,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.446">HRegion.FlushResultImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.FlushResult.Result</a>&nbsp;result,
                        <a href="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;failureReason,
                        boolean&nbsp;wroteFlushMarker)</pre>
 <div class="block">Convenience constructor to use when we cannot flush.</div>
@@ -330,7 +330,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.F
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HRegion.FlushResultImpl</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.473">HRegion.FlushResultImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.FlushResult.Result</a>&nbsp;result,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.457">HRegion.FlushResultImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.FlushResult.Result</a>&nbsp;result,
                        long&nbsp;flushSequenceId,
                        <a href="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;failureReason,
                        boolean&nbsp;wroteFlushMarker)</pre>
@@ -352,7 +352,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.F
 <ul class="blockList">
 <li class="blockList">
 <h4>isFlushSucceeded</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.487">isFlushSucceeded</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.471">isFlushSucceeded</a>()</pre>
 <div class="block">Convenience method, the equivalent of checking if result is
  FLUSHED_NO_COMPACTION_NEEDED or FLUSHED_NO_COMPACTION_NEEDED.</div>
 <dl>
@@ -367,7 +367,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.F
 <ul class="blockList">
 <li class="blockList">
 <h4>isCompactionNeeded</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.497">isCompactionNeeded</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.481">isCompactionNeeded</a>()</pre>
 <div class="block">Convenience method, the equivalent of checking if result is FLUSHED_COMPACTION_NEEDED.</div>
 <dl>
 <dt><strong>Specified by:</strong></dt>
@@ -381,7 +381,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.F
 <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/HRegion.FlushResultImpl.html#line.502">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.FlushResultImpl.html#line.486">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>
@@ -394,7 +394,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.F
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getResult</h4>
-<pre>public&nbsp;<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/HRegion.FlushResultImpl.html#line.510">getResult</a>()</pre>
+<pre>public&nbsp;<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/HRegion.FlushResultImpl.html#line.494">getResult</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.html#getResult()">getResult</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.FlushResult</a></code></dd>
@@ -427,7 +427,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.F
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="strong">Prev Class</span></a></li>
 <li><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/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 687f03d..3690fcd 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html
@@ -86,7 +86,7 @@
 <li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">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;</li>
+<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">org.apache.hadoop.hbase.regionserver.HRegion.BatchOperation</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;</li>
 <li>
 <ul class="inheritance">
 <li>org.apache.hadoop.hbase.regionserver.HRegion.MutationBatch</li>
@@ -104,8 +104,8 @@
 </dl>
 <hr>
 <br>
-<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2783">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>
+<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2740">HRegion.MutationBatch</a>
+extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</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>
 </div>
@@ -134,11 +134,11 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 </tr>
 </table>
 <ul class="blockList">
-<li class="blockList"><a name="fields_inherited_from_class_org.apache.hadoop.hbase.regionserver.HRegion.BatchOperationInProgress">
+<li class="blockList"><a name="fields_inherited_from_class_org.apache.hadoop.hbase.regionserver.HRegion.BatchOperation">
 <!--   -->
 </a>
-<h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#nextIndexToProcess">nextIndexToProcess</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#operations">operations</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#retCodeDetails">retCodeDetails</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#walEditsFromCoprocessors">walEditsFromCoprocessors</a></code></li>
+<h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a></h3>
+<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#nextIndexToProcess">nextIndexToProcess</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#operations">operations</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#retCodeDetails">retCodeDetails</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#walEditsFromCoprocessors">walEditsFromCoprocessors</a></code></li>
 </ul>
 </li>
 </ul>
@@ -201,11 +201,11 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 </tr>
 </table>
 <ul class="blockList">
-<li class="blockList"><a name="methods_inherited_from_class_org.apache.hadoop.hbase.regionserver.HRegion.BatchOperationInProgress">
+<li class="blockList"><a name="methods_inherited_from_class_org.apache.hadoop.hbase.regionserver.HRegion.BatchOperation">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#isDone()">isDone</a></code></li>
+<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a></h3>
+<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#isDone()">isDone</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
@@ -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.2784">nonceGroup</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html#line.2741">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.2785">nonce</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html#line.2742">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.2786">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.2743">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,10 +279,10 @@ 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.2793">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.2750">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>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getMutation(int)">getMutation</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;</code></dd>
 </dl>
 </li>
 </ul>
@@ -292,10 +292,10 @@ 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.2798">getNonceGroup</a>(int&nbsp;index)</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html#line.2755">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>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getNonceGroup(int)">getNonceGroup</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;</code></dd>
 </dl>
 </li>
 </ul>
@@ -305,10 +305,10 @@ 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.2803">getNonce</a>(int&nbsp;index)</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html#line.2760">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>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getNonce(int)">getNonce</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;</code></dd>
 </dl>
 </li>
 </ul>
@@ -318,12 +318,12 @@ 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.2808">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>
+<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.2765">getMutationsForCoprocs</a>()</pre>
+<div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getMutationsForCoprocs()">HRegion.BatchOperation</a></code></strong></div>
 <div class="block">This method is potentially expensive and should only be used for non-replay CP path.</div>
 <dl>
 <dt><strong>Specified by:</strong></dt>
-<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#getMutationsForCoprocs()">getMutationsForCoprocs</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>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getMutationsForCoprocs()">getMutationsForCoprocs</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;</code></dd>
 </dl>
 </li>
 </ul>
@@ -333,10 +333,10 @@ 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.2813">isInReplay</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html#line.2770">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>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#isInReplay()">isInReplay</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;</code></dd>
 </dl>
 </li>
 </ul>
@@ -346,10 +346,10 @@ 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.2818">getReplaySequenceId</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html#line.2775">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>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getReplaySequenceId()">getReplaySequenceId</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;</code></dd>
 </dl>
 </li>
 </ul>


[21/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/src-html/org/apache/hadoop/hbase/client/TableState.State.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/TableState.State.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/TableState.State.html
index 9423718..3488e43 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/TableState.State.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/TableState.State.html
@@ -38,7 +38,7 @@
 <span class="sourceLineNo">030</span>@InterfaceAudience.Private<a name="line.30"></a>
 <span class="sourceLineNo">031</span>public class TableState {<a name="line.31"></a>
 <span class="sourceLineNo">032</span><a name="line.32"></a>
-<span class="sourceLineNo">033</span>  @InterfaceAudience.Public<a name="line.33"></a>
+<span class="sourceLineNo">033</span>  @InterfaceAudience.Private<a name="line.33"></a>
 <span class="sourceLineNo">034</span>  @InterfaceStability.Evolving<a name="line.34"></a>
 <span class="sourceLineNo">035</span>  public static enum State {<a name="line.35"></a>
 <span class="sourceLineNo">036</span>    ENABLED,<a name="line.36"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/src-html/org/apache/hadoop/hbase/client/TableState.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/TableState.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/TableState.html
index 9423718..3488e43 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/TableState.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/TableState.html
@@ -38,7 +38,7 @@
 <span class="sourceLineNo">030</span>@InterfaceAudience.Private<a name="line.30"></a>
 <span class="sourceLineNo">031</span>public class TableState {<a name="line.31"></a>
 <span class="sourceLineNo">032</span><a name="line.32"></a>
-<span class="sourceLineNo">033</span>  @InterfaceAudience.Public<a name="line.33"></a>
+<span class="sourceLineNo">033</span>  @InterfaceAudience.Private<a name="line.33"></a>
 <span class="sourceLineNo">034</span>  @InterfaceStability.Evolving<a name="line.34"></a>
 <span class="sourceLineNo">035</span>  public static enum State {<a name="line.35"></a>
 <span class="sourceLineNo">036</span>    ENABLED,<a name="line.36"></a>


[02/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/distribution-management.html
----------------------------------------------------------------------
diff --git a/distribution-management.html b/distribution-management.html
index 6c9e197..a8d747f 100644
--- a/distribution-management.html
+++ b/distribution-management.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Distribution Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -290,7 +290,7 @@
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-02-07</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-09</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/export_control.html
----------------------------------------------------------------------
diff --git a/export_control.html b/export_control.html
index 466c7ca..d58587f 100644
--- a/export_control.html
+++ b/export_control.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Export Control
@@ -330,7 +330,7 @@ for more details.</p>
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-02-07</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-09</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/hbase-annotations/checkstyle.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/checkstyle.html b/hbase-annotations/checkstyle.html
index 42d76ff..469ba0e 100644
--- a/hbase-annotations/checkstyle.html
+++ b/hbase-annotations/checkstyle.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-09 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-07</span>
+        <span id="publishDate">Last Published: 2016-02-09</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/hbase-annotations/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/dependencies.html b/hbase-annotations/dependencies.html
index fb73885..7b334e3 100644
--- a/hbase-annotations/dependencies.html
+++ b/hbase-annotations/dependencies.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-09 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-07</span>
+        <span id="publishDate">Last Published: 2016-02-09</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/hbase-annotations/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/dependency-convergence.html b/hbase-annotations/dependency-convergence.html
index e4e8a16..d0c03bf 100644
--- a/hbase-annotations/dependency-convergence.html
+++ b/hbase-annotations/dependency-convergence.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-09 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-07</span>
+        <span id="publishDate">Last Published: 2016-02-09</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>
@@ -132,10 +132,10 @@
 <td>24</td></tr>
 <tr class="b">
 <th>Number of dependencies (NOD):</th>
-<td>80</td></tr>
+<td>81</td></tr>
 <tr class="a">
 <th>Number of unique artifacts (NOA):</th>
-<td>80</td></tr>
+<td>81</td></tr>
 <tr class="b">
 <th>Number of SNAPSHOT artifacts (NOS):</th>
 <td>0</td></tr>
@@ -996,6 +996,18 @@
 <li><a class="externalLink" href="http://hbase.apache.org/hbase-assembly">org.apache.hbase:hbase-assembly</a></li>
 <li><a class="externalLink" href="http://hbase.apache.org/hbase-it">org.apache.hbase:hbase-it</a></li></ol></td></tr></table></td></tr></table></div>
 <div class="section">
+<h4><a name="org.apache.hbase:hbase-spark"></a>org.apache.hbase:hbase-spark</h4>
+<table border="0" class="bodyTable">
+<tr class="a">
+<td><img alt="success" src="images/icon_success_sml.gif" /></td>
+<td>
+<table border="0" class="bodyTable">
+<tr class="b">
+<td width="25%">2.0.0-SNAPSHOT</td>
+<td>
+<ol style="list-style-type: lower-alpha">
+<li><a class="externalLink" href="http://hbase.apache.org/hbase-assembly">org.apache.hbase:hbase-assembly</a></li></ol></td></tr></table></td></tr></table></div>
+<div class="section">
 <h4><a name="org.apache.hbase:hbase-testing-util"></a>org.apache.hbase:hbase-testing-util</h4>
 <table border="0" class="bodyTable">
 <tr class="a">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/hbase-annotations/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/dependency-info.html b/hbase-annotations/dependency-info.html
index 5eaefad..92d1de3 100644
--- a/hbase-annotations/dependency-info.html
+++ b/hbase-annotations/dependency-info.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-09 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-07</span>
+        <span id="publishDate">Last Published: 2016-02-09</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/hbase-annotations/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/dependency-management.html b/hbase-annotations/dependency-management.html
index 46b95e9..2b6434d 100644
--- a/hbase-annotations/dependency-management.html
+++ b/hbase-annotations/dependency-management.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-09 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-07</span>
+        <span id="publishDate">Last Published: 2016-02-09</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/hbase-annotations/distribution-management.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/distribution-management.html b/hbase-annotations/distribution-management.html
index 576b1cd..d2b9806 100644
--- a/hbase-annotations/distribution-management.html
+++ b/hbase-annotations/distribution-management.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-09 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-07</span>
+        <span id="publishDate">Last Published: 2016-02-09</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/hbase-annotations/index.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/index.html b/hbase-annotations/index.html
index bebbf30..19b6585 100644
--- a/hbase-annotations/index.html
+++ b/hbase-annotations/index.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-09 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-07</span>
+        <span id="publishDate">Last Published: 2016-02-09</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/hbase-annotations/integration.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/integration.html b/hbase-annotations/integration.html
index 4d2eb1e..48d627b 100644
--- a/hbase-annotations/integration.html
+++ b/hbase-annotations/integration.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-09 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-07</span>
+        <span id="publishDate">Last Published: 2016-02-09</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/hbase-annotations/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/issue-tracking.html b/hbase-annotations/issue-tracking.html
index cf8538b..6dead72 100644
--- a/hbase-annotations/issue-tracking.html
+++ b/hbase-annotations/issue-tracking.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-09 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-07</span>
+        <span id="publishDate">Last Published: 2016-02-09</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/hbase-annotations/license.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/license.html b/hbase-annotations/license.html
index ff8c210..f01ba78 100644
--- a/hbase-annotations/license.html
+++ b/hbase-annotations/license.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-09 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-07</span>
+        <span id="publishDate">Last Published: 2016-02-09</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/hbase-annotations/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/mail-lists.html b/hbase-annotations/mail-lists.html
index 26f5ed1..26d4ac4 100644
--- a/hbase-annotations/mail-lists.html
+++ b/hbase-annotations/mail-lists.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-09 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-07</span>
+        <span id="publishDate">Last Published: 2016-02-09</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/hbase-annotations/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/plugin-management.html b/hbase-annotations/plugin-management.html
index 7701482..fdb7766 100644
--- a/hbase-annotations/plugin-management.html
+++ b/hbase-annotations/plugin-management.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-09 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-07</span>
+        <span id="publishDate">Last Published: 2016-02-09</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/hbase-annotations/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/plugins.html b/hbase-annotations/plugins.html
index 29390b2..874dc2f 100644
--- a/hbase-annotations/plugins.html
+++ b/hbase-annotations/plugins.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-09 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-07</span>
+        <span id="publishDate">Last Published: 2016-02-09</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/hbase-annotations/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/project-info.html b/hbase-annotations/project-info.html
index 4f21cf9..35112d6 100644
--- a/hbase-annotations/project-info.html
+++ b/hbase-annotations/project-info.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-09 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-07</span>
+        <span id="publishDate">Last Published: 2016-02-09</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/hbase-annotations/project-reports.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/project-reports.html b/hbase-annotations/project-reports.html
index 20112fc..c6abf5b 100644
--- a/hbase-annotations/project-reports.html
+++ b/hbase-annotations/project-reports.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-09 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-07</span>
+        <span id="publishDate">Last Published: 2016-02-09</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/hbase-annotations/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/project-summary.html b/hbase-annotations/project-summary.html
index 7415d6b..fe90292 100644
--- a/hbase-annotations/project-summary.html
+++ b/hbase-annotations/project-summary.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-09 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-07</span>
+        <span id="publishDate">Last Published: 2016-02-09</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/hbase-annotations/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/source-repository.html b/hbase-annotations/source-repository.html
index cd9b0e2..ff59b83 100644
--- a/hbase-annotations/source-repository.html
+++ b/hbase-annotations/source-repository.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-09 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-07</span>
+        <span id="publishDate">Last Published: 2016-02-09</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/hbase-annotations/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/team-list.html b/hbase-annotations/team-list.html
index f146d41..2fdb079 100644
--- a/hbase-annotations/team-list.html
+++ b/hbase-annotations/team-list.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-09 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-07</span>
+        <span id="publishDate">Last Published: 2016-02-09</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/hbase-spark/checkstyle.html
----------------------------------------------------------------------
diff --git a/hbase-spark/checkstyle.html b/hbase-spark/checkstyle.html
index 4c54b92..f5bdeb0 100644
--- a/hbase-spark/checkstyle.html
+++ b/hbase-spark/checkstyle.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-09 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-07</span>
+        <span id="publishDate">Last Published: 2016-02-09</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/hbase-spark/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-spark/dependencies.html b/hbase-spark/dependencies.html
index 0cbe182..2dde140 100644
--- a/hbase-spark/dependencies.html
+++ b/hbase-spark/dependencies.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-09 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-07</span>
+        <span id="publishDate">Last Published: 2016-02-09</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>
@@ -179,13 +179,7 @@
 <td><a class="externalLink" href="http://hbase.apache.org/hbase-server">hbase-server</a></td>
 <td>2.0.0-SNAPSHOT</td>
 <td>jar</td>
-<td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr>
-<tr class="a">
-<td>org.apache.spark</td>
-<td><a class="externalLink" href="http://spark.apache.org/">spark-streaming_2.10</a></td>
-<td>1.3.0</td>
-<td>jar</td>
-<td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.html">Apache 2.0 License</a></td></tr></table></div><a name="Project_Dependencies_test"></a>
+<td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr></table></div><a name="Project_Dependencies_test"></a>
 <div class="section">
 <h3><a name="test"></a>test</h3>
 <p>The following is a list of test dependencies for this project. These dependencies are only required to compile and run unit tests for the application:</p>
@@ -318,6 +312,12 @@
 <td>jar</td>
 <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.html">Apache 2.0 License</a></td></tr>
 <tr class="b">
+<td>org.apache.spark</td>
+<td><a class="externalLink" href="http://spark.apache.org/">spark-streaming_2.10</a></td>
+<td>1.3.0</td>
+<td>jar</td>
+<td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.html">Apache 2.0 License</a></td></tr>
+<tr class="a">
 <td>org.scala-lang</td>
 <td><a class="externalLink" href="http://www.scala-lang.org/">scala-library</a></td>
 <td>2.10.4</td>
@@ -841,36 +841,30 @@
 <td>jar</td>
 <td><a class="externalLink" href="http://www.opensource.org/licenses/mit-license.php">MIT License</a></td></tr>
 <tr class="b">
-<td>org.spark-project.spark</td>
-<td><a class="externalLink" href="http://nexus.sonatype.org/oss-repository-hosting.html/unused">unused</a></td>
-<td>1.0.0</td>
-<td>jar</td>
-<td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache License, Version 2.0</a></td></tr>
-<tr class="a">
 <td>org.tukaani</td>
 <td><a class="externalLink" href="http://tukaani.org/xz/java.html">xz</a></td>
 <td>1.0</td>
 <td>jar</td>
 <td>Public Domain</td></tr>
-<tr class="b">
+<tr class="a">
 <td>org.xerial.snappy</td>
 <td><a class="externalLink" href="https://github.comm/xerial/snappy-java">snappy-java</a></td>
 <td>1.1.1.6</td>
 <td>jar</td>
 <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td>xerces</td>
 <td><a class="externalLink" href="http://xerces.apache.org/xerces2-j">xercesImpl</a></td>
 <td>2.9.1</td>
 <td>jar</td>
 <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td>xml-apis</td>
 <td><a class="externalLink" href="http://xml.apache.org/commons/components/external/">xml-apis</a></td>
 <td>1.3.04</td>
 <td>jar</td>
 <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td>xmlenc</td>
 <td><a class="externalLink" href="http://xmlenc.sourceforge.net">xmlenc</a></td>
 <td>0.52</td>
@@ -1311,27 +1305,34 @@
 <td>jar</td>
 <td><a class="externalLink" href="http://www.opensource.org/licenses/bsd-license.php">New BSD license</a></td></tr>
 <tr class="b">
+<td>org.spark-project.spark</td>
+<td><a class="externalLink" href="http://nexus.sonatype.org/oss-repository-hosting.html/unused">unused</a></td>
+<td>1.0.0</td>
+<td>-</td>
+<td>jar</td>
+<td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache License, Version 2.0</a></td></tr>
+<tr class="a">
 <td>org.tachyonproject</td>
 <td><a class="externalLink" href="http://tachyonproject.org/tachyon/">tachyon</a></td>
 <td>0.5.0</td>
 <td>-</td>
 <td>jar</td>
 <td><a class="externalLink" href="https://github.com/amplab/tachyon/blob/master/LICENSE">Apache License</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td>org.tachyonproject</td>
 <td><a class="externalLink" href="http://tachyonproject.org/tachyon-client/">tachyon-client</a></td>
 <td>0.5.0</td>
 <td>-</td>
 <td>jar</td>
 <td><a class="externalLink" href="https://github.com/amplab/tachyon/blob/master/LICENSE">Apache License</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td>org.uncommons.maths</td>
 <td><a class="externalLink" href="http://maths.uncommons.org/">uncommons-maths</a></td>
 <td>1.2.2a</td>
 <td>-</td>
 <td>jar</td>
 <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.html">Apache License, Version 2.0</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td>oro</td>
 <td>oro</td>
 <td>2.0.8</td>
@@ -1929,7 +1930,7 @@ Supported protocols include: Echo, Finger, FTP, NNTP, NTP, POP3(S), SMTP(S), Tel
 <p><b>Description: </b>Py4J enables Python programs running in a Python interpreter to dynamically access Java objects in a Java Virtual Machine. Methods are called as if the Java objects resided in the Python interpreter and Java collections can be accessed through standard Python collection methods. Py4J also enables Java programs to call back Python objects.</p>
 <p><b>URL: </b><a class="externalLink" href="http://py4j.sourceforge.net/">http://py4j.sourceforge.net/</a></p>
 <p><b>Project License: </b><a class="externalLink" href="http://www.opensource.org/licenses/bsd-license.html">The New BSD License</a></p></td></tr></table></div></li>
-<li>org.spark-project.spark:unused:jar:1.0.0 (compile) <img id="_img113" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_dep112', '_img113' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_dep112" style="display:none">
+<li>org.spark-project.spark:unused:jar:1.0.0 (provided) <img id="_img113" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_dep112', '_img113' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_dep112" style="display:none">
 <table border="0" class="bodyTable">
 <tr class="a">
 <th>empty</th></tr>
@@ -2059,7 +2060,7 @@ Supported protocols include: Echo, Finger, FTP, NNTP, NTP, POP3(S), SMTP(S), Tel
 <p><b>Description: </b>Jodd Core tools and utilities, including type converters, JDateTime, cache etc.</p>
 <p><b>URL: </b><a class="externalLink" href="http://jodd.org">http://jodd.org</a></p>
 <p><b>Project License: </b><a class="externalLink" href="http://jodd.org/license.html">The New BSD License</a></p></td></tr></table></div></li></ul></li>
-<li>org.apache.spark:spark-streaming_2.10:jar:1.3.0 (compile) <img id="_img139" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_dep138', '_img139' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_dep138" style="display:none">
+<li>org.apache.spark:spark-streaming_2.10:jar:1.3.0 (provided) <img id="_img139" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_dep138', '_img139' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_dep138" style="display:none">
 <table border="0" class="bodyTable">
 <tr class="a">
 <th>Spark Project Streaming</th></tr>
@@ -4724,13 +4725,13 @@ Jackson JSON processor's data binding functionality.</p>
 <td>147</td>
 <td>1</td></tr>
 <tr class="a">
-<td>compile: 96</td>
-<td>compile: 44.18 MB</td>
-<td>compile: 27,787</td>
-<td>compile: 24,986</td>
-<td>compile: 1,169</td>
+<td>compile: 94</td>
+<td>compile: 42.92 MB</td>
+<td>compile: 26,823</td>
+<td>compile: 24,069</td>
+<td>compile: 1,158</td>
 <td>-</td>
-<td>compile: 84</td>
+<td>compile: 82</td>
 <td>compile: 1</td></tr>
 <tr class="b">
 <td>test: 20</td>
@@ -4751,13 +4752,13 @@ Jackson JSON processor's data binding functionality.</p>
 <td>runtime: 1</td>
 <td>-</td></tr>
 <tr class="b">
-<td>provided: 53</td>
-<td>provided: 57.46 MB</td>
-<td>provided: 39,045</td>
-<td>provided: 37,608</td>
-<td>provided: 657</td>
+<td>provided: 55</td>
+<td>provided: 58.71 MB</td>
+<td>provided: 40,009</td>
+<td>provided: 38,525</td>
+<td>provided: 668</td>
 <td>-</td>
-<td>provided: 52</td>
+<td>provided: 54</td>
 <td>-</td></tr></table></div>
       </div>
     </div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/hbase-spark/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-spark/dependency-convergence.html b/hbase-spark/dependency-convergence.html
index 7675d32..9cd9abb 100644
--- a/hbase-spark/dependency-convergence.html
+++ b/hbase-spark/dependency-convergence.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-09 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-07</span>
+        <span id="publishDate">Last Published: 2016-02-09</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>
@@ -132,10 +132,10 @@
 <td>24</td></tr>
 <tr class="b">
 <th>Number of dependencies (NOD):</th>
-<td>80</td></tr>
+<td>81</td></tr>
 <tr class="a">
 <th>Number of unique artifacts (NOA):</th>
-<td>80</td></tr>
+<td>81</td></tr>
 <tr class="b">
 <th>Number of SNAPSHOT artifacts (NOS):</th>
 <td>0</td></tr>
@@ -996,6 +996,18 @@
 <li><a class="externalLink" href="http://hbase.apache.org/hbase-assembly">org.apache.hbase:hbase-assembly</a></li>
 <li><a class="externalLink" href="http://hbase.apache.org/hbase-it">org.apache.hbase:hbase-it</a></li></ol></td></tr></table></td></tr></table></div>
 <div class="section">
+<h4><a name="org.apache.hbase:hbase-spark"></a>org.apache.hbase:hbase-spark</h4>
+<table border="0" class="bodyTable">
+<tr class="a">
+<td><img alt="success" src="images/icon_success_sml.gif" /></td>
+<td>
+<table border="0" class="bodyTable">
+<tr class="b">
+<td width="25%">2.0.0-SNAPSHOT</td>
+<td>
+<ol style="list-style-type: lower-alpha">
+<li><a class="externalLink" href="http://hbase.apache.org/hbase-assembly">org.apache.hbase:hbase-assembly</a></li></ol></td></tr></table></td></tr></table></div>
+<div class="section">
 <h4><a name="org.apache.hbase:hbase-testing-util"></a>org.apache.hbase:hbase-testing-util</h4>
 <table border="0" class="bodyTable">
 <tr class="a">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/hbase-spark/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-spark/dependency-info.html b/hbase-spark/dependency-info.html
index 93f8eab..f507251 100644
--- a/hbase-spark/dependency-info.html
+++ b/hbase-spark/dependency-info.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-09 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-07</span>
+        <span id="publishDate">Last Published: 2016-02-09</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/hbase-spark/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-spark/dependency-management.html b/hbase-spark/dependency-management.html
index d4ea65f..c634686 100644
--- a/hbase-spark/dependency-management.html
+++ b/hbase-spark/dependency-management.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-09 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-07</span>
+        <span id="publishDate">Last Published: 2016-02-09</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/hbase-spark/distribution-management.html
----------------------------------------------------------------------
diff --git a/hbase-spark/distribution-management.html b/hbase-spark/distribution-management.html
index 4ffb3e7..e312136 100644
--- a/hbase-spark/distribution-management.html
+++ b/hbase-spark/distribution-management.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-09 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-07</span>
+        <span id="publishDate">Last Published: 2016-02-09</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/hbase-spark/index.html
----------------------------------------------------------------------
diff --git a/hbase-spark/index.html b/hbase-spark/index.html
index ff07382..955e112 100644
--- a/hbase-spark/index.html
+++ b/hbase-spark/index.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-09 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-07</span>
+        <span id="publishDate">Last Published: 2016-02-09</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/hbase-spark/integration.html
----------------------------------------------------------------------
diff --git a/hbase-spark/integration.html b/hbase-spark/integration.html
index c0c9bec..8f92468 100644
--- a/hbase-spark/integration.html
+++ b/hbase-spark/integration.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-09 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-07</span>
+        <span id="publishDate">Last Published: 2016-02-09</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/hbase-spark/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-spark/issue-tracking.html b/hbase-spark/issue-tracking.html
index 27edb23..3bdae46 100644
--- a/hbase-spark/issue-tracking.html
+++ b/hbase-spark/issue-tracking.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-09 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-07</span>
+        <span id="publishDate">Last Published: 2016-02-09</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/hbase-spark/license.html
----------------------------------------------------------------------
diff --git a/hbase-spark/license.html b/hbase-spark/license.html
index dc98f73..feb3560 100644
--- a/hbase-spark/license.html
+++ b/hbase-spark/license.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-09 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-07</span>
+        <span id="publishDate">Last Published: 2016-02-09</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/hbase-spark/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-spark/mail-lists.html b/hbase-spark/mail-lists.html
index 203bcf9..9a92421 100644
--- a/hbase-spark/mail-lists.html
+++ b/hbase-spark/mail-lists.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-09 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-07</span>
+        <span id="publishDate">Last Published: 2016-02-09</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/hbase-spark/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-spark/plugin-management.html b/hbase-spark/plugin-management.html
index 389bcd8..a1257ac 100644
--- a/hbase-spark/plugin-management.html
+++ b/hbase-spark/plugin-management.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-09 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-07</span>
+        <span id="publishDate">Last Published: 2016-02-09</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/hbase-spark/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-spark/plugins.html b/hbase-spark/plugins.html
index 6651cdc..92d39b9 100644
--- a/hbase-spark/plugins.html
+++ b/hbase-spark/plugins.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-09 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-07</span>
+        <span id="publishDate">Last Published: 2016-02-09</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/hbase-spark/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-spark/project-info.html b/hbase-spark/project-info.html
index b94f2fd..80b049f 100644
--- a/hbase-spark/project-info.html
+++ b/hbase-spark/project-info.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-09 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-07</span>
+        <span id="publishDate">Last Published: 2016-02-09</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/hbase-spark/project-reports.html
----------------------------------------------------------------------
diff --git a/hbase-spark/project-reports.html b/hbase-spark/project-reports.html
index fa11dd4..9ce47c9 100644
--- a/hbase-spark/project-reports.html
+++ b/hbase-spark/project-reports.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-09 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-07</span>
+        <span id="publishDate">Last Published: 2016-02-09</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/hbase-spark/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-spark/project-summary.html b/hbase-spark/project-summary.html
index 6fd8d5f..d73fd6f 100644
--- a/hbase-spark/project-summary.html
+++ b/hbase-spark/project-summary.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-09 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-07</span>
+        <span id="publishDate">Last Published: 2016-02-09</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/hbase-spark/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-spark/source-repository.html b/hbase-spark/source-repository.html
index c9b6491..4d8d691 100644
--- a/hbase-spark/source-repository.html
+++ b/hbase-spark/source-repository.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-09 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-07</span>
+        <span id="publishDate">Last Published: 2016-02-09</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/hbase-spark/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-spark/team-list.html b/hbase-spark/team-list.html
index 70f685d..9568b2c 100644
--- a/hbase-spark/team-list.html
+++ b/hbase-spark/team-list.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-09 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-07</span>
+        <span id="publishDate">Last Published: 2016-02-09</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/index.html
----------------------------------------------------------------------
diff --git a/index.html b/index.html
index 1534ff4..1711cee 100644
--- a/index.html
+++ b/index.html
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia Site Renderer 1.6
+ | Generated by Apache Maven Doxia Site Renderer 1.6 
  | Rendered using Apache Maven Fluido Skin 1.5-HBASE
 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Apache HBaseâ„¢ Home</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -422,7 +422,7 @@ Apache HBase is an open-source, distributed, versioned, non-relational database
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-02-07</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-09</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/integration.html
----------------------------------------------------------------------
diff --git a/integration.html b/integration.html
index c41369a..e7400fb 100644
--- a/integration.html
+++ b/integration.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Continuous Integration</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -290,7 +290,7 @@
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-02-07</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-09</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/issue-tracking.html
----------------------------------------------------------------------
diff --git a/issue-tracking.html b/issue-tracking.html
index d998a77..c1aa851 100644
--- a/issue-tracking.html
+++ b/issue-tracking.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Issue Tracking</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -287,7 +287,7 @@
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-02-07</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-09</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/license.html
----------------------------------------------------------------------
diff --git a/license.html b/license.html
index 5ede793..b62ecd5 100644
--- a/license.html
+++ b/license.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project License</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -490,7 +490,7 @@
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-02-07</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-09</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/mail-lists.html
----------------------------------------------------------------------
diff --git a/mail-lists.html b/mail-lists.html
index c0f4e7a..0759d7c 100644
--- a/mail-lists.html
+++ b/mail-lists.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Mailing Lists</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -340,7 +340,7 @@
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-02-07</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-09</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/metrics.html
----------------------------------------------------------------------
diff --git a/metrics.html b/metrics.html
index 924ef4d..68163cb 100644
--- a/metrics.html
+++ b/metrics.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Apache HBase (TM) Metrics
@@ -458,7 +458,7 @@ export HBASE_REGIONSERVER_OPTS=&quot;$HBASE_JMX_OPTS -Dcom.sun.management.jmxrem
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-02-07</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-09</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/modules.html
----------------------------------------------------------------------
diff --git a/modules.html b/modules.html
index 442e6d6..14d0508 100644
--- a/modules.html
+++ b/modules.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Modules</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -366,7 +366,7 @@
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-02-07</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-09</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/old_news.html
----------------------------------------------------------------------
diff --git a/old_news.html b/old_news.html
index 48966f3..5accde0 100644
--- a/old_news.html
+++ b/old_news.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Old Apache HBase (TM) News
@@ -413,7 +413,7 @@ under the License. -->
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-02-07</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-09</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/plugin-management.html
----------------------------------------------------------------------
diff --git a/plugin-management.html b/plugin-management.html
index b3c5bf2..d2ca7eb 100644
--- a/plugin-management.html
+++ b/plugin-management.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Plugin Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -423,7 +423,7 @@
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-02-07</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-09</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/plugins.html
----------------------------------------------------------------------
diff --git a/plugins.html b/plugins.html
index b02a14b..0f97fe3 100644
--- a/plugins.html
+++ b/plugins.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Build Plugins</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -366,7 +366,7 @@
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-02-07</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-09</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/poweredbyhbase.html
----------------------------------------------------------------------
diff --git a/poweredbyhbase.html b/poweredbyhbase.html
index 411ab87..65b2814 100644
--- a/poweredbyhbase.html
+++ b/poweredbyhbase.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Powered By Apache HBase™</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -768,7 +768,7 @@ under the License. -->
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-02-07</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-09</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/project-info.html
----------------------------------------------------------------------
diff --git a/project-info.html b/project-info.html
index d39fbef..84d14ee 100644
--- a/project-info.html
+++ b/project-info.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -340,7 +340,7 @@
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-02-07</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-09</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/project-reports.html
----------------------------------------------------------------------
diff --git a/project-reports.html b/project-reports.html
index 888644d..1455584 100644
--- a/project-reports.html
+++ b/project-reports.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Generated Reports</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -310,7 +310,7 @@
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-02-07</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-09</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/project-summary.html
----------------------------------------------------------------------
diff --git a/project-summary.html b/project-summary.html
index f436aa7..b4472f3 100644
--- a/project-summary.html
+++ b/project-summary.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Summary</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -330,7 +330,7 @@
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-02-07</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-09</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/pseudo-distributed.html
----------------------------------------------------------------------
diff --git a/pseudo-distributed.html b/pseudo-distributed.html
index f517093..1574fb4 100644
--- a/pseudo-distributed.html
+++ b/pseudo-distributed.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
 Running Apache HBase (TM) in pseudo-distributed mode
@@ -307,7 +307,7 @@ under the License. -->
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-02-07</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-09</li>
             </p>
                 </div>
 


[07/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/FSWALEntry.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/FSWALEntry.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/FSWALEntry.html
index 99f20c6..e7ca16c 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/FSWALEntry.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/FSWALEntry.html
@@ -135,20 +135,17 @@
 <span class="sourceLineNo">127</span>      }<a name="line.127"></a>
 <span class="sourceLineNo">128</span>    }<a name="line.128"></a>
 <span class="sourceLineNo">129</span><a name="line.129"></a>
-<span class="sourceLineNo">130</span>    // This has to stay in this order<a name="line.130"></a>
-<span class="sourceLineNo">131</span>    WALKey key = getKey();<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    key.setLogSeqNum(regionSequenceId);<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    key.setWriteEntry(we);<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    return regionSequenceId;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  }<a name="line.135"></a>
-<span class="sourceLineNo">136</span><a name="line.136"></a>
-<span class="sourceLineNo">137</span>  /**<a name="line.137"></a>
-<span class="sourceLineNo">138</span>   * @return the family names which are effected by this edit.<a name="line.138"></a>
-<span class="sourceLineNo">139</span>   */<a name="line.139"></a>
-<span class="sourceLineNo">140</span>  Set&lt;byte[]&gt; getFamilyNames() {<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    return familyNames;<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">130</span>    getKey().setWriteEntry(we);<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    return regionSequenceId;<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>  /**<a name="line.134"></a>
+<span class="sourceLineNo">135</span>   * @return the family names which are effected by this edit.<a name="line.135"></a>
+<span class="sourceLineNo">136</span>   */<a name="line.136"></a>
+<span class="sourceLineNo">137</span>  Set&lt;byte[]&gt; getFamilyNames() {<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    return familyNames;<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>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/HLogKey.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/HLogKey.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/HLogKey.html
index dec4c09..fc31eaa 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/HLogKey.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/HLogKey.html
@@ -174,7 +174,7 @@
 <span class="sourceLineNo">166</span>          this.tablename.getName().length, out,<a name="line.166"></a>
 <span class="sourceLineNo">167</span>          compressionContext.tableDict);<a name="line.167"></a>
 <span class="sourceLineNo">168</span>    }<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    out.writeLong(this.logSeqNum);<a name="line.169"></a>
+<span class="sourceLineNo">169</span>    out.writeLong(getSequenceId());<a name="line.169"></a>
 <span class="sourceLineNo">170</span>    out.writeLong(this.writeTime);<a name="line.170"></a>
 <span class="sourceLineNo">171</span>    // Don't need to write the clusters information as we are using protobufs from 0.95<a name="line.171"></a>
 <span class="sourceLineNo">172</span>    // Writing only the first clusterId for testing the legacy read<a name="line.172"></a>
@@ -221,7 +221,7 @@
 <span class="sourceLineNo">213</span>      tablenameBytes = Compressor.readCompressed(in, compressionContext.tableDict);<a name="line.213"></a>
 <span class="sourceLineNo">214</span>    }<a name="line.214"></a>
 <span class="sourceLineNo">215</span><a name="line.215"></a>
-<span class="sourceLineNo">216</span>    this.logSeqNum = in.readLong();<a name="line.216"></a>
+<span class="sourceLineNo">216</span>    setSequenceId(in.readLong());<a name="line.216"></a>
 <span class="sourceLineNo">217</span>    this.writeTime = in.readLong();<a name="line.217"></a>
 <span class="sourceLineNo">218</span><a name="line.218"></a>
 <span class="sourceLineNo">219</span>    this.clusterIds.clear();<a name="line.219"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/WALUtil.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/WALUtil.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/WALUtil.html
index 434f303..f41db15 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/WALUtil.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/WALUtil.html
@@ -45,9 +45,9 @@
 <span class="sourceLineNo">037</span>import com.google.protobuf.TextFormat;<a name="line.37"></a>
 <span class="sourceLineNo">038</span><a name="line.38"></a>
 <span class="sourceLineNo">039</span>/**<a name="line.39"></a>
-<span class="sourceLineNo">040</span> * Helper methods to ease Region Server integration with the write ahead log.<a name="line.40"></a>
+<span class="sourceLineNo">040</span> * Helper methods to ease Region Server integration with the Write Ahead Log (WAL).<a name="line.40"></a>
 <span class="sourceLineNo">041</span> * Note that methods in this class specifically should not require access to anything<a name="line.41"></a>
-<span class="sourceLineNo">042</span> * other than the API found in {@link WAL}.<a name="line.42"></a>
+<span class="sourceLineNo">042</span> * other than the API found in {@link WAL}. For internal use only.<a name="line.42"></a>
 <span class="sourceLineNo">043</span> */<a name="line.43"></a>
 <span class="sourceLineNo">044</span>@InterfaceAudience.Private<a name="line.44"></a>
 <span class="sourceLineNo">045</span>public class WALUtil {<a name="line.45"></a>
@@ -59,89 +59,111 @@
 <span class="sourceLineNo">051</span><a name="line.51"></a>
 <span class="sourceLineNo">052</span>  /**<a name="line.52"></a>
 <span class="sourceLineNo">053</span>   * Write the marker that a compaction has succeeded and is about to be committed.<a name="line.53"></a>
-<span class="sourceLineNo">054</span>   * This provides info to the HMaster to allow it to recover the compaction if<a name="line.54"></a>
-<span class="sourceLineNo">055</span>   * this regionserver dies in the middle (This part is not yet implemented). It also prevents<a name="line.55"></a>
-<span class="sourceLineNo">056</span>   * the compaction from finishing if this regionserver has already lost its lease on the log.<a name="line.56"></a>
-<span class="sourceLineNo">057</span>   * @param mvcc Used by WAL to get sequence Id for the waledit.<a name="line.57"></a>
-<span class="sourceLineNo">058</span>   */<a name="line.58"></a>
-<span class="sourceLineNo">059</span>  public static long writeCompactionMarker(WAL wal, HTableDescriptor htd, HRegionInfo hri,<a name="line.59"></a>
-<span class="sourceLineNo">060</span>      final CompactionDescriptor c, MultiVersionConcurrencyControl mvcc)<a name="line.60"></a>
-<span class="sourceLineNo">061</span>  throws IOException {<a name="line.61"></a>
-<span class="sourceLineNo">062</span>    long trx = writeMarker(wal, htd, hri, WALEdit.createCompaction(hri, c), mvcc, true);<a name="line.62"></a>
-<span class="sourceLineNo">063</span>    if (LOG.isTraceEnabled()) {<a name="line.63"></a>
-<span class="sourceLineNo">064</span>      LOG.trace("Appended compaction marker " + TextFormat.shortDebugString(c));<a name="line.64"></a>
-<span class="sourceLineNo">065</span>    }<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    return trx;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>  }<a name="line.67"></a>
-<span class="sourceLineNo">068</span><a name="line.68"></a>
-<span class="sourceLineNo">069</span>  /**<a name="line.69"></a>
-<span class="sourceLineNo">070</span>   * Write a flush marker indicating a start / abort or a complete of a region flush<a name="line.70"></a>
-<span class="sourceLineNo">071</span>   */<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  public static long writeFlushMarker(WAL wal, HTableDescriptor htd, HRegionInfo hri,<a name="line.72"></a>
-<span class="sourceLineNo">073</span>      final FlushDescriptor f, boolean sync, MultiVersionConcurrencyControl mvcc)<a name="line.73"></a>
-<span class="sourceLineNo">074</span>  throws IOException {<a name="line.74"></a>
-<span class="sourceLineNo">075</span>    long trx = writeMarker(wal, htd, hri, WALEdit.createFlushWALEdit(hri, f), mvcc, sync);<a name="line.75"></a>
-<span class="sourceLineNo">076</span>    if (LOG.isTraceEnabled()) {<a name="line.76"></a>
-<span class="sourceLineNo">077</span>      LOG.trace("Appended flush marker " + TextFormat.shortDebugString(f));<a name="line.77"></a>
-<span class="sourceLineNo">078</span>    }<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    return trx;<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>   * Write a region open marker indicating that the region is opened<a name="line.83"></a>
-<span class="sourceLineNo">084</span>   */<a name="line.84"></a>
-<span class="sourceLineNo">085</span>  public static long writeRegionEventMarker(WAL wal, HTableDescriptor htd, HRegionInfo hri,<a name="line.85"></a>
-<span class="sourceLineNo">086</span>      final RegionEventDescriptor r, final MultiVersionConcurrencyControl mvcc)<a name="line.86"></a>
-<span class="sourceLineNo">087</span>  throws IOException {<a name="line.87"></a>
-<span class="sourceLineNo">088</span>    long trx = writeMarker(wal, htd, hri, WALEdit.createRegionEventWALEdit(hri, r), mvcc, true);<a name="line.88"></a>
-<span class="sourceLineNo">089</span>    if (LOG.isTraceEnabled()) {<a name="line.89"></a>
-<span class="sourceLineNo">090</span>      LOG.trace("Appended region event marker " + TextFormat.shortDebugString(r));<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    }<a name="line.91"></a>
-<span class="sourceLineNo">092</span>    return trx;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>  }<a name="line.93"></a>
-<span class="sourceLineNo">094</span><a name="line.94"></a>
-<span class="sourceLineNo">095</span>  /**<a name="line.95"></a>
-<span class="sourceLineNo">096</span>   * Write a log marker that a bulk load has succeeded and is about to be committed.<a name="line.96"></a>
-<span class="sourceLineNo">097</span>   *<a name="line.97"></a>
-<span class="sourceLineNo">098</span>   * @param wal        The log to write into.<a name="line.98"></a>
-<span class="sourceLineNo">099</span>   * @param htd        A description of the table that we are bulk loading into.<a name="line.99"></a>
-<span class="sourceLineNo">100</span>   * @param hri       A description of the region in the table that we are bulk loading into.<a name="line.100"></a>
-<span class="sourceLineNo">101</span>   * @param desc A protocol buffers based description of the client's bulk loading request<a name="line.101"></a>
-<span class="sourceLineNo">102</span>   * @return txid of this transaction or if nothing to do, the last txid<a name="line.102"></a>
-<span class="sourceLineNo">103</span>   * @throws IOException We will throw an IOException if we can not append to the HLog.<a name="line.103"></a>
-<span class="sourceLineNo">104</span>   */<a name="line.104"></a>
-<span class="sourceLineNo">105</span>  public static long writeBulkLoadMarkerAndSync(final WAL wal, final HTableDescriptor htd,<a name="line.105"></a>
-<span class="sourceLineNo">106</span>      final HRegionInfo hri, final WALProtos.BulkLoadDescriptor desc,<a name="line.106"></a>
-<span class="sourceLineNo">107</span>      final MultiVersionConcurrencyControl mvcc)<a name="line.107"></a>
-<span class="sourceLineNo">108</span>  throws IOException {<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    long trx = writeMarker(wal, htd, hri, WALEdit.createBulkLoadEvent(hri, desc), mvcc, true);<a name="line.109"></a>
-<span class="sourceLineNo">110</span>    if (LOG.isTraceEnabled()) {<a name="line.110"></a>
-<span class="sourceLineNo">111</span>      LOG.trace("Appended Bulk Load marker " + TextFormat.shortDebugString(desc));<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    }<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    return trx;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>  }<a name="line.114"></a>
-<span class="sourceLineNo">115</span><a name="line.115"></a>
-<span class="sourceLineNo">116</span>  private static long writeMarker(final WAL wal, final HTableDescriptor htd, final HRegionInfo hri,<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      final WALEdit edit, final MultiVersionConcurrencyControl mvcc, final boolean sync)<a name="line.117"></a>
-<span class="sourceLineNo">118</span>  throws IOException {<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    // TODO: Pass in current time to use?<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    WALKey key =<a name="line.120"></a>
-<span class="sourceLineNo">121</span>      new HLogKey(hri.getEncodedNameAsBytes(), hri.getTable(), System.currentTimeMillis(), mvcc);<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    // Add it to the log but the false specifies that we don't need to add it to the memstore<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    long trx = MultiVersionConcurrencyControl.NONE;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    try {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      trx = wal.append(htd, hri, key, edit, false);<a name="line.125"></a>
-<span class="sourceLineNo">126</span>      if (sync) wal.sync(trx);<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    } finally {<a name="line.127"></a>
-<span class="sourceLineNo">128</span>      // If you get hung here, is it a real WAL or a mocked WAL? If the latter, you need to<a name="line.128"></a>
-<span class="sourceLineNo">129</span>      // trip the latch that is inside in getWriteEntry up in your mock. See down in the append<a name="line.129"></a>
-<span class="sourceLineNo">130</span>      // called from onEvent in FSHLog.<a name="line.130"></a>
-<span class="sourceLineNo">131</span>      MultiVersionConcurrencyControl.WriteEntry we = key.getWriteEntry();<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      if (mvcc != null &amp;&amp; we != null) mvcc.complete(we);<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    }<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    return trx;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  }<a name="line.135"></a>
-<span class="sourceLineNo">136</span>}<a name="line.136"></a>
+<span class="sourceLineNo">054</span>   * This provides info to the HMaster to allow it to recover the compaction if this regionserver<a name="line.54"></a>
+<span class="sourceLineNo">055</span>   * dies in the middle. It also prevents the compaction from finishing if this regionserver has<a name="line.55"></a>
+<span class="sourceLineNo">056</span>   * already lost its lease on the log.<a name="line.56"></a>
+<span class="sourceLineNo">057</span>   *<a name="line.57"></a>
+<span class="sourceLineNo">058</span>   * &lt;p&gt;This write is for internal use only. Not for external client consumption.<a name="line.58"></a>
+<span class="sourceLineNo">059</span>   * @param mvcc Used by WAL to get sequence Id for the waledit.<a name="line.59"></a>
+<span class="sourceLineNo">060</span>   */<a name="line.60"></a>
+<span class="sourceLineNo">061</span>  public static WALKey writeCompactionMarker(WAL wal, HTableDescriptor htd, HRegionInfo hri,<a name="line.61"></a>
+<span class="sourceLineNo">062</span>      final CompactionDescriptor c, MultiVersionConcurrencyControl mvcc)<a name="line.62"></a>
+<span class="sourceLineNo">063</span>  throws IOException {<a name="line.63"></a>
+<span class="sourceLineNo">064</span>    WALKey walKey = writeMarker(wal, htd, hri, WALEdit.createCompaction(hri, c), mvcc);<a name="line.64"></a>
+<span class="sourceLineNo">065</span>    if (LOG.isTraceEnabled()) {<a name="line.65"></a>
+<span class="sourceLineNo">066</span>      LOG.trace("Appended compaction marker " + TextFormat.shortDebugString(c));<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    }<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    return walKey;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>  }<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>   * Write a flush marker indicating a start / abort or a complete of a region flush<a name="line.72"></a>
+<span class="sourceLineNo">073</span>   *<a name="line.73"></a>
+<span class="sourceLineNo">074</span>   * &lt;p&gt;This write is for internal use only. Not for external client consumption.<a name="line.74"></a>
+<span class="sourceLineNo">075</span>   */<a name="line.75"></a>
+<span class="sourceLineNo">076</span>  public static WALKey writeFlushMarker(WAL wal, HTableDescriptor htd, HRegionInfo hri,<a name="line.76"></a>
+<span class="sourceLineNo">077</span>      final FlushDescriptor f, boolean sync, MultiVersionConcurrencyControl mvcc)<a name="line.77"></a>
+<span class="sourceLineNo">078</span>  throws IOException {<a name="line.78"></a>
+<span class="sourceLineNo">079</span>    WALKey walKey =<a name="line.79"></a>
+<span class="sourceLineNo">080</span>      doFullAppendTransaction(wal, htd, hri, WALEdit.createFlushWALEdit(hri, f), mvcc, sync);<a name="line.80"></a>
+<span class="sourceLineNo">081</span>    if (LOG.isTraceEnabled()) {<a name="line.81"></a>
+<span class="sourceLineNo">082</span>      LOG.trace("Appended flush marker " + TextFormat.shortDebugString(f));<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    }<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    return walKey;<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>   * Write a region open marker indicating that the region is opened.<a name="line.88"></a>
+<span class="sourceLineNo">089</span>   * This write is for internal use only. Not for external client consumption.<a name="line.89"></a>
+<span class="sourceLineNo">090</span>   */<a name="line.90"></a>
+<span class="sourceLineNo">091</span>  public static WALKey writeRegionEventMarker(WAL wal, HTableDescriptor htd, HRegionInfo hri,<a name="line.91"></a>
+<span class="sourceLineNo">092</span>      final RegionEventDescriptor r, final MultiVersionConcurrencyControl mvcc)<a name="line.92"></a>
+<span class="sourceLineNo">093</span>  throws IOException {<a name="line.93"></a>
+<span class="sourceLineNo">094</span>    WALKey walKey = writeMarker(wal, htd, hri, WALEdit.createRegionEventWALEdit(hri, r), mvcc);<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    if (LOG.isTraceEnabled()) {<a name="line.95"></a>
+<span class="sourceLineNo">096</span>      LOG.trace("Appended region event marker " + TextFormat.shortDebugString(r));<a name="line.96"></a>
+<span class="sourceLineNo">097</span>    }<a name="line.97"></a>
+<span class="sourceLineNo">098</span>    return walKey;<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 log marker that a bulk load has succeeded and is about to be committed.<a name="line.102"></a>
+<span class="sourceLineNo">103</span>   * This write is for internal use only. Not for external client consumption.<a name="line.103"></a>
+<span class="sourceLineNo">104</span>   * @param wal The log to write into.<a name="line.104"></a>
+<span class="sourceLineNo">105</span>   * @param htd A description of the table that we are bulk loading into.<a name="line.105"></a>
+<span class="sourceLineNo">106</span>   * @param hri A description of the region in the table that we are bulk loading into.<a name="line.106"></a>
+<span class="sourceLineNo">107</span>   * @param desc A protocol buffers based description of the client's bulk loading request<a name="line.107"></a>
+<span class="sourceLineNo">108</span>   * @return walKey with sequenceid filled out for this bulk load marker<a name="line.108"></a>
+<span class="sourceLineNo">109</span>   * @throws IOException We will throw an IOException if we can not append to the HLog.<a name="line.109"></a>
+<span class="sourceLineNo">110</span>   */<a name="line.110"></a>
+<span class="sourceLineNo">111</span>  public static WALKey writeBulkLoadMarkerAndSync(final WAL wal, final HTableDescriptor htd,<a name="line.111"></a>
+<span class="sourceLineNo">112</span>      final HRegionInfo hri, final WALProtos.BulkLoadDescriptor desc,<a name="line.112"></a>
+<span class="sourceLineNo">113</span>      final MultiVersionConcurrencyControl mvcc)<a name="line.113"></a>
+<span class="sourceLineNo">114</span>  throws IOException {<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    WALKey walKey = writeMarker(wal, htd, hri, WALEdit.createBulkLoadEvent(hri, desc), mvcc);<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    if (LOG.isTraceEnabled()) {<a name="line.116"></a>
+<span class="sourceLineNo">117</span>      LOG.trace("Appended Bulk Load marker " + TextFormat.shortDebugString(desc));<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    }<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    return walKey;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>  }<a name="line.120"></a>
+<span class="sourceLineNo">121</span><a name="line.121"></a>
+<span class="sourceLineNo">122</span>  private static WALKey writeMarker(final WAL wal, final HTableDescriptor htd,<a name="line.122"></a>
+<span class="sourceLineNo">123</span>      final HRegionInfo hri, final WALEdit edit, final MultiVersionConcurrencyControl mvcc)<a name="line.123"></a>
+<span class="sourceLineNo">124</span>  throws IOException {<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    // If sync == true in below, then timeout is not used; safe to pass UNSPECIFIED_TIMEOUT<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    return doFullAppendTransaction(wal, htd, hri, edit, mvcc, true);<a name="line.126"></a>
+<span class="sourceLineNo">127</span>  }<a name="line.127"></a>
+<span class="sourceLineNo">128</span><a name="line.128"></a>
+<span class="sourceLineNo">129</span>  /**<a name="line.129"></a>
+<span class="sourceLineNo">130</span>   * A 'full' WAL transaction involves starting an mvcc transaction followed by an append,<a name="line.130"></a>
+<span class="sourceLineNo">131</span>   * an optional sync, and then a call to complete the mvcc transaction. This method does it all.<a name="line.131"></a>
+<span class="sourceLineNo">132</span>   * Good for case of adding a single edit or marker to the WAL.<a name="line.132"></a>
+<span class="sourceLineNo">133</span>   *<a name="line.133"></a>
+<span class="sourceLineNo">134</span>   * &lt;p&gt;This write is for internal use only. Not for external client consumption.<a name="line.134"></a>
+<span class="sourceLineNo">135</span>   * @return WALKey that was added to the WAL.<a name="line.135"></a>
+<span class="sourceLineNo">136</span>   */<a name="line.136"></a>
+<span class="sourceLineNo">137</span>  public static WALKey doFullAppendTransaction(final WAL wal, final HTableDescriptor htd,<a name="line.137"></a>
+<span class="sourceLineNo">138</span>      final HRegionInfo hri, final WALEdit edit, final MultiVersionConcurrencyControl mvcc,<a name="line.138"></a>
+<span class="sourceLineNo">139</span>      final boolean sync)<a name="line.139"></a>
+<span class="sourceLineNo">140</span>  throws IOException {<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    // TODO: Pass in current time to use?<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    WALKey walKey =<a name="line.142"></a>
+<span class="sourceLineNo">143</span>      new WALKey(hri.getEncodedNameAsBytes(), hri.getTable(), System.currentTimeMillis(), mvcc);<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    long trx = MultiVersionConcurrencyControl.NONE;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    try {<a name="line.145"></a>
+<span class="sourceLineNo">146</span>      trx = wal.append(htd, hri, walKey, edit, false);<a name="line.146"></a>
+<span class="sourceLineNo">147</span>      if (sync) {<a name="line.147"></a>
+<span class="sourceLineNo">148</span>        wal.sync(trx);<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      }<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      // Call complete only here because these are markers only. They are not for clients to read.<a name="line.150"></a>
+<span class="sourceLineNo">151</span>      mvcc.complete(walKey.getWriteEntry());<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    } catch (IOException ioe) {<a name="line.152"></a>
+<span class="sourceLineNo">153</span>      mvcc.complete(walKey.getWriteEntry());<a name="line.153"></a>
+<span class="sourceLineNo">154</span>      throw ioe;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    }<a name="line.155"></a>
+<span class="sourceLineNo">156</span>    return walKey;<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>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
index c6f2f44..5c3eb42 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
@@ -67,15 +67,15 @@
 <span class="sourceLineNo">059</span>  requiredArguments = {<a name="line.59"></a>
 <span class="sourceLineNo">060</span>    @org.jamon.annotations.Argument(name = "master", type = "HMaster")},<a name="line.60"></a>
 <span class="sourceLineNo">061</span>  optionalArguments = {<a name="line.61"></a>
-<span class="sourceLineNo">062</span>    @org.jamon.annotations.Argument(name = "frags", type = "Map&lt;String,Integer&gt;"),<a name="line.62"></a>
-<span class="sourceLineNo">063</span>    @org.jamon.annotations.Argument(name = "serverManager", type = "ServerManager"),<a name="line.63"></a>
-<span class="sourceLineNo">064</span>    @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager"),<a name="line.64"></a>
-<span class="sourceLineNo">065</span>    @org.jamon.annotations.Argument(name = "servers", type = "List&lt;ServerName&gt;"),<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName"),<a name="line.66"></a>
+<span class="sourceLineNo">062</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.62"></a>
+<span class="sourceLineNo">063</span>    @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager"),<a name="line.63"></a>
+<span class="sourceLineNo">064</span>    @org.jamon.annotations.Argument(name = "frags", type = "Map&lt;String,Integer&gt;"),<a name="line.64"></a>
+<span class="sourceLineNo">065</span>    @org.jamon.annotations.Argument(name = "serverManager", type = "ServerManager"),<a name="line.65"></a>
+<span class="sourceLineNo">066</span>    @org.jamon.annotations.Argument(name = "deadServers", type = "Set&lt;ServerName&gt;"),<a name="line.66"></a>
 <span class="sourceLineNo">067</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    @org.jamon.annotations.Argument(name = "deadServers", type = "Set&lt;ServerName&gt;"),<a name="line.68"></a>
-<span class="sourceLineNo">069</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    @org.jamon.annotations.Argument(name = "catalogJanitorEnabled", type = "boolean")})<a name="line.70"></a>
+<span class="sourceLineNo">068</span>    @org.jamon.annotations.Argument(name = "catalogJanitorEnabled", type = "boolean"),<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    @org.jamon.annotations.Argument(name = "servers", type = "List&lt;ServerName&gt;"),<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName")})<a name="line.70"></a>
 <span class="sourceLineNo">071</span>public class MasterStatusTmpl<a name="line.71"></a>
 <span class="sourceLineNo">072</span>  extends org.jamon.AbstractTemplateProxy<a name="line.72"></a>
 <span class="sourceLineNo">073</span>{<a name="line.73"></a>
@@ -116,91 +116,91 @@
 <span class="sourceLineNo">108</span>      return m_master;<a name="line.108"></a>
 <span class="sourceLineNo">109</span>    }<a name="line.109"></a>
 <span class="sourceLineNo">110</span>    private HMaster m_master;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    // 21, 1<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    public void setFrags(Map&lt;String,Integer&gt; frags)<a name="line.112"></a>
+<span class="sourceLineNo">111</span>    // 27, 1<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    public void setFormat(String format)<a name="line.112"></a>
 <span class="sourceLineNo">113</span>    {<a name="line.113"></a>
-<span class="sourceLineNo">114</span>      // 21, 1<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      m_frags = frags;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>      m_frags__IsNotDefault = true;<a name="line.116"></a>
+<span class="sourceLineNo">114</span>      // 27, 1<a name="line.114"></a>
+<span class="sourceLineNo">115</span>      m_format = format;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>      m_format__IsNotDefault = true;<a name="line.116"></a>
 <span class="sourceLineNo">117</span>    }<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    public Map&lt;String,Integer&gt; getFrags()<a name="line.118"></a>
+<span class="sourceLineNo">118</span>    public String getFormat()<a name="line.118"></a>
 <span class="sourceLineNo">119</span>    {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      return m_frags;<a name="line.120"></a>
+<span class="sourceLineNo">120</span>      return m_format;<a name="line.120"></a>
 <span class="sourceLineNo">121</span>    }<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    private Map&lt;String,Integer&gt; m_frags;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    public boolean getFrags__IsNotDefault()<a name="line.123"></a>
+<span class="sourceLineNo">122</span>    private String m_format;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    public boolean getFormat__IsNotDefault()<a name="line.123"></a>
 <span class="sourceLineNo">124</span>    {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      return m_frags__IsNotDefault;<a name="line.125"></a>
+<span class="sourceLineNo">125</span>      return m_format__IsNotDefault;<a name="line.125"></a>
 <span class="sourceLineNo">126</span>    }<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    private boolean m_frags__IsNotDefault;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    // 28, 1<a name="line.128"></a>
-<span class="sourceLineNo">129</span>    public void setServerManager(ServerManager serverManager)<a name="line.129"></a>
+<span class="sourceLineNo">127</span>    private boolean m_format__IsNotDefault;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>    // 29, 1<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.129"></a>
 <span class="sourceLineNo">130</span>    {<a name="line.130"></a>
-<span class="sourceLineNo">131</span>      // 28, 1<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      m_serverManager = serverManager;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>      m_serverManager__IsNotDefault = true;<a name="line.133"></a>
+<span class="sourceLineNo">131</span>      // 29, 1<a name="line.131"></a>
+<span class="sourceLineNo">132</span>      m_assignmentManager = assignmentManager;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>      m_assignmentManager__IsNotDefault = true;<a name="line.133"></a>
 <span class="sourceLineNo">134</span>    }<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    public ServerManager getServerManager()<a name="line.135"></a>
+<span class="sourceLineNo">135</span>    public AssignmentManager getAssignmentManager()<a name="line.135"></a>
 <span class="sourceLineNo">136</span>    {<a name="line.136"></a>
-<span class="sourceLineNo">137</span>      return m_serverManager;<a name="line.137"></a>
+<span class="sourceLineNo">137</span>      return m_assignmentManager;<a name="line.137"></a>
 <span class="sourceLineNo">138</span>    }<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    private ServerManager m_serverManager;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    public boolean getServerManager__IsNotDefault()<a name="line.140"></a>
+<span class="sourceLineNo">139</span>    private AssignmentManager m_assignmentManager;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    public boolean getAssignmentManager__IsNotDefault()<a name="line.140"></a>
 <span class="sourceLineNo">141</span>    {<a name="line.141"></a>
-<span class="sourceLineNo">142</span>      return m_serverManager__IsNotDefault;<a name="line.142"></a>
+<span class="sourceLineNo">142</span>      return m_assignmentManager__IsNotDefault;<a name="line.142"></a>
 <span class="sourceLineNo">143</span>    }<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    private boolean m_serverManager__IsNotDefault;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    // 29, 1<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.146"></a>
+<span class="sourceLineNo">144</span>    private boolean m_assignmentManager__IsNotDefault;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    // 21, 1<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    public void setFrags(Map&lt;String,Integer&gt; frags)<a name="line.146"></a>
 <span class="sourceLineNo">147</span>    {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>      // 29, 1<a name="line.148"></a>
-<span class="sourceLineNo">149</span>      m_assignmentManager = assignmentManager;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>      m_assignmentManager__IsNotDefault = true;<a name="line.150"></a>
+<span class="sourceLineNo">148</span>      // 21, 1<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      m_frags = frags;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      m_frags__IsNotDefault = true;<a name="line.150"></a>
 <span class="sourceLineNo">151</span>    }<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    public AssignmentManager getAssignmentManager()<a name="line.152"></a>
+<span class="sourceLineNo">152</span>    public Map&lt;String,Integer&gt; getFrags()<a name="line.152"></a>
 <span class="sourceLineNo">153</span>    {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>      return m_assignmentManager;<a name="line.154"></a>
+<span class="sourceLineNo">154</span>      return m_frags;<a name="line.154"></a>
 <span class="sourceLineNo">155</span>    }<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    private AssignmentManager m_assignmentManager;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    public boolean getAssignmentManager__IsNotDefault()<a name="line.157"></a>
+<span class="sourceLineNo">156</span>    private Map&lt;String,Integer&gt; m_frags;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>    public boolean getFrags__IsNotDefault()<a name="line.157"></a>
 <span class="sourceLineNo">158</span>    {<a name="line.158"></a>
-<span class="sourceLineNo">159</span>      return m_assignmentManager__IsNotDefault;<a name="line.159"></a>
+<span class="sourceLineNo">159</span>      return m_frags__IsNotDefault;<a name="line.159"></a>
 <span class="sourceLineNo">160</span>    }<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    private boolean m_assignmentManager__IsNotDefault;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    // 23, 1<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    public void setServers(List&lt;ServerName&gt; servers)<a name="line.163"></a>
+<span class="sourceLineNo">161</span>    private boolean m_frags__IsNotDefault;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    // 28, 1<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    public void setServerManager(ServerManager serverManager)<a name="line.163"></a>
 <span class="sourceLineNo">164</span>    {<a name="line.164"></a>
-<span class="sourceLineNo">165</span>      // 23, 1<a name="line.165"></a>
-<span class="sourceLineNo">166</span>      m_servers = servers;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      m_servers__IsNotDefault = true;<a name="line.167"></a>
+<span class="sourceLineNo">165</span>      // 28, 1<a name="line.165"></a>
+<span class="sourceLineNo">166</span>      m_serverManager = serverManager;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>      m_serverManager__IsNotDefault = true;<a name="line.167"></a>
 <span class="sourceLineNo">168</span>    }<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    public List&lt;ServerName&gt; getServers()<a name="line.169"></a>
+<span class="sourceLineNo">169</span>    public ServerManager getServerManager()<a name="line.169"></a>
 <span class="sourceLineNo">170</span>    {<a name="line.170"></a>
-<span class="sourceLineNo">171</span>      return m_servers;<a name="line.171"></a>
+<span class="sourceLineNo">171</span>      return m_serverManager;<a name="line.171"></a>
 <span class="sourceLineNo">172</span>    }<a name="line.172"></a>
-<span class="sourceLineNo">173</span>    private List&lt;ServerName&gt; m_servers;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    public boolean getServers__IsNotDefault()<a name="line.174"></a>
+<span class="sourceLineNo">173</span>    private ServerManager m_serverManager;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>    public boolean getServerManager__IsNotDefault()<a name="line.174"></a>
 <span class="sourceLineNo">175</span>    {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>      return m_servers__IsNotDefault;<a name="line.176"></a>
+<span class="sourceLineNo">176</span>      return m_serverManager__IsNotDefault;<a name="line.176"></a>
 <span class="sourceLineNo">177</span>    }<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    private boolean m_servers__IsNotDefault;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    // 22, 1<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    public void setMetaLocation(ServerName metaLocation)<a name="line.180"></a>
+<span class="sourceLineNo">178</span>    private boolean m_serverManager__IsNotDefault;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>    // 24, 1<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    public void setDeadServers(Set&lt;ServerName&gt; deadServers)<a name="line.180"></a>
 <span class="sourceLineNo">181</span>    {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>      // 22, 1<a name="line.182"></a>
-<span class="sourceLineNo">183</span>      m_metaLocation = metaLocation;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>      m_metaLocation__IsNotDefault = true;<a name="line.184"></a>
+<span class="sourceLineNo">182</span>      // 24, 1<a name="line.182"></a>
+<span class="sourceLineNo">183</span>      m_deadServers = deadServers;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>      m_deadServers__IsNotDefault = true;<a name="line.184"></a>
 <span class="sourceLineNo">185</span>    }<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    public ServerName getMetaLocation()<a name="line.186"></a>
+<span class="sourceLineNo">186</span>    public Set&lt;ServerName&gt; getDeadServers()<a name="line.186"></a>
 <span class="sourceLineNo">187</span>    {<a name="line.187"></a>
-<span class="sourceLineNo">188</span>      return m_metaLocation;<a name="line.188"></a>
+<span class="sourceLineNo">188</span>      return m_deadServers;<a name="line.188"></a>
 <span class="sourceLineNo">189</span>    }<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    private ServerName m_metaLocation;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    public boolean getMetaLocation__IsNotDefault()<a name="line.191"></a>
+<span class="sourceLineNo">190</span>    private Set&lt;ServerName&gt; m_deadServers;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    public boolean getDeadServers__IsNotDefault()<a name="line.191"></a>
 <span class="sourceLineNo">192</span>    {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      return m_metaLocation__IsNotDefault;<a name="line.193"></a>
+<span class="sourceLineNo">193</span>      return m_deadServers__IsNotDefault;<a name="line.193"></a>
 <span class="sourceLineNo">194</span>    }<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    private boolean m_metaLocation__IsNotDefault;<a name="line.195"></a>
+<span class="sourceLineNo">195</span>    private boolean m_deadServers__IsNotDefault;<a name="line.195"></a>
 <span class="sourceLineNo">196</span>    // 26, 1<a name="line.196"></a>
 <span class="sourceLineNo">197</span>    public void setFilter(String filter)<a name="line.197"></a>
 <span class="sourceLineNo">198</span>    {<a name="line.198"></a>
@@ -218,57 +218,57 @@
 <span class="sourceLineNo">210</span>      return m_filter__IsNotDefault;<a name="line.210"></a>
 <span class="sourceLineNo">211</span>    }<a name="line.211"></a>
 <span class="sourceLineNo">212</span>    private boolean m_filter__IsNotDefault;<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    // 24, 1<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    public void setDeadServers(Set&lt;ServerName&gt; deadServers)<a name="line.214"></a>
+<span class="sourceLineNo">213</span>    // 25, 1<a name="line.213"></a>
+<span class="sourceLineNo">214</span>    public void setCatalogJanitorEnabled(boolean catalogJanitorEnabled)<a name="line.214"></a>
 <span class="sourceLineNo">215</span>    {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>      // 24, 1<a name="line.216"></a>
-<span class="sourceLineNo">217</span>      m_deadServers = deadServers;<a name="line.217"></a>
-<span class="sourceLineNo">218</span>      m_deadServers__IsNotDefault = true;<a name="line.218"></a>
+<span class="sourceLineNo">216</span>      // 25, 1<a name="line.216"></a>
+<span class="sourceLineNo">217</span>      m_catalogJanitorEnabled = catalogJanitorEnabled;<a name="line.217"></a>
+<span class="sourceLineNo">218</span>      m_catalogJanitorEnabled__IsNotDefault = true;<a name="line.218"></a>
 <span class="sourceLineNo">219</span>    }<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    public Set&lt;ServerName&gt; getDeadServers()<a name="line.220"></a>
+<span class="sourceLineNo">220</span>    public boolean getCatalogJanitorEnabled()<a name="line.220"></a>
 <span class="sourceLineNo">221</span>    {<a name="line.221"></a>
-<span class="sourceLineNo">222</span>      return m_deadServers;<a name="line.222"></a>
+<span class="sourceLineNo">222</span>      return m_catalogJanitorEnabled;<a name="line.222"></a>
 <span class="sourceLineNo">223</span>    }<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    private Set&lt;ServerName&gt; m_deadServers;<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    public boolean getDeadServers__IsNotDefault()<a name="line.225"></a>
+<span class="sourceLineNo">224</span>    private boolean m_catalogJanitorEnabled;<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    public boolean getCatalogJanitorEnabled__IsNotDefault()<a name="line.225"></a>
 <span class="sourceLineNo">226</span>    {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>      return m_deadServers__IsNotDefault;<a name="line.227"></a>
+<span class="sourceLineNo">227</span>      return m_catalogJanitorEnabled__IsNotDefault;<a name="line.227"></a>
 <span class="sourceLineNo">228</span>    }<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    private boolean m_deadServers__IsNotDefault;<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    // 27, 1<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    public void setFormat(String format)<a name="line.231"></a>
+<span class="sourceLineNo">229</span>    private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    // 23, 1<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    public void setServers(List&lt;ServerName&gt; servers)<a name="line.231"></a>
 <span class="sourceLineNo">232</span>    {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      // 27, 1<a name="line.233"></a>
-<span class="sourceLineNo">234</span>      m_format = format;<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      m_format__IsNotDefault = true;<a name="line.235"></a>
+<span class="sourceLineNo">233</span>      // 23, 1<a name="line.233"></a>
+<span class="sourceLineNo">234</span>      m_servers = servers;<a name="line.234"></a>
+<span class="sourceLineNo">235</span>      m_servers__IsNotDefault = true;<a name="line.235"></a>
 <span class="sourceLineNo">236</span>    }<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    public String getFormat()<a name="line.237"></a>
+<span class="sourceLineNo">237</span>    public List&lt;ServerName&gt; getServers()<a name="line.237"></a>
 <span class="sourceLineNo">238</span>    {<a name="line.238"></a>
-<span class="sourceLineNo">239</span>      return m_format;<a name="line.239"></a>
+<span class="sourceLineNo">239</span>      return m_servers;<a name="line.239"></a>
 <span class="sourceLineNo">240</span>    }<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    private String m_format;<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    public boolean getFormat__IsNotDefault()<a name="line.242"></a>
+<span class="sourceLineNo">241</span>    private List&lt;ServerName&gt; m_servers;<a name="line.241"></a>
+<span class="sourceLineNo">242</span>    public boolean getServers__IsNotDefault()<a name="line.242"></a>
 <span class="sourceLineNo">243</span>    {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>      return m_format__IsNotDefault;<a name="line.244"></a>
+<span class="sourceLineNo">244</span>      return m_servers__IsNotDefault;<a name="line.244"></a>
 <span class="sourceLineNo">245</span>    }<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    private boolean m_format__IsNotDefault;<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    // 25, 1<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    public void setCatalogJanitorEnabled(boolean catalogJanitorEnabled)<a name="line.248"></a>
+<span class="sourceLineNo">246</span>    private boolean m_servers__IsNotDefault;<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    // 22, 1<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    public void setMetaLocation(ServerName metaLocation)<a name="line.248"></a>
 <span class="sourceLineNo">249</span>    {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>      // 25, 1<a name="line.250"></a>
-<span class="sourceLineNo">251</span>      m_catalogJanitorEnabled = catalogJanitorEnabled;<a name="line.251"></a>
-<span class="sourceLineNo">252</span>      m_catalogJanitorEnabled__IsNotDefault = true;<a name="line.252"></a>
+<span class="sourceLineNo">250</span>      // 22, 1<a name="line.250"></a>
+<span class="sourceLineNo">251</span>      m_metaLocation = metaLocation;<a name="line.251"></a>
+<span class="sourceLineNo">252</span>      m_metaLocation__IsNotDefault = true;<a name="line.252"></a>
 <span class="sourceLineNo">253</span>    }<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    public boolean getCatalogJanitorEnabled()<a name="line.254"></a>
+<span class="sourceLineNo">254</span>    public ServerName getMetaLocation()<a name="line.254"></a>
 <span class="sourceLineNo">255</span>    {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>      return m_catalogJanitorEnabled;<a name="line.256"></a>
+<span class="sourceLineNo">256</span>      return m_metaLocation;<a name="line.256"></a>
 <span class="sourceLineNo">257</span>    }<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    private boolean m_catalogJanitorEnabled;<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    public boolean getCatalogJanitorEnabled__IsNotDefault()<a name="line.259"></a>
+<span class="sourceLineNo">258</span>    private ServerName m_metaLocation;<a name="line.258"></a>
+<span class="sourceLineNo">259</span>    public boolean getMetaLocation__IsNotDefault()<a name="line.259"></a>
 <span class="sourceLineNo">260</span>    {<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      return m_catalogJanitorEnabled__IsNotDefault;<a name="line.261"></a>
+<span class="sourceLineNo">261</span>      return m_metaLocation__IsNotDefault;<a name="line.261"></a>
 <span class="sourceLineNo">262</span>    }<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.263"></a>
+<span class="sourceLineNo">263</span>    private boolean m_metaLocation__IsNotDefault;<a name="line.263"></a>
 <span class="sourceLineNo">264</span>  }<a name="line.264"></a>
 <span class="sourceLineNo">265</span>  @Override<a name="line.265"></a>
 <span class="sourceLineNo">266</span>  protected org.jamon.AbstractTemplateProxy.ImplData makeImplData()<a name="line.266"></a>
@@ -280,38 +280,38 @@
 <span class="sourceLineNo">272</span>    return (ImplData) super.getImplData();<a name="line.272"></a>
 <span class="sourceLineNo">273</span>  }<a name="line.273"></a>
 <span class="sourceLineNo">274</span>  <a name="line.274"></a>
-<span class="sourceLineNo">275</span>  protected Map&lt;String,Integer&gt; frags;<a name="line.275"></a>
-<span class="sourceLineNo">276</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map&lt;String,Integer&gt; p_frags)<a name="line.276"></a>
+<span class="sourceLineNo">275</span>  protected String format;<a name="line.275"></a>
+<span class="sourceLineNo">276</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFormat(String p_format)<a name="line.276"></a>
 <span class="sourceLineNo">277</span>  {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    (getImplData()).setFrags(p_frags);<a name="line.278"></a>
+<span class="sourceLineNo">278</span>    (getImplData()).setFormat(p_format);<a name="line.278"></a>
 <span class="sourceLineNo">279</span>    return this;<a name="line.279"></a>
 <span class="sourceLineNo">280</span>  }<a name="line.280"></a>
 <span class="sourceLineNo">281</span>  <a name="line.281"></a>
-<span class="sourceLineNo">282</span>  protected ServerManager serverManager;<a name="line.282"></a>
-<span class="sourceLineNo">283</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServerManager(ServerManager p_serverManager)<a name="line.283"></a>
+<span class="sourceLineNo">282</span>  protected AssignmentManager assignmentManager;<a name="line.282"></a>
+<span class="sourceLineNo">283</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.283"></a>
 <span class="sourceLineNo">284</span>  {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    (getImplData()).setServerManager(p_serverManager);<a name="line.285"></a>
+<span class="sourceLineNo">285</span>    (getImplData()).setAssignmentManager(p_assignmentManager);<a name="line.285"></a>
 <span class="sourceLineNo">286</span>    return this;<a name="line.286"></a>
 <span class="sourceLineNo">287</span>  }<a name="line.287"></a>
 <span class="sourceLineNo">288</span>  <a name="line.288"></a>
-<span class="sourceLineNo">289</span>  protected AssignmentManager assignmentManager;<a name="line.289"></a>
-<span class="sourceLineNo">290</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.290"></a>
+<span class="sourceLineNo">289</span>  protected Map&lt;String,Integer&gt; frags;<a name="line.289"></a>
+<span class="sourceLineNo">290</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map&lt;String,Integer&gt; p_frags)<a name="line.290"></a>
 <span class="sourceLineNo">291</span>  {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    (getImplData()).setAssignmentManager(p_assignmentManager);<a name="line.292"></a>
+<span class="sourceLineNo">292</span>    (getImplData()).setFrags(p_frags);<a name="line.292"></a>
 <span class="sourceLineNo">293</span>    return this;<a name="line.293"></a>
 <span class="sourceLineNo">294</span>  }<a name="line.294"></a>
 <span class="sourceLineNo">295</span>  <a name="line.295"></a>
-<span class="sourceLineNo">296</span>  protected List&lt;ServerName&gt; servers;<a name="line.296"></a>
-<span class="sourceLineNo">297</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServers(List&lt;ServerName&gt; p_servers)<a name="line.297"></a>
+<span class="sourceLineNo">296</span>  protected ServerManager serverManager;<a name="line.296"></a>
+<span class="sourceLineNo">297</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServerManager(ServerManager p_serverManager)<a name="line.297"></a>
 <span class="sourceLineNo">298</span>  {<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    (getImplData()).setServers(p_servers);<a name="line.299"></a>
+<span class="sourceLineNo">299</span>    (getImplData()).setServerManager(p_serverManager);<a name="line.299"></a>
 <span class="sourceLineNo">300</span>    return this;<a name="line.300"></a>
 <span class="sourceLineNo">301</span>  }<a name="line.301"></a>
 <span class="sourceLineNo">302</span>  <a name="line.302"></a>
-<span class="sourceLineNo">303</span>  protected ServerName metaLocation;<a name="line.303"></a>
-<span class="sourceLineNo">304</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setMetaLocation(ServerName p_metaLocation)<a name="line.304"></a>
+<span class="sourceLineNo">303</span>  protected Set&lt;ServerName&gt; deadServers;<a name="line.303"></a>
+<span class="sourceLineNo">304</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setDeadServers(Set&lt;ServerName&gt; p_deadServers)<a name="line.304"></a>
 <span class="sourceLineNo">305</span>  {<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    (getImplData()).setMetaLocation(p_metaLocation);<a name="line.306"></a>
+<span class="sourceLineNo">306</span>    (getImplData()).setDeadServers(p_deadServers);<a name="line.306"></a>
 <span class="sourceLineNo">307</span>    return this;<a name="line.307"></a>
 <span class="sourceLineNo">308</span>  }<a name="line.308"></a>
 <span class="sourceLineNo">309</span>  <a name="line.309"></a>
@@ -322,24 +322,24 @@
 <span class="sourceLineNo">314</span>    return this;<a name="line.314"></a>
 <span class="sourceLineNo">315</span>  }<a name="line.315"></a>
 <span class="sourceLineNo">316</span>  <a name="line.316"></a>
-<span class="sourceLineNo">317</span>  protected Set&lt;ServerName&gt; deadServers;<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setDeadServers(Set&lt;ServerName&gt; p_deadServers)<a name="line.318"></a>
+<span class="sourceLineNo">317</span>  protected boolean catalogJanitorEnabled;<a name="line.317"></a>
+<span class="sourceLineNo">318</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setCatalogJanitorEnabled(boolean p_catalogJanitorEnabled)<a name="line.318"></a>
 <span class="sourceLineNo">319</span>  {<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    (getImplData()).setDeadServers(p_deadServers);<a name="line.320"></a>
+<span class="sourceLineNo">320</span>    (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<a name="line.320"></a>
 <span class="sourceLineNo">321</span>    return this;<a name="line.321"></a>
 <span class="sourceLineNo">322</span>  }<a name="line.322"></a>
 <span class="sourceLineNo">323</span>  <a name="line.323"></a>
-<span class="sourceLineNo">324</span>  protected String format;<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFormat(String p_format)<a name="line.325"></a>
+<span class="sourceLineNo">324</span>  protected List&lt;ServerName&gt; servers;<a name="line.324"></a>
+<span class="sourceLineNo">325</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServers(List&lt;ServerName&gt; p_servers)<a name="line.325"></a>
 <span class="sourceLineNo">326</span>  {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>    (getImplData()).setFormat(p_format);<a name="line.327"></a>
+<span class="sourceLineNo">327</span>    (getImplData()).setServers(p_servers);<a name="line.327"></a>
 <span class="sourceLineNo">328</span>    return this;<a name="line.328"></a>
 <span class="sourceLineNo">329</span>  }<a name="line.329"></a>
 <span class="sourceLineNo">330</span>  <a name="line.330"></a>
-<span class="sourceLineNo">331</span>  protected boolean catalogJanitorEnabled;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setCatalogJanitorEnabled(boolean p_catalogJanitorEnabled)<a name="line.332"></a>
+<span class="sourceLineNo">331</span>  protected ServerName metaLocation;<a name="line.331"></a>
+<span class="sourceLineNo">332</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setMetaLocation(ServerName p_metaLocation)<a name="line.332"></a>
 <span class="sourceLineNo">333</span>  {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<a name="line.334"></a>
+<span class="sourceLineNo">334</span>    (getImplData()).setMetaLocation(p_metaLocation);<a name="line.334"></a>
 <span class="sourceLineNo">335</span>    return this;<a name="line.335"></a>
 <span class="sourceLineNo">336</span>  }<a name="line.336"></a>
 <span class="sourceLineNo">337</span>  <a name="line.337"></a>


[03/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/src-html/org/apache/hadoop/hbase/wal/WALKey.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/wal/WALKey.html b/devapidocs/src-html/org/apache/hadoop/hbase/wal/WALKey.html
index fa2326f..26033db 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/wal/WALKey.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/wal/WALKey.html
@@ -38,641 +38,630 @@
 <span class="sourceLineNo">030</span>import java.util.TreeMap;<a name="line.30"></a>
 <span class="sourceLineNo">031</span>import java.util.UUID;<a name="line.31"></a>
 <span class="sourceLineNo">032</span>import java.util.concurrent.CountDownLatch;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import java.util.concurrent.TimeUnit;<a name="line.33"></a>
-<span class="sourceLineNo">034</span><a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.util.ByteStringer;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.commons.logging.Log;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.commons.logging.LogFactory;<a name="line.38"></a>
+<span class="sourceLineNo">033</span><a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.commons.logging.Log;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.commons.logging.LogFactory;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.HBaseInterfaceAudience;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.HConstants;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.TableName;<a name="line.38"></a>
 <span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.exceptions.TimeoutIOException;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.HBaseInterfaceAudience;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.HConstants;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.TableName;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FamilyScope;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.ScopeType;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.regionserver.SequenceId;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.49"></a>
-<span class="sourceLineNo">050</span><a name="line.50"></a>
-<span class="sourceLineNo">051</span>import com.google.common.annotations.VisibleForTesting;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import com.google.protobuf.ByteString;<a name="line.52"></a>
-<span class="sourceLineNo">053</span><a name="line.53"></a>
-<span class="sourceLineNo">054</span>// imports for things that haven't moved from regionserver.wal yet.<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.regionserver.wal.CompressionContext;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.regionserver.wal.WALCellCodec;<a name="line.56"></a>
-<span class="sourceLineNo">057</span><a name="line.57"></a>
-<span class="sourceLineNo">058</span>/**<a name="line.58"></a>
-<span class="sourceLineNo">059</span> * A Key for an entry in the change log.<a name="line.59"></a>
-<span class="sourceLineNo">060</span> *<a name="line.60"></a>
-<span class="sourceLineNo">061</span> * The log intermingles edits to many tables and rows, so each log entry<a name="line.61"></a>
-<span class="sourceLineNo">062</span> * identifies the appropriate table and row.  Within a table and row, they're<a name="line.62"></a>
-<span class="sourceLineNo">063</span> * also sorted.<a name="line.63"></a>
-<span class="sourceLineNo">064</span> *<a name="line.64"></a>
-<span class="sourceLineNo">065</span> * &lt;p&gt;Some Transactional edits (START, COMMIT, ABORT) will not have an<a name="line.65"></a>
-<span class="sourceLineNo">066</span> * associated row.<a name="line.66"></a>
-<span class="sourceLineNo">067</span> *<a name="line.67"></a>
-<span class="sourceLineNo">068</span> * Note that protected members marked @InterfaceAudience.Private are only protected<a name="line.68"></a>
-<span class="sourceLineNo">069</span> * to support the legacy HLogKey class, which is in a different package.<a name="line.69"></a>
-<span class="sourceLineNo">070</span> * <a name="line.70"></a>
-<span class="sourceLineNo">071</span> * &lt;p&gt;<a name="line.71"></a>
-<span class="sourceLineNo">072</span> */<a name="line.72"></a>
-<span class="sourceLineNo">073</span>// TODO: Key and WALEdit are never used separately, or in one-to-many relation, for practical<a name="line.73"></a>
-<span class="sourceLineNo">074</span>//       purposes. They need to be merged into WALEntry.<a name="line.74"></a>
-<span class="sourceLineNo">075</span>// TODO: Cleanup. We have logSeqNum and then WriteEntry, both are sequence id'ing. Fix.<a name="line.75"></a>
-<span class="sourceLineNo">076</span>@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.REPLICATION)<a name="line.76"></a>
-<span class="sourceLineNo">077</span>public class WALKey implements SequenceId, Comparable&lt;WALKey&gt; {<a name="line.77"></a>
-<span class="sourceLineNo">078</span>  private static final Log LOG = LogFactory.getLog(WALKey.class);<a name="line.78"></a>
-<span class="sourceLineNo">079</span><a name="line.79"></a>
-<span class="sourceLineNo">080</span>  @InterfaceAudience.Private // For internal use only.<a name="line.80"></a>
-<span class="sourceLineNo">081</span>  public MultiVersionConcurrencyControl getMvcc() {<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    return mvcc;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>  }<a name="line.83"></a>
-<span class="sourceLineNo">084</span><a name="line.84"></a>
-<span class="sourceLineNo">085</span>  /**<a name="line.85"></a>
-<span class="sourceLineNo">086</span>   * Will block until a write entry has been assigned by they WAL subsystem.<a name="line.86"></a>
-<span class="sourceLineNo">087</span>   * @return A WriteEntry gotten from local WAL subsystem. Must be completed by calling<a name="line.87"></a>
-<span class="sourceLineNo">088</span>   *     {@link MultiVersionConcurrencyControl#complete(MultiVersionConcurrencyControl.WriteEntry)}<a name="line.88"></a>
-<span class="sourceLineNo">089</span>   *     or<a name="line.89"></a>
-<span class="sourceLineNo">090</span>   *     {@link MultiVersionConcurrencyControl#complete(MultiVersionConcurrencyControl.WriteEntry)}<a name="line.90"></a>
-<span class="sourceLineNo">091</span>   * @see #setWriteEntry(MultiVersionConcurrencyControl.WriteEntry)<a name="line.91"></a>
-<span class="sourceLineNo">092</span>   */<a name="line.92"></a>
-<span class="sourceLineNo">093</span>  @InterfaceAudience.Private // For internal use only.<a name="line.93"></a>
-<span class="sourceLineNo">094</span>  public MultiVersionConcurrencyControl.WriteEntry getWriteEntry() throws InterruptedIOException {<a name="line.94"></a>
-<span class="sourceLineNo">095</span>    try {<a name="line.95"></a>
-<span class="sourceLineNo">096</span>      this.seqNumAssignedLatch.await();<a name="line.96"></a>
-<span class="sourceLineNo">097</span>    } catch (InterruptedException ie) {<a name="line.97"></a>
-<span class="sourceLineNo">098</span>      // If interrupted... clear out our entry else we can block up mvcc.<a name="line.98"></a>
-<span class="sourceLineNo">099</span>      MultiVersionConcurrencyControl mvcc = getMvcc();<a name="line.99"></a>
-<span class="sourceLineNo">100</span>      LOG.debug("mvcc=" + mvcc + ", writeEntry=" + this.writeEntry);<a name="line.100"></a>
-<span class="sourceLineNo">101</span>      if (mvcc != null) {<a name="line.101"></a>
-<span class="sourceLineNo">102</span>        if (this.writeEntry != null) {<a name="line.102"></a>
-<span class="sourceLineNo">103</span>          mvcc.complete(this.writeEntry);<a name="line.103"></a>
-<span class="sourceLineNo">104</span>        }<a name="line.104"></a>
-<span class="sourceLineNo">105</span>      }<a name="line.105"></a>
-<span class="sourceLineNo">106</span>      InterruptedIOException iie = new InterruptedIOException();<a name="line.106"></a>
-<span class="sourceLineNo">107</span>      iie.initCause(ie);<a name="line.107"></a>
-<span class="sourceLineNo">108</span>      throw iie;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    }<a name="line.109"></a>
-<span class="sourceLineNo">110</span>    return this.writeEntry;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  }<a name="line.111"></a>
-<span class="sourceLineNo">112</span><a name="line.112"></a>
-<span class="sourceLineNo">113</span>  @InterfaceAudience.Private // For internal use only.<a name="line.113"></a>
-<span class="sourceLineNo">114</span>  public void setWriteEntry(MultiVersionConcurrencyControl.WriteEntry writeEntry) {<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    this.writeEntry = writeEntry;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    this.seqNumAssignedLatch.countDown();<a name="line.116"></a>
-<span class="sourceLineNo">117</span>  }<a name="line.117"></a>
-<span class="sourceLineNo">118</span><a name="line.118"></a>
-<span class="sourceLineNo">119</span>  // should be &lt; 0 (@see HLogKey#readFields(DataInput))<a name="line.119"></a>
-<span class="sourceLineNo">120</span>  // version 2 supports WAL compression<a name="line.120"></a>
-<span class="sourceLineNo">121</span>  // public members here are only public because of HLogKey<a name="line.121"></a>
-<span class="sourceLineNo">122</span>  @InterfaceAudience.Private<a name="line.122"></a>
-<span class="sourceLineNo">123</span>  protected enum Version {<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    UNVERSIONED(0),<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    // Initial number we put on WALKey when we introduced versioning.<a name="line.125"></a>
-<span class="sourceLineNo">126</span>    INITIAL(-1),<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    // Version -2 introduced a dictionary compression facility.  Only this<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    // dictionary-based compression is available in version -2.<a name="line.128"></a>
-<span class="sourceLineNo">129</span>    COMPRESSED(-2);<a name="line.129"></a>
-<span class="sourceLineNo">130</span><a name="line.130"></a>
-<span class="sourceLineNo">131</span>    public final int code;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    static final Version[] byCode;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    static {<a name="line.133"></a>
-<span class="sourceLineNo">134</span>      byCode = Version.values();<a name="line.134"></a>
-<span class="sourceLineNo">135</span>      for (int i = 0; i &lt; byCode.length; i++) {<a name="line.135"></a>
-<span class="sourceLineNo">136</span>        if (byCode[i].code != -1 * i) {<a name="line.136"></a>
-<span class="sourceLineNo">137</span>          throw new AssertionError("Values in this enum should be descending by one");<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>    }<a name="line.140"></a>
-<span class="sourceLineNo">141</span><a name="line.141"></a>
-<span class="sourceLineNo">142</span>    Version(int code) {<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      this.code = code;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    }<a name="line.144"></a>
-<span class="sourceLineNo">145</span><a name="line.145"></a>
-<span class="sourceLineNo">146</span>    public boolean atLeast(Version other) {<a name="line.146"></a>
-<span class="sourceLineNo">147</span>      return code &lt;= other.code;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    }<a name="line.148"></a>
-<span class="sourceLineNo">149</span><a name="line.149"></a>
-<span class="sourceLineNo">150</span>    public static Version fromCode(int code) {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>      return byCode[code * -1];<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    }<a name="line.152"></a>
-<span class="sourceLineNo">153</span>  }<a name="line.153"></a>
-<span class="sourceLineNo">154</span><a name="line.154"></a>
-<span class="sourceLineNo">155</span>  /*<a name="line.155"></a>
-<span class="sourceLineNo">156</span>   * This is used for reading the log entries created by the previous releases<a name="line.156"></a>
-<span class="sourceLineNo">157</span>   * (0.94.11) which write the clusters information to the scopes of WALEdit.<a name="line.157"></a>
-<span class="sourceLineNo">158</span>   */<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  private static final String PREFIX_CLUSTER_KEY = ".";<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>  // visible for deprecated HLogKey<a name="line.162"></a>
-<span class="sourceLineNo">163</span>  @InterfaceAudience.Private<a name="line.163"></a>
-<span class="sourceLineNo">164</span>  protected static final Version VERSION = Version.COMPRESSED;<a name="line.164"></a>
-<span class="sourceLineNo">165</span><a name="line.165"></a>
-<span class="sourceLineNo">166</span>  /** Used to represent when a particular wal key doesn't know/care about the sequence ordering. */<a name="line.166"></a>
-<span class="sourceLineNo">167</span>  public static final long NO_SEQUENCE_ID = -1;<a name="line.167"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FamilyScope;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.ScopeType;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.regionserver.SequenceId;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>// imports for things that haven't moved from regionserver.wal yet.<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.regionserver.wal.CompressionContext;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.regionserver.wal.WALCellCodec;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.util.ByteStringer;<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.EnvironmentEdgeManager;<a name="line.50"></a>
+<span class="sourceLineNo">051</span><a name="line.51"></a>
+<span class="sourceLineNo">052</span>import com.google.common.annotations.VisibleForTesting;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import com.google.protobuf.ByteString;<a name="line.53"></a>
+<span class="sourceLineNo">054</span><a name="line.54"></a>
+<span class="sourceLineNo">055</span>/**<a name="line.55"></a>
+<span class="sourceLineNo">056</span> * A Key for an entry in the WAL.<a name="line.56"></a>
+<span class="sourceLineNo">057</span> *<a name="line.57"></a>
+<span class="sourceLineNo">058</span> * The log intermingles edits to many tables and rows, so each log entry<a name="line.58"></a>
+<span class="sourceLineNo">059</span> * identifies the appropriate table and row.  Within a table and row, they're<a name="line.59"></a>
+<span class="sourceLineNo">060</span> * also sorted.<a name="line.60"></a>
+<span class="sourceLineNo">061</span> *<a name="line.61"></a>
+<span class="sourceLineNo">062</span> * &lt;p&gt;Some Transactional edits (START, COMMIT, ABORT) will not have an associated row.<a name="line.62"></a>
+<span class="sourceLineNo">063</span> *<a name="line.63"></a>
+<span class="sourceLineNo">064</span> * Note that protected members marked @InterfaceAudience.Private are only protected<a name="line.64"></a>
+<span class="sourceLineNo">065</span> * to support the legacy HLogKey class, which is in a different package.<a name="line.65"></a>
+<span class="sourceLineNo">066</span> */<a name="line.66"></a>
+<span class="sourceLineNo">067</span>// TODO: Key and WALEdit are never used separately, or in one-to-many relation, for practical<a name="line.67"></a>
+<span class="sourceLineNo">068</span>//       purposes. They need to be merged into WALEntry.<a name="line.68"></a>
+<span class="sourceLineNo">069</span>@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.REPLICATION)<a name="line.69"></a>
+<span class="sourceLineNo">070</span>public class WALKey implements SequenceId, Comparable&lt;WALKey&gt; {<a name="line.70"></a>
+<span class="sourceLineNo">071</span>  private static final Log LOG = LogFactory.getLog(WALKey.class);<a name="line.71"></a>
+<span class="sourceLineNo">072</span>  private final CountDownLatch sequenceIdAssignedLatch = new CountDownLatch(1);<a name="line.72"></a>
+<span class="sourceLineNo">073</span>  /**<a name="line.73"></a>
+<span class="sourceLineNo">074</span>   * Used to represent when a particular wal key doesn't know/care about the sequence ordering.<a name="line.74"></a>
+<span class="sourceLineNo">075</span>   */<a name="line.75"></a>
+<span class="sourceLineNo">076</span>  public static final long NO_SEQUENCE_ID = -1;<a name="line.76"></a>
+<span class="sourceLineNo">077</span><a name="line.77"></a>
+<span class="sourceLineNo">078</span>  @InterfaceAudience.Private // For internal use only.<a name="line.78"></a>
+<span class="sourceLineNo">079</span>  public MultiVersionConcurrencyControl getMvcc() {<a name="line.79"></a>
+<span class="sourceLineNo">080</span>    return mvcc;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>  }<a name="line.81"></a>
+<span class="sourceLineNo">082</span><a name="line.82"></a>
+<span class="sourceLineNo">083</span>  /**<a name="line.83"></a>
+<span class="sourceLineNo">084</span>   * Use it to complete mvcc transaction. This WALKey was part of<a name="line.84"></a>
+<span class="sourceLineNo">085</span>   * (the transaction is started when you call append; see the comment on FSHLog#append). To<a name="line.85"></a>
+<span class="sourceLineNo">086</span>   * complete call<a name="line.86"></a>
+<span class="sourceLineNo">087</span>   * {@link MultiVersionConcurrencyControl#complete(MultiVersionConcurrencyControl.WriteEntry)}<a name="line.87"></a>
+<span class="sourceLineNo">088</span>   * or {@link MultiVersionConcurrencyControl#complete(MultiVersionConcurrencyControl.WriteEntry)}<a name="line.88"></a>
+<span class="sourceLineNo">089</span>   * @return A WriteEntry gotten from local WAL subsystem.<a name="line.89"></a>
+<span class="sourceLineNo">090</span>   * @see #setWriteEntry(MultiVersionConcurrencyControl.WriteEntry)<a name="line.90"></a>
+<span class="sourceLineNo">091</span>   */<a name="line.91"></a>
+<span class="sourceLineNo">092</span>  @InterfaceAudience.Private // For internal use only.<a name="line.92"></a>
+<span class="sourceLineNo">093</span>  public MultiVersionConcurrencyControl.WriteEntry getWriteEntry() throws InterruptedIOException {<a name="line.93"></a>
+<span class="sourceLineNo">094</span>    try {<a name="line.94"></a>
+<span class="sourceLineNo">095</span>      this.sequenceIdAssignedLatch.await();<a name="line.95"></a>
+<span class="sourceLineNo">096</span>    } catch (InterruptedException ie) {<a name="line.96"></a>
+<span class="sourceLineNo">097</span>      MultiVersionConcurrencyControl mvcc = getMvcc();<a name="line.97"></a>
+<span class="sourceLineNo">098</span>      if (LOG.isDebugEnabled()) {<a name="line.98"></a>
+<span class="sourceLineNo">099</span>        LOG.debug("mvcc=" + mvcc + ", writeEntry=" + this.writeEntry);<a name="line.99"></a>
+<span class="sourceLineNo">100</span>      }<a name="line.100"></a>
+<span class="sourceLineNo">101</span>      InterruptedIOException iie = new InterruptedIOException();<a name="line.101"></a>
+<span class="sourceLineNo">102</span>      iie.initCause(ie);<a name="line.102"></a>
+<span class="sourceLineNo">103</span>      throw iie;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>    }<a name="line.104"></a>
+<span class="sourceLineNo">105</span>    return this.writeEntry;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>  }<a name="line.106"></a>
+<span class="sourceLineNo">107</span><a name="line.107"></a>
+<span class="sourceLineNo">108</span>  @InterfaceAudience.Private // For internal use only.<a name="line.108"></a>
+<span class="sourceLineNo">109</span>  public void setWriteEntry(MultiVersionConcurrencyControl.WriteEntry writeEntry) {<a name="line.109"></a>
+<span class="sourceLineNo">110</span>    if (this.writeEntry != null) {<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      throw new RuntimeException("Non-null!!!");<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    }<a name="line.112"></a>
+<span class="sourceLineNo">113</span>    this.writeEntry = writeEntry;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    // Set our sequenceid now using WriteEntry.<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    if (this.writeEntry != null) {<a name="line.115"></a>
+<span class="sourceLineNo">116</span>      this.sequenceId = this.writeEntry.getWriteNumber();<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    }<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    this.sequenceIdAssignedLatch.countDown();<a name="line.118"></a>
+<span class="sourceLineNo">119</span>  }<a name="line.119"></a>
+<span class="sourceLineNo">120</span><a name="line.120"></a>
+<span class="sourceLineNo">121</span>  // REMOVE!!!! No more Writables!!!!<a name="line.121"></a>
+<span class="sourceLineNo">122</span>  // Should be &lt; 0 (@see HLogKey#readFields(DataInput))<a name="line.122"></a>
+<span class="sourceLineNo">123</span>  // version 2 supports WAL compression<a name="line.123"></a>
+<span class="sourceLineNo">124</span>  // public members here are only public because of HLogKey<a name="line.124"></a>
+<span class="sourceLineNo">125</span>  @InterfaceAudience.Private<a name="line.125"></a>
+<span class="sourceLineNo">126</span>  protected enum Version {<a name="line.126"></a>
+<span class="sourceLineNo">127</span>    UNVERSIONED(0),<a name="line.127"></a>
+<span class="sourceLineNo">128</span>    // Initial number we put on WALKey when we introduced versioning.<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    INITIAL(-1),<a name="line.129"></a>
+<span class="sourceLineNo">130</span>    // Version -2 introduced a dictionary compression facility.  Only this<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    // dictionary-based compression is available in version -2.<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    COMPRESSED(-2);<a name="line.132"></a>
+<span class="sourceLineNo">133</span><a name="line.133"></a>
+<span class="sourceLineNo">134</span>    public final int code;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>    static final Version[] byCode;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>    static {<a name="line.136"></a>
+<span class="sourceLineNo">137</span>      byCode = Version.values();<a name="line.137"></a>
+<span class="sourceLineNo">138</span>      for (int i = 0; i &lt; byCode.length; i++) {<a name="line.138"></a>
+<span class="sourceLineNo">139</span>        if (byCode[i].code != -1 * i) {<a name="line.139"></a>
+<span class="sourceLineNo">140</span>          throw new AssertionError("Values in this enum should be descending by one");<a name="line.140"></a>
+<span class="sourceLineNo">141</span>        }<a name="line.141"></a>
+<span class="sourceLineNo">142</span>      }<a name="line.142"></a>
+<span class="sourceLineNo">143</span>    }<a name="line.143"></a>
+<span class="sourceLineNo">144</span><a name="line.144"></a>
+<span class="sourceLineNo">145</span>    Version(int code) {<a name="line.145"></a>
+<span class="sourceLineNo">146</span>      this.code = code;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    }<a name="line.147"></a>
+<span class="sourceLineNo">148</span><a name="line.148"></a>
+<span class="sourceLineNo">149</span>    public boolean atLeast(Version other) {<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      return code &lt;= other.code;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    }<a name="line.151"></a>
+<span class="sourceLineNo">152</span><a name="line.152"></a>
+<span class="sourceLineNo">153</span>    public static Version fromCode(int code) {<a name="line.153"></a>
+<span class="sourceLineNo">154</span>      return byCode[code * -1];<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>  /*<a name="line.158"></a>
+<span class="sourceLineNo">159</span>   * This is used for reading the log entries created by the previous releases<a name="line.159"></a>
+<span class="sourceLineNo">160</span>   * (0.94.11) which write the clusters information to the scopes of WALEdit.<a name="line.160"></a>
+<span class="sourceLineNo">161</span>   */<a name="line.161"></a>
+<span class="sourceLineNo">162</span>  private static final String PREFIX_CLUSTER_KEY = ".";<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>  // visible for deprecated HLogKey<a name="line.165"></a>
+<span class="sourceLineNo">166</span>  @InterfaceAudience.Private<a name="line.166"></a>
+<span class="sourceLineNo">167</span>  protected static final Version VERSION = Version.COMPRESSED;<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>  // visible for deprecated HLogKey<a name="line.170"></a>
-<span class="sourceLineNo">171</span>  @InterfaceAudience.Private<a name="line.171"></a>
-<span class="sourceLineNo">172</span>  protected byte [] encodedRegionName;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>  // visible for deprecated HLogKey<a name="line.173"></a>
-<span class="sourceLineNo">174</span>  @InterfaceAudience.Private<a name="line.174"></a>
-<span class="sourceLineNo">175</span>  protected TableName tablename;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>  // visible for deprecated HLogKey<a name="line.176"></a>
-<span class="sourceLineNo">177</span>  @InterfaceAudience.Private<a name="line.177"></a>
-<span class="sourceLineNo">178</span>  protected long logSeqNum;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>  private long origLogSeqNum = 0;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>  private CountDownLatch seqNumAssignedLatch = new CountDownLatch(1);<a name="line.180"></a>
-<span class="sourceLineNo">181</span>  // Time at which this edit was written.<a name="line.181"></a>
-<span class="sourceLineNo">182</span>  // visible for deprecated HLogKey<a name="line.182"></a>
-<span class="sourceLineNo">183</span>  @InterfaceAudience.Private<a name="line.183"></a>
-<span class="sourceLineNo">184</span>  protected long writeTime;<a name="line.184"></a>
+<span class="sourceLineNo">169</span>  // visible for deprecated HLogKey<a name="line.169"></a>
+<span class="sourceLineNo">170</span>  @InterfaceAudience.Private<a name="line.170"></a>
+<span class="sourceLineNo">171</span>  protected byte [] encodedRegionName;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>  // visible for deprecated HLogKey<a name="line.172"></a>
+<span class="sourceLineNo">173</span>  @InterfaceAudience.Private<a name="line.173"></a>
+<span class="sourceLineNo">174</span>  protected TableName tablename;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>  /**<a name="line.175"></a>
+<span class="sourceLineNo">176</span>   * SequenceId for this edit. Set post-construction at write-to-WAL time. Until then it is<a name="line.176"></a>
+<span class="sourceLineNo">177</span>   * NO_SEQUENCE_ID. Change it so multiple threads can read it -- e.g. access is synchronized.<a name="line.177"></a>
+<span class="sourceLineNo">178</span>   */<a name="line.178"></a>
+<span class="sourceLineNo">179</span>  private long sequenceId;<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>   * Used during WAL replay; the sequenceId of the edit when it came into the system.<a name="line.182"></a>
+<span class="sourceLineNo">183</span>   */<a name="line.183"></a>
+<span class="sourceLineNo">184</span>  private long origLogSeqNum = 0;<a name="line.184"></a>
 <span class="sourceLineNo">185</span><a name="line.185"></a>
-<span class="sourceLineNo">186</span>  // The first element in the list is the cluster id on which the change has originated<a name="line.186"></a>
+<span class="sourceLineNo">186</span>  // Time at which this edit was written.<a name="line.186"></a>
 <span class="sourceLineNo">187</span>  // visible for deprecated HLogKey<a name="line.187"></a>
 <span class="sourceLineNo">188</span>  @InterfaceAudience.Private<a name="line.188"></a>
-<span class="sourceLineNo">189</span>  protected List&lt;UUID&gt; clusterIds;<a name="line.189"></a>
+<span class="sourceLineNo">189</span>  protected long writeTime;<a name="line.189"></a>
 <span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span>  private NavigableMap&lt;byte[], Integer&gt; scopes;<a name="line.191"></a>
-<span class="sourceLineNo">192</span><a name="line.192"></a>
-<span class="sourceLineNo">193</span>  private long nonceGroup = HConstants.NO_NONCE;<a name="line.193"></a>
-<span class="sourceLineNo">194</span>  private long nonce = HConstants.NO_NONCE;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  private MultiVersionConcurrencyControl mvcc;<a name="line.195"></a>
-<span class="sourceLineNo">196</span>  private MultiVersionConcurrencyControl.WriteEntry writeEntry;<a name="line.196"></a>
-<span class="sourceLineNo">197</span>  public static final List&lt;UUID&gt; EMPTY_UUIDS = Collections.unmodifiableList(new ArrayList&lt;UUID&gt;());<a name="line.197"></a>
-<span class="sourceLineNo">198</span><a name="line.198"></a>
-<span class="sourceLineNo">199</span>  // visible for deprecated HLogKey<a name="line.199"></a>
-<span class="sourceLineNo">200</span>  @InterfaceAudience.Private<a name="line.200"></a>
-<span class="sourceLineNo">201</span>  protected CompressionContext compressionContext;<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>  public WALKey() {<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    init(null, null, 0L, HConstants.LATEST_TIMESTAMP,<a name="line.204"></a>
-<span class="sourceLineNo">205</span>        new ArrayList&lt;UUID&gt;(), HConstants.NO_NONCE, HConstants.NO_NONCE, null);<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>  @VisibleForTesting<a name="line.208"></a>
-<span class="sourceLineNo">209</span>  public WALKey(final byte[] encodedRegionName, final TableName tablename,<a name="line.209"></a>
-<span class="sourceLineNo">210</span>                long logSeqNum,<a name="line.210"></a>
-<span class="sourceLineNo">211</span>      final long now, UUID clusterId) {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    List&lt;UUID&gt; clusterIds = new ArrayList&lt;UUID&gt;();<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    clusterIds.add(clusterId);<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    init(encodedRegionName, tablename, logSeqNum, now, clusterIds,<a name="line.214"></a>
-<span class="sourceLineNo">215</span>        HConstants.NO_NONCE, HConstants.NO_NONCE, null);<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span>  public WALKey(final byte[] encodedRegionName, final TableName tablename) {<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    this(encodedRegionName, tablename, System.currentTimeMillis());<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>  public WALKey(final byte[] encodedRegionName, final TableName tablename, final long now) {<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    init(encodedRegionName,<a name="line.223"></a>
-<span class="sourceLineNo">224</span>        tablename,<a name="line.224"></a>
-<span class="sourceLineNo">225</span>        NO_SEQUENCE_ID,<a name="line.225"></a>
-<span class="sourceLineNo">226</span>        now,<a name="line.226"></a>
-<span class="sourceLineNo">227</span>        EMPTY_UUIDS,<a name="line.227"></a>
-<span class="sourceLineNo">228</span>        HConstants.NO_NONCE,<a name="line.228"></a>
-<span class="sourceLineNo">229</span>        HConstants.NO_NONCE,<a name="line.229"></a>
-<span class="sourceLineNo">230</span>        null);<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>  public WALKey(final byte[] encodedRegionName,<a name="line.233"></a>
-<span class="sourceLineNo">234</span>                final TableName tablename,<a name="line.234"></a>
-<span class="sourceLineNo">235</span>                final long now,<a name="line.235"></a>
-<span class="sourceLineNo">236</span>                MultiVersionConcurrencyControl mvcc) {<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    init(encodedRegionName,<a name="line.237"></a>
-<span class="sourceLineNo">238</span>        tablename,<a name="line.238"></a>
-<span class="sourceLineNo">239</span>        NO_SEQUENCE_ID,<a name="line.239"></a>
-<span class="sourceLineNo">240</span>        now,<a name="line.240"></a>
-<span class="sourceLineNo">241</span>        EMPTY_UUIDS,<a name="line.241"></a>
+<span class="sourceLineNo">191</span>  // The first element in the list is the cluster id on which the change has originated<a name="line.191"></a>
+<span class="sourceLineNo">192</span>  // visible for deprecated HLogKey<a name="line.192"></a>
+<span class="sourceLineNo">193</span>  @InterfaceAudience.Private<a name="line.193"></a>
+<span class="sourceLineNo">194</span>  protected List&lt;UUID&gt; clusterIds;<a name="line.194"></a>
+<span class="sourceLineNo">195</span><a name="line.195"></a>
+<span class="sourceLineNo">196</span>  private NavigableMap&lt;byte[], Integer&gt; scopes;<a name="line.196"></a>
+<span class="sourceLineNo">197</span><a name="line.197"></a>
+<span class="sourceLineNo">198</span>  private long nonceGroup = HConstants.NO_NONCE;<a name="line.198"></a>
+<span class="sourceLineNo">199</span>  private long nonce = HConstants.NO_NONCE;<a name="line.199"></a>
+<span class="sourceLineNo">200</span>  private MultiVersionConcurrencyControl mvcc;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>  /**<a name="line.201"></a>
+<span class="sourceLineNo">202</span>   * Set in a way visible to multiple threads; e.g. synchronized getter/setters.<a name="line.202"></a>
+<span class="sourceLineNo">203</span>   */<a name="line.203"></a>
+<span class="sourceLineNo">204</span>  private MultiVersionConcurrencyControl.WriteEntry writeEntry;<a name="line.204"></a>
+<span class="sourceLineNo">205</span>  public static final List&lt;UUID&gt; EMPTY_UUIDS = Collections.unmodifiableList(new ArrayList&lt;UUID&gt;());<a name="line.205"></a>
+<span class="sourceLineNo">206</span><a name="line.206"></a>
+<span class="sourceLineNo">207</span>  // visible for deprecated HLogKey<a name="line.207"></a>
+<span class="sourceLineNo">208</span>  @InterfaceAudience.Private<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  protected CompressionContext compressionContext;<a name="line.209"></a>
+<span class="sourceLineNo">210</span><a name="line.210"></a>
+<span class="sourceLineNo">211</span>  public WALKey() {<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    init(null, null, 0L, HConstants.LATEST_TIMESTAMP,<a name="line.212"></a>
+<span class="sourceLineNo">213</span>        new ArrayList&lt;UUID&gt;(), HConstants.NO_NONCE, HConstants.NO_NONCE, null);<a name="line.213"></a>
+<span class="sourceLineNo">214</span>  }<a name="line.214"></a>
+<span class="sourceLineNo">215</span><a name="line.215"></a>
+<span class="sourceLineNo">216</span>  @VisibleForTesting<a name="line.216"></a>
+<span class="sourceLineNo">217</span>  public WALKey(final byte[] encodedRegionName, final TableName tablename,<a name="line.217"></a>
+<span class="sourceLineNo">218</span>                long logSeqNum,<a name="line.218"></a>
+<span class="sourceLineNo">219</span>      final long now, UUID clusterId) {<a name="line.219"></a>
+<span class="sourceLineNo">220</span>    List&lt;UUID&gt; clusterIds = new ArrayList&lt;UUID&gt;();<a name="line.220"></a>
+<span class="sourceLineNo">221</span>    clusterIds.add(clusterId);<a name="line.221"></a>
+<span class="sourceLineNo">222</span>    init(encodedRegionName, tablename, logSeqNum, now, clusterIds,<a name="line.222"></a>
+<span class="sourceLineNo">223</span>        HConstants.NO_NONCE, HConstants.NO_NONCE, null);<a name="line.223"></a>
+<span class="sourceLineNo">224</span>  }<a name="line.224"></a>
+<span class="sourceLineNo">225</span><a name="line.225"></a>
+<span class="sourceLineNo">226</span>  /**<a name="line.226"></a>
+<span class="sourceLineNo">227</span>   * @deprecated Remove. Useless.<a name="line.227"></a>
+<span class="sourceLineNo">228</span>   */<a name="line.228"></a>
+<span class="sourceLineNo">229</span>  @Deprecated // REMOVE<a name="line.229"></a>
+<span class="sourceLineNo">230</span>  public WALKey(final byte[] encodedRegionName, final TableName tablename) {<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    this(encodedRegionName, tablename, System.currentTimeMillis());<a name="line.231"></a>
+<span class="sourceLineNo">232</span>  }<a name="line.232"></a>
+<span class="sourceLineNo">233</span><a name="line.233"></a>
+<span class="sourceLineNo">234</span>  // TODO: Fix being able to pass in sequenceid.<a name="line.234"></a>
+<span class="sourceLineNo">235</span>  public WALKey(final byte[] encodedRegionName, final TableName tablename, final long now) {<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    init(encodedRegionName,<a name="line.236"></a>
+<span class="sourceLineNo">237</span>        tablename,<a name="line.237"></a>
+<span class="sourceLineNo">238</span>        NO_SEQUENCE_ID,<a name="line.238"></a>
+<span class="sourceLineNo">239</span>        now,<a name="line.239"></a>
+<span class="sourceLineNo">240</span>        EMPTY_UUIDS,<a name="line.240"></a>
+<span class="sourceLineNo">241</span>        HConstants.NO_NONCE,<a name="line.241"></a>
 <span class="sourceLineNo">242</span>        HConstants.NO_NONCE,<a name="line.242"></a>
-<span class="sourceLineNo">243</span>        HConstants.NO_NONCE,<a name="line.243"></a>
-<span class="sourceLineNo">244</span>        mvcc);<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>   * Create the log key for writing to somewhere.<a name="line.248"></a>
-<span class="sourceLineNo">249</span>   * We maintain the tablename mainly for debugging purposes.<a name="line.249"></a>
-<span class="sourceLineNo">250</span>   * A regionName is always a sub-table object.<a name="line.250"></a>
-<span class="sourceLineNo">251</span>   * &lt;p&gt;Used by log splitting and snapshots.<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   *<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   * @param encodedRegionName Encoded name of the region as returned by<a name="line.253"></a>
-<span class="sourceLineNo">254</span>   *                          &lt;code&gt;HRegionInfo#getEncodedNameAsBytes()&lt;/code&gt;.<a name="line.254"></a>
-<span class="sourceLineNo">255</span>   * @param tablename         - name of table<a name="line.255"></a>
-<span class="sourceLineNo">256</span>   * @param logSeqNum         - log sequence number<a name="line.256"></a>
-<span class="sourceLineNo">257</span>   * @param now               Time at which this edit was written.<a name="line.257"></a>
-<span class="sourceLineNo">258</span>   * @param clusterIds        the clusters that have consumed the change(used in Replication)<a name="line.258"></a>
-<span class="sourceLineNo">259</span>   */<a name="line.259"></a>
-<span class="sourceLineNo">260</span>  public WALKey(final byte[] encodedRegionName,<a name="line.260"></a>
-<span class="sourceLineNo">261</span>                final TableName tablename,<a name="line.261"></a>
-<span class="sourceLineNo">262</span>                long logSeqNum,<a name="line.262"></a>
-<span class="sourceLineNo">263</span>                final long now,<a name="line.263"></a>
-<span class="sourceLineNo">264</span>                List&lt;UUID&gt; clusterIds,<a name="line.264"></a>
-<span class="sourceLineNo">265</span>                long nonceGroup,<a name="line.265"></a>
-<span class="sourceLineNo">266</span>                long nonce,<a name="line.266"></a>
-<span class="sourceLineNo">267</span>                MultiVersionConcurrencyControl mvcc) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>    init(encodedRegionName, tablename, logSeqNum, now, clusterIds, nonceGroup, nonce, mvcc);<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>  /**<a name="line.271"></a>
-<span class="sourceLineNo">272</span>   * Create the log key for writing to somewhere.<a name="line.272"></a>
-<span class="sourceLineNo">273</span>   * We maintain the tablename mainly for debugging purposes.<a name="line.273"></a>
-<span class="sourceLineNo">274</span>   * A regionName is always a sub-table object.<a name="line.274"></a>
-<span class="sourceLineNo">275</span>   *<a name="line.275"></a>
-<span class="sourceLineNo">276</span>   * @param encodedRegionName Encoded name of the region as returned by<a name="line.276"></a>
-<span class="sourceLineNo">277</span>   *                          &lt;code&gt;HRegionInfo#getEncodedNameAsBytes()&lt;/code&gt;.<a name="line.277"></a>
-<span class="sourceLineNo">278</span>   * @param tablename<a name="line.278"></a>
-<span class="sourceLineNo">279</span>   * @param now               Time at which this edit was written.<a name="line.279"></a>
-<span class="sourceLineNo">280</span>   * @param clusterIds        the clusters that have consumed the change(used in Replication)<a name="line.280"></a>
-<span class="sourceLineNo">281</span>   * @param nonceGroup<a name="line.281"></a>
-<span class="sourceLineNo">282</span>   * @param nonce<a name="line.282"></a>
-<span class="sourceLineNo">283</span>   * @param mvcc mvcc control used to generate sequence numbers and control read/write points<a name="line.283"></a>
-<span class="sourceLineNo">284</span>   */<a name="line.284"></a>
-<span class="sourceLineNo">285</span>  public WALKey(final byte[] encodedRegionName, final TableName tablename,<a name="line.285"></a>
-<span class="sourceLineNo">286</span>                final long now, List&lt;UUID&gt; clusterIds, long nonceGroup,<a name="line.286"></a>
-<span class="sourceLineNo">287</span>                final long nonce, final MultiVersionConcurrencyControl mvcc) {<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    init(encodedRegionName, tablename, NO_SEQUENCE_ID, now, clusterIds, nonceGroup, nonce, mvcc);<a name="line.288"></a>
-<span class="sourceLineNo">289</span>  }<a name="line.289"></a>
-<span class="sourceLineNo">290</span><a name="line.290"></a>
-<span class="sourceLineNo">291</span>  /**<a name="line.291"></a>
-<span class="sourceLineNo">292</span>   * Create the log key for writing to somewhere.<a name="line.292"></a>
-<span class="sourceLineNo">293</span>   * We maintain the tablename mainly for debugging purposes.<a name="line.293"></a>
-<span class="sourceLineNo">294</span>   * A regionName is always a sub-table object.<a name="line.294"></a>
-<span class="sourceLineNo">295</span>   *<a name="line.295"></a>
-<span class="sourceLineNo">296</span>   * @param encodedRegionName Encoded name of the region as returned by<a name="line.296"></a>
-<span class="sourceLineNo">297</span>   *                          &lt;code&gt;HRegionInfo#getEncodedNameAsBytes()&lt;/code&gt;.<a name="line.297"></a>
-<span class="sourceLineNo">298</span>   * @param tablename<a name="line.298"></a>
-<span class="sourceLineNo">299</span>   * @param logSeqNum<a name="line.299"></a>
-<span class="sourceLineNo">300</span>   * @param nonceGroup<a name="line.300"></a>
-<span class="sourceLineNo">301</span>   * @param nonce<a name="line.301"></a>
-<span class="sourceLineNo">302</span>   */<a name="line.302"></a>
-<span class="sourceLineNo">303</span>  public WALKey(final byte[] encodedRegionName,<a name="line.303"></a>
-<span class="sourceLineNo">304</span>                final TableName tablename,<a name="line.304"></a>
-<span class="sourceLineNo">305</span>                long logSeqNum,<a name="line.305"></a>
-<span class="sourceLineNo">306</span>                long nonceGroup,<a name="line.306"></a>
-<span class="sourceLineNo">307</span>                long nonce,<a name="line.307"></a>
-<span class="sourceLineNo">308</span>                final MultiVersionConcurrencyControl mvcc) {<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    init(encodedRegionName,<a name="line.309"></a>
-<span class="sourceLineNo">310</span>        tablename,<a name="line.310"></a>
-<span class="sourceLineNo">311</span>        logSeqNum,<a name="line.311"></a>
-<span class="sourceLineNo">312</span>        EnvironmentEdgeManager.currentTime(),<a name="line.312"></a>
-<span class="sourceLineNo">313</span>        EMPTY_UUIDS,<a name="line.313"></a>
-<span class="sourceLineNo">314</span>        nonceGroup,<a name="line.314"></a>
-<span class="sourceLineNo">315</span>        nonce,<a name="line.315"></a>
-<span class="sourceLineNo">316</span>        mvcc);<a name="line.316"></a>
-<span class="sourceLineNo">317</span>  }<a name="line.317"></a>
-<span class="sourceLineNo">318</span><a name="line.318"></a>
-<span class="sourceLineNo">319</span>  @InterfaceAudience.Private<a name="line.319"></a>
-<span class="sourceLineNo">320</span>  protected void init(final byte[] encodedRegionName,<a name="line.320"></a>
-<span class="sourceLineNo">321</span>                      final TableName tablename,<a name="line.321"></a>
-<span class="sourceLineNo">322</span>                      long logSeqNum,<a name="line.322"></a>
-<span class="sourceLineNo">323</span>                      final long now,<a name="line.323"></a>
-<span class="sourceLineNo">324</span>                      List&lt;UUID&gt; clusterIds,<a name="line.324"></a>
-<span class="sourceLineNo">325</span>                      long nonceGroup,<a name="line.325"></a>
-<span class="sourceLineNo">326</span>                      long nonce,<a name="line.326"></a>
-<span class="sourceLineNo">327</span>                      MultiVersionConcurrencyControl mvcc) {<a name="line.327"></a>
-<span class="sourceLineNo">328</span>    this.logSeqNum = logSeqNum;<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    this.writeTime = now;<a name="line.329"></a>
-<span class="sourceLineNo">330</span>    this.clusterIds = clusterIds;<a name="line.330"></a>
-<span class="sourceLineNo">331</span>    this.encodedRegionName = encodedRegionName;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    this.tablename = tablename;<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    this.nonceGroup = nonceGroup;<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    this.nonce = nonce;<a name="line.334"></a>
-<span class="sourceLineNo">335</span>    this.mvcc = mvcc;<a name="line.335"></a>
-<span class="sourceLineNo">336</span>  }<a name="line.336"></a>
-<span class="sourceLineNo">337</span><a name="line.337"></a>
-<span class="sourceLineNo">338</span>  /**<a name="line.338"></a>
-<span class="sourceLineNo">339</span>   * @param compressionContext Compression context to use<a name="line.339"></a>
-<span class="sourceLineNo">340</span>   */<a name="line.340"></a>
-<span class="sourceLineNo">341</span>  public void setCompressionContext(CompressionContext compressionContext) {<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    this.compressionContext = compressionContext;<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>  /** @return encoded region name */<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  public byte [] getEncodedRegionName() {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    return encodedRegionName;<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>  /** @return table name */<a name="line.350"></a>
-<span class="sourceLineNo">351</span>  public TableName getTablename() {<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    return tablename;<a name="line.352"></a>
-<span class="sourceLineNo">353</span>  }<a name="line.353"></a>
-<span class="sourceLineNo">354</span><a name="line.354"></a>
-<span class="sourceLineNo">355</span>  /** @return log sequence number */<a name="line.355"></a>
-<span class="sourceLineNo">356</span>  public long getLogSeqNum() {<a name="line.356"></a>
-<span class="sourceLineNo">357</span>    return this.logSeqNum;<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>  /**<a name="line.360"></a>
-<span class="sourceLineNo">361</span>   * Allow that the log sequence id to be set post-construction<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   * Only public for org.apache.hadoop.hbase.regionserver.wal.FSWALEntry<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   * @param sequence<a name="line.363"></a>
+<span class="sourceLineNo">243</span>        null);<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>  public WALKey(final byte[] encodedRegionName,<a name="line.246"></a>
+<span class="sourceLineNo">247</span>                final TableName tablename,<a name="line.247"></a>
+<span class="sourceLineNo">248</span>                final long now,<a name="line.248"></a>
+<span class="sourceLineNo">249</span>                MultiVersionConcurrencyControl mvcc) {<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    init(encodedRegionName,<a name="line.250"></a>
+<span class="sourceLineNo">251</span>        tablename,<a name="line.251"></a>
+<span class="sourceLineNo">252</span>        NO_SEQUENCE_ID,<a name="line.252"></a>
+<span class="sourceLineNo">253</span>        now,<a name="line.253"></a>
+<span class="sourceLineNo">254</span>        EMPTY_UUIDS,<a name="line.254"></a>
+<span class="sourceLineNo">255</span>        HConstants.NO_NONCE,<a name="line.255"></a>
+<span class="sourceLineNo">256</span>        HConstants.NO_NONCE,<a name="line.256"></a>
+<span class="sourceLineNo">257</span>        mvcc);<a name="line.257"></a>
+<span class="sourceLineNo">258</span>  }<a name="line.258"></a>
+<span class="sourceLineNo">259</span><a name="line.259"></a>
+<span class="sourceLineNo">260</span>  /**<a name="line.260"></a>
+<span class="sourceLineNo">261</span>   * Create the log key for writing to somewhere.<a name="line.261"></a>
+<span class="sourceLineNo">262</span>   * We maintain the tablename mainly for debugging purposes.<a name="line.262"></a>
+<span class="sourceLineNo">263</span>   * A regionName is always a sub-table object.<a name="line.263"></a>
+<span class="sourceLineNo">264</span>   * &lt;p&gt;Used by log splitting and snapshots.<a name="line.264"></a>
+<span class="sourceLineNo">265</span>   *<a name="line.265"></a>
+<span class="sourceLineNo">266</span>   * @param encodedRegionName Encoded name of the region as returned by<a name="line.266"></a>
+<span class="sourceLineNo">267</span>   *                          &lt;code&gt;HRegionInfo#getEncodedNameAsBytes()&lt;/code&gt;.<a name="line.267"></a>
+<span class="sourceLineNo">268</span>   * @param tablename         - name of table<a name="line.268"></a>
+<span class="sourceLineNo">269</span>   * @param logSeqNum         - log sequence number<a name="line.269"></a>
+<span class="sourceLineNo">270</span>   * @param now               Time at which this edit was written.<a name="line.270"></a>
+<span class="sourceLineNo">271</span>   * @param clusterIds        the clusters that have consumed the change(used in Replication)<a name="line.271"></a>
+<span class="sourceLineNo">272</span>   */<a name="line.272"></a>
+<span class="sourceLineNo">273</span>  // TODO: Fix being able to pass in sequenceid.<a name="line.273"></a>
+<span class="sourceLineNo">274</span>  public WALKey(final byte[] encodedRegionName,<a name="line.274"></a>
+<span class="sourceLineNo">275</span>                final TableName tablename,<a name="line.275"></a>
+<span class="sourceLineNo">276</span>                long logSeqNum,<a name="line.276"></a>
+<span class="sourceLineNo">277</span>                final long now,<a name="line.277"></a>
+<span class="sourceLineNo">278</span>                List&lt;UUID&gt; clusterIds,<a name="line.278"></a>
+<span class="sourceLineNo">279</span>                long nonceGroup,<a name="line.279"></a>
+<span class="sourceLineNo">280</span>                long nonce,<a name="line.280"></a>
+<span class="sourceLineNo">281</span>                MultiVersionConcurrencyControl mvcc) {<a name="line.281"></a>
+<span class="sourceLineNo">282</span>    init(encodedRegionName, tablename, logSeqNum, now, clusterIds, nonceGroup, nonce, mvcc);<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>   * Create the log key for writing to somewhere.<a name="line.286"></a>
+<span class="sourceLineNo">287</span>   * We maintain the tablename mainly for debugging purposes.<a name="line.287"></a>
+<span class="sourceLineNo">288</span>   * A regionName is always a sub-table object.<a name="line.288"></a>
+<span class="sourceLineNo">289</span>   *<a name="line.289"></a>
+<span class="sourceLineNo">290</span>   * @param encodedRegionName Encoded name of the region as returned by<a name="line.290"></a>
+<span class="sourceLineNo">291</span>   *                          &lt;code&gt;HRegionInfo#getEncodedNameAsBytes()&lt;/code&gt;.<a name="line.291"></a>
+<span class="sourceLineNo">292</span>   * @param tablename<a name="line.292"></a>
+<span class="sourceLineNo">293</span>   * @param now               Time at which this edit was written.<a name="line.293"></a>
+<span class="sourceLineNo">294</span>   * @param clusterIds        the clusters that have consumed the change(used in Replication)<a name="line.294"></a>
+<span class="sourceLineNo">295</span>   * @param nonceGroup<a name="line.295"></a>
+<span class="sourceLineNo">296</span>   * @param nonce<a name="line.296"></a>
+<span class="sourceLineNo">297</span>   * @param mvcc mvcc control used to generate sequence numbers and control read/write points<a name="line.297"></a>
+<span class="sourceLineNo">298</span>   */<a name="line.298"></a>
+<span class="sourceLineNo">299</span>  public WALKey(final byte[] encodedRegionName, final TableName tablename,<a name="line.299"></a>
+<span class="sourceLineNo">300</span>                final long now, List&lt;UUID&gt; clusterIds, long nonceGroup,<a name="line.300"></a>
+<span class="sourceLineNo">301</span>                final long nonce, final MultiVersionConcurrencyControl mvcc) {<a name="line.301"></a>
+<span class="sourceLineNo">302</span>    init(encodedRegionName, tablename, NO_SEQUENCE_ID, now, clusterIds, nonceGroup, nonce, mvcc);<a name="line.302"></a>
+<span class="sourceLineNo">303</span>  }<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span>  /**<a name="line.305"></a>
+<span class="sourceLineNo">306</span>   * Create the log key for writing to somewhere.<a name="line.306"></a>
+<span class="sourceLineNo">307</span>   * We maintain the tablename mainly for debugging purposes.<a name="line.307"></a>
+<span class="sourceLineNo">308</span>   * A regionName is always a sub-table object.<a name="line.308"></a>
+<span class="sourceLineNo">309</span>   *<a name="line.309"></a>
+<span class="sourceLineNo">310</span>   * @param encodedRegionName Encoded name of the region as returned by<a name="line.310"></a>
+<span class="sourceLineNo">311</span>   *                          &lt;code&gt;HRegionInfo#getEncodedNameAsBytes()&lt;/code&gt;.<a name="line.311"></a>
+<span class="sourceLineNo">312</span>   * @param tablename<a name="line.312"></a>
+<span class="sourceLineNo">313</span>   * @param logSeqNum<a name="line.313"></a>
+<span class="sourceLineNo">314</span>   * @param nonceGroup<a name="line.314"></a>
+<span class="sourceLineNo">315</span>   * @param nonce<a name="line.315"></a>
+<span class="sourceLineNo">316</span>   */<a name="line.316"></a>
+<span class="sourceLineNo">317</span>  // TODO: Fix being able to pass in sequenceid.<a name="line.317"></a>
+<span class="sourceLineNo">318</span>  public WALKey(final byte[] encodedRegionName,<a name="line.318"></a>
+<span class="sourceLineNo">319</span>                final TableName tablename,<a name="line.319"></a>
+<span class="sourceLineNo">320</span>                long logSeqNum,<a name="line.320"></a>
+<span class="sourceLineNo">321</span>                long nonceGroup,<a name="line.321"></a>
+<span class="sourceLineNo">322</span>                long nonce,<a name="line.322"></a>
+<span class="sourceLineNo">323</span>                final MultiVersionConcurrencyControl mvcc) {<a name="line.323"></a>
+<span class="sourceLineNo">324</span>    init(encodedRegionName,<a name="line.324"></a>
+<span class="sourceLineNo">325</span>        tablename,<a name="line.325"></a>
+<span class="sourceLineNo">326</span>        logSeqNum,<a name="line.326"></a>
+<span class="sourceLineNo">327</span>        EnvironmentEdgeManager.currentTime(),<a name="line.327"></a>
+<span class="sourceLineNo">328</span>        EMPTY_UUIDS,<a name="line.328"></a>
+<span class="sourceLineNo">329</span>        nonceGroup,<a name="line.329"></a>
+<span class="sourceLineNo">330</span>        nonce,<a name="line.330"></a>
+<span class="sourceLineNo">331</span>        mvcc);<a name="line.331"></a>
+<span class="sourceLineNo">332</span>  }<a name="line.332"></a>
+<span class="sourceLineNo">333</span><a name="line.333"></a>
+<span class="sourceLineNo">334</span>  @InterfaceAudience.Private<a name="line.334"></a>
+<span class="sourceLineNo">335</span>  protected void init(final byte[] encodedRegionName,<a name="line.335"></a>
+<span class="sourceLineNo">336</span>                      final TableName tablename,<a name="line.336"></a>
+<span class="sourceLineNo">337</span>                      long logSeqNum,<a name="line.337"></a>
+<span class="sourceLineNo">338</span>                      final long now,<a name="line.338"></a>
+<span class="sourceLineNo">339</span>                      List&lt;UUID&gt; clusterIds,<a name="line.339"></a>
+<span class="sourceLineNo">340</span>                      long nonceGroup,<a name="line.340"></a>
+<span class="sourceLineNo">341</span>                      long nonce,<a name="line.341"></a>
+<span class="sourceLineNo">342</span>                      MultiVersionConcurrencyControl mvcc) {<a name="line.342"></a>
+<span class="sourceLineNo">343</span>    this.sequenceId = logSeqNum;<a name="line.343"></a>
+<span class="sourceLineNo">344</span>    this.writeTime = now;<a name="line.344"></a>
+<span class="sourceLineNo">345</span>    this.clusterIds = clusterIds;<a name="line.345"></a>
+<span class="sourceLineNo">346</span>    this.encodedRegionName = encodedRegionName;<a name="line.346"></a>
+<span class="sourceLineNo">347</span>    this.tablename = tablename;<a name="line.347"></a>
+<span class="sourceLineNo">348</span>    this.nonceGroup = nonceGroup;<a name="line.348"></a>
+<span class="sourceLineNo">349</span>    this.nonce = nonce;<a name="line.349"></a>
+<span class="sourceLineNo">350</span>    this.mvcc = mvcc;<a name="line.350"></a>
+<span class="sourceLineNo">351</span>    if (logSeqNum != NO_SEQUENCE_ID) {<a name="line.351"></a>
+<span class="sourceLineNo">352</span>      setSequenceId(logSeqNum);<a name="line.352"></a>
+<span class="sourceLineNo">353</span>    }<a name="line.353"></a>
+<span class="sourceLineNo">354</span>  }<a name="line.354"></a>
+<span class="sourceLineNo">355</span><a name="line.355"></a>
+<span class="sourceLineNo">356</span>  // For HLogKey and deserialization. DO NOT USE. See setWriteEntry below.<a name="line.356"></a>
+<span class="sourceLineNo">357</span>  @InterfaceAudience.Private<a name="line.357"></a>
+<span class="sourceLineNo">358</span>  protected void setSequenceId(long sequenceId) {<a name="line.358"></a>
+<span class="sourceLineNo">359</span>    this.sequenceId = sequenceId;<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>  /**<a name="line.362"></a>
+<span class="sourceLineNo">363</span>   * @param compressionContext Compression context to use<a name="line.363"></a>
 <span class="sourceLineNo">364</span>   */<a name="line.364"></a>
-<span class="sourceLineNo">365</span>  @InterfaceAudience.Private<a name="line.365"></a>
-<span class="sourceLineNo">366</span>  public void setLogSeqNum(final long sequence) {<a name="line.366"></a>
-<span class="sourceLineNo">367</span>    this.logSeqNum = sequence;<a name="line.367"></a>
+<span class="sourceLineNo">365</span>  public void setCompressionContext(CompressionContext compressionContext) {<a name="line.365"></a>
+<span class="sourceLineNo">366</span>    this.compressionContext = compressionContext;<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><a name="line.370"></a>
-<span class="sourceLineNo">371</span>  /**<a name="line.371"></a>
-<span class="sourceLineNo">372</span>   * Used to set original seq Id for WALKey during wal replay<a name="line.372"></a>
-<span class="sourceLineNo">373</span>   * @param seqId<a name="line.373"></a>
-<span class="sourceLineNo">374</span>   */<a name="line.374"></a>
-<span class="sourceLineNo">375</span>  public void setOrigLogSeqNum(final long seqId) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>    this.origLogSeqNum = seqId;<a name="line.376"></a>
+<span class="sourceLineNo">369</span>  /** @return encoded region name */<a name="line.369"></a>
+<span class="sourceLineNo">370</span>  public byte [] getEncodedRegionName() {<a name="line.370"></a>
+<span class="sourceLineNo">371</span>    return encodedRegionName;<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>  /** @return table name */<a name="line.374"></a>
+<span class="sourceLineNo">375</span>  public TableName getTablename() {<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    return tablename;<a name="line.376"></a>
 <span class="sourceLineNo">377</span>  }<a name="line.377"></a>
-<span class="sourceLineNo">378</span>  <a name="line.378"></a>
-<span class="sourceLineNo">379</span>  /**<a name="line.379"></a>
-<span class="sourceLineNo">380</span>   * Return a positive long if current WALKey is created from a replay edit<a name="line.380"></a>
-<span class="sourceLineNo">381</span>   * @return original sequence number of the WALEdit<a name="line.381"></a>
-<span class="sourceLineNo">382</span>   */<a name="line.382"></a>
-<span class="sourceLineNo">383</span>  public long getOrigLogSeqNum() {<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    return this.origLogSeqNum;<a name="line.384"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>  /** @return log sequence number<a name="line.379"></a>
+<span class="sourceLineNo">380</span>   * @deprecated Use {@link #getSequenceId()}<a name="line.380"></a>
+<span class="sourceLineNo">381</span>   */<a name="line.381"></a>
+<span class="sourceLineNo">382</span>  @Deprecated<a name="line.382"></a>
+<span class="sourceLineNo">383</span>  public long getLogSeqNum() {<a name="line.383"></a>
+<span class="sourceLineNo">384</span>    return getSequenceId();<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">386</span><a name="line.386"></a>
 <span class="sourceLineNo">387</span>  /**<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * Wait for sequence number to be assigned &amp;amp; return the assigned value<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   * @return long the new assigned sequence number<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   * @throws IOException<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 long getSequenceId() throws IOException {<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    return getSequenceId(-1);<a name="line.394"></a>
-<span class="sourceLineNo">395</span>  }<a name="line.395"></a>
-<span class="sourceLineNo">396</span><a name="line.396"></a>
-<span class="sourceLineNo">397</span>  /**<a name="line.397"></a>
-<span class="sourceLineNo">398</span>   * Wait for sequence number to be assigned &amp;amp; return the assigned value.<a name="line.398"></a>
-<span class="sourceLineNo">399</span>   * @param maxWaitForSeqId maximum time to wait in milliseconds for sequenceid<a name="line.399"></a>
-<span class="sourceLineNo">400</span>   * @return long the new assigned sequence number<a name="line.400"></a>
-<span class="sourceLineNo">401</span>   * @throws IOException<a name="line.401"></a>
-<span class="sourceLineNo">402</span>   */<a name="line.402"></a>
-<span class="sourceLineNo">403</span>  public long getSequenceId(final long maxWaitForSeqId) throws IOException {<a name="line.403"></a>
-<span class="sourceLineNo">404</span>    // TODO: This implementation waiting on a latch is problematic because if a higher level<a name="line.404"></a>
-<span class="sourceLineNo">405</span>    // determines we should stop or abort, there is no global list of all these blocked WALKeys<a name="line.405"></a>
-<span class="sourceLineNo">406</span>    // waiting on a sequence id; they can't be cancelled... interrupted. See getNextSequenceId.<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    //<a name="line.407"></a>
-<span class="sourceLineNo">408</span>    // UPDATE: I think we can remove the timeout now we are stamping all walkeys with sequenceid,<a name="line.408"></a>
-<span class="sourceLineNo">409</span>    // even those that have failed (previously we were not... so they would just hang out...).<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    // St.Ack 20150910<a name="line.410"></a>
-<span class="sourceLineNo">411</span>    try {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      if (maxWaitForSeqId &lt; 0) {<a name="line.412"></a>
-<span class="sourceLineNo">413</span>        this.seqNumAssignedLatch.await();<a name="line.413"></a>
-<span class="sourceLineNo">414</span>      } else if (!this.seqNumAssignedLatch.await(maxWaitForSeqId, TimeUnit.MILLISECONDS)) {<a name="line.414"></a>
-<span class="sourceLineNo">415</span>        throw new TimeoutIOException("Failed to get sequenceid after " + maxWaitForSeqId +<a name="line.415"></a>
-<span class="sourceLineNo">416</span>          "ms; WAL system stuck or has gone away?");<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      }<a name="line.417"></a>
-<span class="sourceLineNo">418</span>    } catch (InterruptedException ie) {<a name="line.418"></a>
-<span class="sourceLineNo">419</span>      LOG.warn("Thread interrupted waiting for next log sequence number");<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      InterruptedIOException iie = new InterruptedIOException();<a name="line.420"></a>
-<span class="sourceLineNo">421</span>      iie.initCause(ie);<a name="line.421"></a>
-<span class="sourceLineNo">422</span>      throw iie;<a name="line.422"></a>
-<span class="sourceLineNo">423</span>    }<a name="line.423"></a>
-<span class="sourceLineNo">424</span>    return this.logSeqNum;<a name="line.424"></a>
-<span class="sourceLineNo">425</span>  }<a name="line.425"></a>
-<span class="sourceLineNo">426</span><a name="line.426"></a>
-<span class="sourceLineNo">427</span>  /**<a name="line.427"></a>
-<span class="sourceLineNo">428</span>   * @return the write time<a name="line.428"></a>
-<span class="sourceLineNo">429</span>   */<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  public long getWriteTime() {<a name="line.430"></a>
-<span class="sourceLineNo">431</span>    return this.writeTime;<a name="line.431"></a>
-<span class="sourceLineNo">432</span>  }<a name="line.432"></a>
-<span class="sourceLineNo">433</span><a name="line.433"></a>
-<span class="sourceLineNo">434</span>  public NavigableMap&lt;byte[], Integer&gt; getScopes() {<a name="line.434"></a>
-<span class="sourceLineNo">435</span>    return scopes;<a name="line.435"></a>
-<span class="sourceLineNo">436</span>  }<a name="line.436"></a>
-<span class="sourceLineNo">437</span><a name="line.437"></a>
-<span class="sourceLineNo">438</span>  /** @return The nonce group */<a name="line.438"></a>
-<span class="sourceLineNo">439</span>  public long getNonceGroup() {<a name="line.439"></a>
-<span class="sourceLineNo">440</span>    return nonceGroup;<a name="line.440"></a>
-<span class="sourceLineNo">441</span>  }<a name="line.441"></a>
-<span class="sourceLineNo">442</span><a name="line.442"></a>
-<span class="sourceLineNo">443</span>  /** @return The nonce */<a name="line.443"></a>
-<span class="sourceLineNo">444</span>  public long getNonce() {<a name="line.444"></a>
-<span class="sourceLineNo">445</span>    return nonce;<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>  public void setScopes(NavigableMap&lt;byte[], Integer&gt; scopes) {<a name="line.448"></a>
-<span class="sourceLineNo">449</span>    this.scopes = scopes;<a name="line.449"></a>
-<span class="sourceLineNo">450</span>  }<a name="line.450"></a>
-<span class="sourceLineNo">451</span><a name="line.451"></a>
-<span class="sourceLineNo">452</span>  public void readOlderScopes(NavigableMap&lt;byte[], Integer&gt; scopes) {<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    if (scopes != null) {<a name="line.453"></a>
-<span class="sourceLineNo">454</span>      Iterator&lt;Map.Entry&lt;byte[], Integer&gt;&gt; iterator = scopes.entrySet()<a name="line.454"></a>
-<span class="sourceLineNo">455</span>          .iterator();<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      while (iterator.hasNext()) {<a name="line.456"></a>
-<span class="sourceLineNo">457</span>        Map.Entry&lt;byte[], Integer&gt; scope = iterator.next();<a name="line.457"></a>
-<span class="sourceLineNo">458</span>        String key = Bytes.toString(scope.getKey());<a name="line.458"></a>
-<span class="sourceLineNo">459</span>        if (key.startsWith(PREFIX_CLUSTER_KEY)) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span>          addClusterId(UUID.fromString(key.substring(PREFIX_CLUSTER_KEY<a name="line.460"></a>
-<span class="sourceLineNo">461</span>              .length())));<a name="line.461"></a>
-<span class="sourceLineNo">462</span>          iterator.remove();<a name="line.462"></a>
-<span class="sourceLineNo">463</span>        }<a name="line.463"></a>
-<span class="sourceLineNo">464</span>      }<a name="line.464"></a>
-<span class="sourceLineNo">465</span>      if (scopes.size() &gt; 0) {<a name="line.465"></a>
-<span class="sourceLineNo">466</span>        this.scopes = scopes;<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><a name="line.470"></a>
-<span class="sourceLineNo">471</span>  /**<a name="line.471"></a>
-<span class="sourceLineNo">472</span>   * Marks that the cluster with the given clusterId has consumed the change<a name="line.472"></a>
-<span class="sourceLineNo">473</span>   */<a name="line.473"></a>
-<span class="sourceLineNo">474</span>  public void addClusterId(UUID clusterId) {<a name="line.474"></a>
-<span class="sourceLineNo">475</span>    if (!clusterIds.contains(clusterId)) {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      clusterIds.add(clusterId);<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>  /**<a name="line.480"></a>
-<span class="sourceLineNo">481</span>   * @return the set of cluster Ids that have consumed the change<a name="line.481"></a>
-<span class="sourceLineNo">482</span>   */<a name="line.482"></a>
-<span class="sourceLineNo">483</span>  public List&lt;UUID&gt; getClusterIds() {<a name="line.483"></a>
-<span class="sourceLineNo">484</span>    return clusterIds;<a name="line.484"></a>
-<span class="sourceLineNo">485</span>  }<a name="line.485"></a>
-<span class="sourceLineNo">486</span><a name="line.486"></a>
-<span class="sourceLineNo">487</span>  /**<a name="line.487"></a>
-<span class="sourceLineNo">488</span>   * @return the cluster id on which the change has originated. It there is no such cluster, it<a name="line.488"></a>
-<span class="sourceLineNo">489</span>   *         returns DEFAULT_CLUSTER_ID (cases where replication is not enabled)<a name="line.489"></a>
-<span class="sourceLineNo">490</span>   */<a name="line.490"></a>
-<span class="sourceLineNo">491</span>  public UUID getOriginatingClusterId(){<a name="line.491"></a>
-<span class="sourceLineNo">492</span>    return clusterIds.isEmpty() ? HConstants.DEFAULT_CLUSTER_ID : clusterIds.get(0);<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>  @Override<a name="line.495"></a>
-<span class="sourceLineNo">496</span>  public String toString() {<a name="line.496"></a>
-<span class="sourceLineNo">497</span>    return tablename + "/" + Bytes.toString(encodedRegionName) + "/" +<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      logSeqNum;<a name="line.498"></a>
-<span class="sourceLineNo">499</span>  }<a name="line.499"></a>
-<span class="sourceLineNo">500</span><a name="line.500"></a>
-<span class="sourceLineNo">501</span>  /**<a name="line.501"></a>
-<span class="sourceLineNo">502</span>   * Produces a string map for this key. Useful for programmatic use and<a name="line.502"></a>
-<span class="sourceLineNo">503</span>   * manipulation of the data stored in an WALKey, for example, printing<a name="line.503"></a>
-<span class="sourceLineNo">504</span>   * as JSON.<a name="line.504"></a>
-<span class="sourceLineNo">505</span>   *<a name="line.505"></a>
-<span class="sourceLineNo">506</span>   * @return a Map containing data from this key<a name="line.506"></a>
-<span class="sourceLineNo">507</span>   */<a name="line.507"></a>
-<span class="sourceLineNo">508</span>  public Map&lt;String, Object&gt; toStringMap() {<a name="line.508"></a>
-<span class="sourceLineNo">509</span>    Map&lt;String, Object&gt; stringMap = new HashMap&lt;String, Object&gt;();<a name="line.509"></a>
-<span class="sourceLineNo">510</span>    stringMap.put("table", tablename);<a name="line.510"></a>
-<span class="sourceLineNo">511</span>    stringMap.put("region", Bytes.toStringBinary(encodedRegionName));<a name="line.511"></a>
-<span class="sourceLineNo">512</span>    stringMap.put("sequence", logSeqNum);<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    return stringMap;<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>  @Override<a name="line.516"></a>
-<span class="sourceLineNo">517</span>  public boolean equals(Object obj) {<a name="line.517"></a>
-<span class="sourceLineNo">518</span>    if (this == obj) {<a name="line.518"></a>
-<span class="sourceLineNo">519</span>      return true;<a name="line.519"></a>
-<span class="sourceLineNo">520</span>    }<a name="line.520"></a>
-<span class="sourceLineNo">521</span>    if (obj == null || getClass() != obj.getClass()) {<a name="line.521"></a>
-<span class="sourceLineNo">522</span>      return false;<a name="line.522"></a>
-<span class="sourceLineNo">523</span>    }<a name="line.523"></a>
-<span class="sourceLineNo">524</span>    return compareTo((WALKey)obj) == 0;<a name="line.524"></a>
-<span class="sourceLineNo">525</span>  }<a name="line.525"></a>
-<span class="sourceLineNo">526</span><a name="line.526"></a>
-<span class="sourceLineNo">527</span>  @Override<a name="line.527"></a>
-<span class="sourceLineNo">528</span>  public int hashCode() {<a name="line.528"></a>
-<span class="sourceLineNo">529</span>    int result = Bytes.hashCode(this.encodedRegionName);<a name="line.529"></a>
-<span class="sourceLineNo">530</span>    result ^= this.logSeqNum;<a name="line.530"></a>
-<span class="sourceLineNo">531</span>    result ^= this.writeTime;<a name="line.531"></a>
-<span class="sourceLineNo">532</span>    return result;<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 int compareTo(WALKey o) {<a name="line.536"></a>
-<span class="sourceLineNo">537</span>    int result = Bytes.compareTo(this.encodedRegionName, o.encodedRegionName);<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    if (result == 0) {<a name="line.538"></a>
-<span class="sourceLineNo">539</span>      if (this.logSeqNum &lt; o.logSeqNum) {<a name="line.539"></a>
-<span class="sourceLineNo">540</span>        result = -1;<a name="line.540"></a>
-<span class="sourceLineNo">541</span>      } else if (this.logSeqNum  &gt; o.logSeqNum) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>        result = 1;<a name="line.542"></a>
-<span class="sourceLineNo">543</span>      }<a name="line.543"></a>
-<span class="sourceLineNo">544</span>      if (result == 0) {<a name="line.544"></a>
-<span class="sourceLineNo">545</span>        if (this.writeTime &lt; o.writeTime) {<a name="line.545"></a>
-<span class="sourceLineNo">546</span>          result = -1;<a name="line.546"></a>
-<span class="sourceLineNo">547</span>        } else if (this.writeTime &gt; o.writeTime) {<a name="line.547"></a>
-<span class="sourceLineNo">548</span>          return 1;<a name="line.548"></a>
-<span class="sourceLineNo">549</span>        }<a name="line.549"></a>
-<span class="sourceLineNo">550</span>      }<a name="line.550"></a>
-<span class="sourceLineNo">551</span>    }<a name="line.551"></a>
-<span class="sourceLineNo">552</span>    // why isn't cluster id accounted for?<a name="line.552"></a>
-<span class="sourceLineNo">553</span>    return result;<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>  /**<a name="line.556"></a>
-<span class="sourceLineNo">557</span>   * Drop this instance's tablename byte array and instead<a name="line.557"></a>
-<span class="sourceLineNo">558</span>   * hold a reference to the provided tablename. This is not<a name="line.558"></a>
-<span class="sourceLineNo">559</span>   * meant to be a general purpose setter - it's only used<a name="line.559"></a>
-<span class="sourceLineNo">560</span>   * to collapse references to conserve memory.<a name="line.560"></a>
-<span class="sourceLineNo">561</span>   */<a name="line.561"></a>
-<span class="sourceLineNo">562</span>  void internTableName(TableName tablename) {<a name="line.562"></a>
-<span class="sourceLineNo">563</span>    // We should not use this as a setter - only to swap<a name="line.563"></a>
-<span class="sourceLineNo">564</span>    // in a new reference to the same table name.<a name="line.564"></a>
-<span class="sourceLineNo">565</span>    assert tablename.equals(this.tablename);<a name="line.565"></a>
-<span class="sourceLineNo">566</span>    this.tablename = tablename;<a name="line.566"></a>
-<span class="sourceLineNo">567</span>  }<a name="line.567"></a>
-<span class="sourceLineNo">568</span><a name="line.568"></a>
-<span class="sourceLineNo">569</span>  /**<a name="line.569"></a>
-<span class="sourceLineNo">570</span>   * Drop this instance's region name byte array and instead<a name="line.570"></a>
-<span class="sourceLineNo">571</span>   * hold a reference to the provided region name. This is not<a name="line.571"></a>
-<span class="sourceLineNo">572</span>   * meant to be a general purpose setter - it's only used<a name="line.572"></a>
-<span class="sourceLineNo">573</span>   * to collapse references to conserve memory.<a name="line.573"></a>
-<span class="sourceLineNo">574</span>   */<a name="line.574"></a>
-<span class="sourceLineNo">575</span>  void internEncodedRegionName(byte []encodedRegionName) {<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    // We should not use this as a setter - only to swap<a name="line.576"></a>
-<span class="sourceLineNo">577</span>    // in a new reference to the same table name.<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    assert Bytes.equals(this.encodedRegionName, encodedRegionName);<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    this.encodedRegionName = encodedRegionName;<a name="line.579"></a>
-<span class="sourceLineNo">580</span>  }<a name="line.580"></a>
-<span class="sourceLineNo">581</span><a name="line.581"></a>
-<span class="sourceLineNo">582</span>  public org.apache.hadoop.hbase.protobuf.generated.WALProtos.WALKey.Builder getBuilder(<a name="line.582"></a>
-<span class="sourceLineNo">583</span>      WALCellCodec.ByteStringCompressor compressor) throws IOException {<a name="line.583"></a>
-<span class="sourceLineNo">584</span>    org.apache.hadoop.hbase.protobuf.generated.WALProtos.WALKey.Builder builder =<a name="line.584"></a>
-<span class="sourceLineNo">585</span>        org.apache.hadoop.hbase.protobuf.generated.WALProtos.WALKey.newBuilder();<a name="line.585"></a>
-<span class="sourceLineNo">586</span>    if (compressionContext == null) {<a name="line.586"></a>
-<span class="sourceLineNo">587</span>      builder.setEncodedRegionName(ByteStringer.wrap(this.encodedRegionName));<a name="line.587"></a>
-<span class="sourceLineNo">588</span>      builder.setTableName(ByteStringer.wrap(this.tablename.getName()));<a name="line.588"></a>
-<span class="sourceLineNo">589</span>    } else {<a name="line.589"></a>
-<span class="sourceLineNo">590</span>      builder.setEncodedRegionName(compressor.compress(this.encodedRegionName,<a name="line.590"></a>
-<span class="sourceLineNo">591</span>          compressionContext.regionDict));<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      builder.setTableName(compressor.compress(this.tablename.getName(),<a name="line.592"></a>
-<span class="sourceLineNo">593</span>          compressionContext.tableDict));<a name="line.593"></a>
+<span class="sourceLineNo">388</span>   * Used to set original sequenceId for WALKey during WAL replay<a name="line.388"></a>
+<span class="sourceLineNo">389</span>   */<a name="line.389"></a>
+<span class="sourceLineNo">390</span>  public void setOrigLogSeqNum(final long sequenceId) {<a name="line.390"></a>
+<span class="sourceLineNo">391</span>    this.origLogSeqNum = sequenceId;<a name="line.391"></a>
+<span class="sourceLineNo">392</span>  }<a name="line.392"></a>
+<span class="sourceLineNo">393</span>  <a name="line.393"></a>
+<span class="sourceLineNo">394</span>  /**<a name="line.394"></a>
+<span class="sourceLineNo">395</span>   * Return a positive long if current WALKey is created from a replay edit; a replay edit is an<a name="line.395"></a>
+<span class="sourceLineNo">396</span>   * edit that came in when replaying WALs of a crashed server.<a name="line.396"></a>
+<span class="sourceLineNo">397</span>   * @return original sequence number of the WALEdit<a name="line.397"></a>
+<span class="sourceLineNo">398</span>   */<a name="line.398"></a>
+<span class="sourceLineNo">399</span>  public long getOrigLogSeqNum() {<a name="line.399"></a>
+<span class="sourceLineNo">400</span>    return this.origLogSeqNum;<a name="line.400"></a>
+<span class="sourceLineNo">401</span>  }<a name="line.401"></a>
+<span class="sourceLineNo">402</span>  <a name="line.402"></a>
+<span class="sourceLineNo">403</span>  /**<a name="line.403"></a>
+<span class="sourceLineNo">404</span>   * SequenceId is only available post WAL-assign. Calls before this will get you a<a name="line.404"></a>
+<span class="sourceLineNo">405</span>   * {@link #NO_SEQUENCE_ID}. See the comment on FSHLog#append and #getWriteNumber in this method<a name="line.405"></a>
+<span class="sourceLineNo">406</span>   * for more on when this sequence

<TRUNCATED>

[40/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/org/apache/hadoop/hbase/class-use/TableName.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/class-use/TableName.html b/devapidocs/org/apache/hadoop/hbase/class-use/TableName.html
index 4aeda06..6553f59 100644
--- a/devapidocs/org/apache/hadoop/hbase/class-use/TableName.html
+++ b/devapidocs/org/apache/hadoop/hbase/class-use/TableName.html
@@ -961,6 +961,16 @@ service.</div>
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><code>(package private) boolean</code></td>
+<td class="colLast"><span class="strong">HTableMultiplexer.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html#_put(org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.client.Put,%20int,%20boolean)">_put</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+        <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put,
+        int&nbsp;maxAttempts,
+        boolean&nbsp;reloadCache)</code>
+<div class="block">Internal "put" which exposes a boolean flag to control whether or not the region location
+ cache should be reloaded when trying to queue the <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Put</code></a>.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">HBaseAdmin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#addColumn(org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HColumnDescriptor)">addColumn</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                   <a href="../../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>&nbsp;columnFamily)</code>
@@ -970,7 +980,7 @@ service.</div>
 </div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">Admin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#addColumn(org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HColumnDescriptor)">addColumn</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                   <a href="../../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>&nbsp;columnFamily)</code>
@@ -982,33 +992,33 @@ service.</div>
 </div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><span class="strong">HBaseAdmin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#addColumnFamily(org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HColumnDescriptor)">addColumnFamily</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                               <a href="../../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>&nbsp;columnFamily)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><span class="strong">Admin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#addColumnFamily(org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HColumnDescriptor)">addColumnFamily</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                               <a href="../../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>&nbsp;columnFamily)</code>
 <div class="block">Add a column family to an existing table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><span class="strong">ConnectionImplementation.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionImplementation.html#cacheLocation(org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.RegionLocations)">cacheLocation</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                           <a href="../../../../../org/apache/hadoop/hbase/RegionLocations.html" title="class in org.apache.hadoop.hbase">RegionLocations</a>&nbsp;location)</code>
 <div class="block">Put a newly discovered HRegionLocation into the cache.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">MetaCache.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/MetaCache.html#cacheLocation(org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.RegionLocations)">cacheLocation</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                           <a href="../../../../../org/apache/hadoop/hbase/RegionLocations.html" title="class in org.apache.hadoop.hbase">RegionLocations</a>&nbsp;locations)</code>
 <div class="block">Put a newly discovered HRegionLocation into the cache.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><span class="strong">ConnectionImplementation.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionImplementation.html#cacheLocation(org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.ServerName,%20org.apache.hadoop.hbase.HRegionLocation)">cacheLocation</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                           <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;source,
@@ -1016,7 +1026,7 @@ service.</div>
 <div class="block">Put a newly discovered HRegionLocation into the cache.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">MetaCache.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/MetaCache.html#cacheLocation(org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.ServerName,%20org.apache.hadoop.hbase.HRegionLocation)">cacheLocation</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                           <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;source,
@@ -1024,26 +1034,26 @@ service.</div>
 <div class="block">Put a newly discovered HRegionLocation into the cache.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a></code></td>
 <td class="colLast"><span class="strong">HBaseAdmin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#checkTableExists(org.apache.hadoop.hbase.TableName)">checkTableExists</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Check if table exists or not</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">MetaCache.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/MetaCache.html#clearCache(org.apache.hadoop.hbase.TableName)">clearCache</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Delete all cached entries of a table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">MetaCache.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/MetaCache.html#clearCache(org.apache.hadoop.hbase.TableName,%20byte[])">clearCache</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                     byte[]&nbsp;row)</code>
 <div class="block">Delete a cached location, no matter what it is.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">MetaCache.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/MetaCache.html#clearCache(org.apache.hadoop.hbase.TableName,%20byte[],%20int)">clearCache</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                     byte[]&nbsp;row,
@@ -1051,7 +1061,7 @@ service.</div>
 <div class="block">Delete a cached location, no matter what it is.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">MetaCache.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/MetaCache.html#clearCache(org.apache.hadoop.hbase.TableName,%20byte[],%20org.apache.hadoop.hbase.ServerName)">clearCache</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                     byte[]&nbsp;row,
@@ -1059,11 +1069,11 @@ service.</div>
 <div class="block">Delete a cached location for a table, row and server</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">ConnectionImplementation.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionImplementation.html#clearRegionCache(org.apache.hadoop.hbase.TableName)">clearRegionCache</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">HConnection.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HConnection.html#clearRegionCache(org.apache.hadoop.hbase.TableName)">clearRegionCache</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block"><strong>Deprecated.</strong>&nbsp;
@@ -1071,83 +1081,83 @@ service.</div>
 </div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">ClusterConnection.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html#clearRegionCache(org.apache.hadoop.hbase.TableName)">clearRegionCache</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Allows flushing the region cache of all locations that pertain to
  <code>tableName</code></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">ConnectionImplementation.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionImplementation.html#clearRegionCache(org.apache.hadoop.hbase.TableName,%20byte[])">clearRegionCache</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                 byte[]&nbsp;row)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">HBaseAdmin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#cloneSnapshot(byte[],%20org.apache.hadoop.hbase.TableName)">cloneSnapshot</a></strong>(byte[]&nbsp;snapshotName,
                           <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">Admin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#cloneSnapshot(byte[],%20org.apache.hadoop.hbase.TableName)">cloneSnapshot</a></strong>(byte[]&nbsp;snapshotName,
                           <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Create a new table by cloning the snapshot content.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">HBaseAdmin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#cloneSnapshot(java.lang.String,%20org.apache.hadoop.hbase.TableName)">cloneSnapshot</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;snapshotName,
                           <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">Admin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#cloneSnapshot(java.lang.String,%20org.apache.hadoop.hbase.TableName)">cloneSnapshot</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;snapshotName,
                           <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Create a new table by cloning the snapshot content.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">HBaseAdmin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#compact(org.apache.hadoop.hbase.TableName)">compact</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Compact a table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">Admin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#compact(org.apache.hadoop.hbase.TableName)">compact</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Compact a table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">HBaseAdmin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#compact(org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.client.Admin.CompactType)">compact</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
               <a href="../../../../../org/apache/hadoop/hbase/client/Admin.CompactType.html" title="enum in org.apache.hadoop.hbase.client">Admin.CompactType</a>&nbsp;compactType)</code>
 <div class="block">Compact a table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">Admin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#compact(org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.client.Admin.CompactType)">compact</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
               <a href="../../../../../org/apache/hadoop/hbase/client/Admin.CompactType.html" title="enum in org.apache.hadoop.hbase.client">Admin.CompactType</a>&nbsp;compactType)</code>
 <div class="block">Compact a table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">HBaseAdmin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#compact(org.apache.hadoop.hbase.TableName,%20byte[])">compact</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
               byte[]&nbsp;columnFamily)</code>
 <div class="block">Compact a column family within a table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">Admin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#compact(org.apache.hadoop.hbase.TableName,%20byte[])">compact</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
               byte[]&nbsp;columnFamily)</code>
 <div class="block">Compact a column family within a table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">HBaseAdmin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#compact(org.apache.hadoop.hbase.TableName,%20byte[],%20org.apache.hadoop.hbase.client.Admin.CompactType)">compact</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
               byte[]&nbsp;columnFamily,
@@ -1155,7 +1165,7 @@ service.</div>
 <div class="block">Compact a column family within a table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">Admin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#compact(org.apache.hadoop.hbase.TableName,%20byte[],%20org.apache.hadoop.hbase.client.Admin.CompactType)">compact</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
               byte[]&nbsp;columnFamily,
@@ -1163,7 +1173,7 @@ service.</div>
 <div class="block">Compact a column family within a table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><span class="strong">HBaseAdmin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#compact(org.apache.hadoop.hbase.TableName,%20byte[],%20boolean,%20org.apache.hadoop.hbase.client.Admin.CompactType)">compact</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
               byte[]&nbsp;columnFamily,
@@ -1172,14 +1182,14 @@ service.</div>
 <div class="block">Compact a table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/client/TableState.html" title="class in org.apache.hadoop.hbase.client">TableState</a></code></td>
 <td class="colLast"><span class="strong">TableState.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/TableState.html#convert(org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.TableState)">convert</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
               org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.TableState&nbsp;tableState)</code>
 <div class="block">Covert from PB version of TableState</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected &lt;CResult&gt;&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncProcess.AsyncRequestFutureImpl.html" title="class in org.apache.hadoop.hbase.client">AsyncProcess.AsyncRequestFutureImpl</a>&lt;CResult&gt;</code></td>
 <td class="colLast"><span class="strong">AsyncProcess.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/AsyncProcess.html#createAsyncRequestFuture(org.apache.hadoop.hbase.TableName,%20java.util.List,%20long,%20java.util.concurrent.ExecutorService,%20org.apache.hadoop.hbase.client.coprocessor.Batch.Callback,%20java.lang.Object[],%20boolean)">createAsyncRequestFuture</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                                 <a href="http://docs.oracle.com/javase/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/client/Action.html" title="class in org.apache.hadoop.hbase.client">Action</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Row.html" title="interface in org.apache.hadoop.hbase.client">Row</a>&gt;&gt;&nbsp;actions,
@@ -1189,7 +1199,7 @@ service.</div>
                                                 <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;results,
                                                 boolean&nbsp;needResults)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/client/MultiServerCallable.html" title="class in org.apache.hadoop.hbase.client">MultiServerCallable</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Row.html" title="interface in org.apache.hadoop.hbase.client">Row</a>&gt;</code></td>
 <td class="colLast"><span class="strong">AsyncProcess.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/AsyncProcess.html#createCallable(org.apache.hadoop.hbase.ServerName,%20org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.client.MultiAction)">createCallable</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;server,
                             <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
@@ -1197,14 +1207,14 @@ service.</div>
 <div class="block">Create a callable.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client">Table</a></code></td>
 <td class="colLast"><span class="strong">HTableWrapper.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HTableWrapper.html#createWrapper(java.util.List,%20org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.coprocessor.CoprocessorHost.Environment,%20java.util.concurrent.ExecutorService)">createWrapper</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/client/Table.html" title="interface in org.apache.hadoop.hbase.client">Table</a>&gt;&nbsp;openTables,
                           <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                           <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.Environment.html" title="class in org.apache.hadoop.hbase.coprocessor">CoprocessorHost.Environment</a>&nbsp;env,
                           <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>&nbsp;pool)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">HBaseAdmin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#deleteColumn(org.apache.hadoop.hbase.TableName,%20byte[])">deleteColumn</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                         byte[]&nbsp;columnFamily)</code>
@@ -1214,7 +1224,7 @@ service.</div>
 </div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">Admin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#deleteColumn(org.apache.hadoop.hbase.TableName,%20byte[])">deleteColumn</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                         byte[]&nbsp;columnFamily)</code>
@@ -1226,125 +1236,125 @@ service.</div>
 </div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><span class="strong">HBaseAdmin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#deleteColumnFamily(org.apache.hadoop.hbase.TableName,%20byte[])">deleteColumnFamily</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                     byte[]&nbsp;columnFamily)</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/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><span class="strong">Admin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#deleteColumnFamily(org.apache.hadoop.hbase.TableName,%20byte[])">deleteColumnFamily</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                     byte[]&nbsp;columnFamily)</code>
 <div class="block">Delete a column family from a table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">HBaseAdmin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#deleteTable(org.apache.hadoop.hbase.TableName)">deleteTable</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">Admin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#deleteTable(org.apache.hadoop.hbase.TableName)">deleteTable</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Deletes a table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><span class="strong">HBaseAdmin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#deleteTableAsync(org.apache.hadoop.hbase.TableName)">deleteTableAsync</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><span class="strong">Admin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#deleteTableAsync(org.apache.hadoop.hbase.TableName)">deleteTableAsync</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Deletes the table but does not block and wait for it be completely removed.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">HBaseAdmin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#disableTable(org.apache.hadoop.hbase.TableName)">disableTable</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">Admin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#disableTable(org.apache.hadoop.hbase.TableName)">disableTable</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Disable table and wait on completion.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><span class="strong">HBaseAdmin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#disableTableAsync(org.apache.hadoop.hbase.TableName)">disableTableAsync</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><span class="strong">Admin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#disableTableAsync(org.apache.hadoop.hbase.TableName)">disableTableAsync</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Disable the table but does not block and wait for it be completely disabled.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">HBaseAdmin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#enableTable(org.apache.hadoop.hbase.TableName)">enableTable</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">Admin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#enableTable(org.apache.hadoop.hbase.TableName)">enableTable</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Enable a table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><span class="strong">HBaseAdmin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#enableTableAsync(org.apache.hadoop.hbase.TableName)">enableTableAsync</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><span class="strong">Admin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#enableTableAsync(org.apache.hadoop.hbase.TableName)">enableTableAsync</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Enable the table but does not block and wait for it be completely enabled.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">HBaseAdmin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#flush(org.apache.hadoop.hbase.TableName)">flush</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">Admin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#flush(org.apache.hadoop.hbase.TableName)">flush</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Flush a table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&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"><span class="strong">HBaseAdmin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#getAlterStatus(org.apache.hadoop.hbase.TableName)">getAlterStatus</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/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"><span class="strong">Admin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#getAlterStatus(org.apache.hadoop.hbase.TableName)">getAlterStatus</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Get the status of alter command - indicates how many regions have received the updated schema
  Asynchronous operation.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/BufferedMutator.html" title="interface in org.apache.hadoop.hbase.client">BufferedMutator</a></code></td>
 <td class="colLast"><span class="strong">ConnectionImplementation.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionImplementation.html#getBufferedMutator(org.apache.hadoop.hbase.TableName)">getBufferedMutator</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/BufferedMutator.html" title="interface in org.apache.hadoop.hbase.client">BufferedMutator</a></code></td>
 <td class="colLast"><span class="strong">Connection.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/Connection.html#getBufferedMutator(org.apache.hadoop.hbase.TableName)">getBufferedMutator</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">
  Retrieve a <a href="../../../../../org/apache/hadoop/hbase/client/BufferedMutator.html" title="interface in org.apache.hadoop.hbase.client"><code>BufferedMutator</code></a> for performing client-side buffering of writes.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/RegionLocations.html" title="class in org.apache.hadoop.hbase">RegionLocations</a></code></td>
 <td class="colLast"><span class="strong">ConnectionImplementation.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionImplementation.html#getCachedLocation(org.apache.hadoop.hbase.TableName,%20byte[])">getCachedLocation</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                   byte[]&nbsp;row)</code>
 <div class="block">Search the cache for a location that fits our table and row key.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/RegionLocations.html" title="class in org.apache.hadoop.hbase">RegionLocations</a></code></td>
 <td class="colLast"><span class="strong">MetaCache.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/MetaCache.html#getCachedLocation(org.apache.hadoop.hbase.TableName,%20byte[])">getCachedLocation</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                   byte[]&nbsp;row)</code>
 <div class="block">Search the cache for a location that fits our table and row key.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/ScannerCallableWithReplicas.html" title="class in org.apache.hadoop.hbase.client">ScannerCallableWithReplicas</a></code></td>
 <td class="colLast"><span class="strong">ClientSmallScanner.SmallScannerCallableFactory.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/ClientSmallScanner.SmallScannerCallableFactory.html#getCallable(org.apache.hadoop.hbase.client.ClusterConnection,%20org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.client.Scan,%20org.apache.hadoop.hbase.client.metrics.ScanMetrics,%20byte[],%20int,%20org.apache.hadoop.hbase.ipc.RpcControllerFactory,%20java.util.concurrent.ExecutorService,%20int,%20int,%20int,%20org.apache.hadoop.conf.Configuration,%20org.apache.hadoop.hbase.client.RpcRetryingCaller)">getCallable</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">ClusterConnection</a>&nbsp;connection,
                       <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
@@ -1360,31 +1370,31 @@ service.</div>
                       org.apache.hadoop.conf.Configuration&nbsp;conf,
                       <a href="../../../../../org/apache/hadoop/hbase/client/RpcRetryingCaller.html" title="interface in org.apache.hadoop.hbase.client">RpcRetryingCaller</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>[]&gt;&nbsp;caller)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState</code></td>
 <td class="colLast"><span class="strong">HBaseAdmin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#getCompactionState(org.apache.hadoop.hbase.TableName)">getCompactionState</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState</code></td>
 <td class="colLast"><span class="strong">Admin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#getCompactionState(org.apache.hadoop.hbase.TableName)">getCompactionState</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Get the current compaction state of a table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState</code></td>
 <td class="colLast"><span class="strong">HBaseAdmin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#getCompactionState(org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.client.Admin.CompactType)">getCompactionState</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                     <a href="../../../../../org/apache/hadoop/hbase/client/Admin.CompactType.html" title="enum in org.apache.hadoop.hbase.client">Admin.CompactType</a>&nbsp;compactType)</code>
 <div class="block">Get the current compaction state of a table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState</code></td>
 <td class="colLast"><span class="strong">Admin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#getCompactionState(org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.client.Admin.CompactType)">getCompactionState</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                     <a href="../../../../../org/apache/hadoop/hbase/client/Admin.CompactType.html" title="enum in org.apache.hadoop.hbase.client">Admin.CompactType</a>&nbsp;compactType)</code>
 <div class="block">Get the current compaction state of a table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><span class="strong">ConnectionImplementation.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionImplementation.html#getHTableDescriptor(org.apache.hadoop.hbase.TableName)">getHTableDescriptor</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block"><strong>Deprecated.</strong>&nbsp;
@@ -1393,7 +1403,7 @@ service.</div>
 </div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><span class="strong">HConnection.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HConnection.html#getHTableDescriptor(org.apache.hadoop.hbase.TableName)">getHTableDescriptor</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block"><strong>Deprecated.</strong>&nbsp;
@@ -1401,11 +1411,11 @@ service.</div>
 </div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><span class="strong">HBaseAdmin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#getLastMajorCompactionTimestamp(org.apache.hadoop.hbase.TableName)">getLastMajorCompactionTimestamp</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><span class="strong">Admin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#getLastMajorCompactionTimestamp(org.apache.hadoop.hbase.TableName)">getLastMajorCompactionTimestamp</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Get the timestamp of the last major compaction for the passed table
@@ -1414,21 +1424,21 @@ service.</div>
  or 0 if no such HFile could be found.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a></code></td>
 <td class="colLast"><span class="strong">HBaseAdmin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#getMobRegionInfo(org.apache.hadoop.hbase.TableName)">getMobRegionInfo</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) int</code></td>
 <td class="colLast"><span class="strong">ConnectionImplementation.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionImplementation.html#getNumberOfCachedRegionLocations(org.apache.hadoop.hbase.TableName)">getNumberOfCachedRegionLocations</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><span class="strong">MetaCache.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/MetaCache.html#getNumberOfCachedRegionLocations(org.apache.hadoop.hbase.TableName)">getNumberOfCachedRegionLocations</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Return the number of cached region for a table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">ConnectionImplementation.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionImplementation.html#getRegionCachePrefetch(org.apache.hadoop.hbase.TableName)">getRegionCachePrefetch</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block"><strong>Deprecated.</strong>&nbsp;
@@ -1436,7 +1446,7 @@ service.</div>
 </div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">HConnection.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HConnection.html#getRegionCachePrefetch(org.apache.hadoop.hbase.TableName)">getRegionCachePrefetch</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block"><strong>Deprecated.</strong>&nbsp;
@@ -1444,13 +1454,13 @@ service.</div>
 </div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a></code></td>
 <td class="colLast"><span class="strong">ConnectionImplementation.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionImplementation.html#getRegionLocation(org.apache.hadoop.hbase.TableName,%20byte[],%20boolean)">getRegionLocation</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                   byte[]&nbsp;row,
                                   boolean&nbsp;reload)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a></code></td>
 <td class="colLast"><span class="strong">HConnection.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HConnection.html#getRegionLocation(org.apache.hadoop.hbase.TableName,%20byte[],%20boolean)">getRegionLocation</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                   byte[]&nbsp;row,
@@ -1460,7 +1470,7 @@ service.</div>
 </div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a></code></td>
 <td class="colLast"><span class="strong">ClusterConnection.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html#getRegionLocation(org.apache.hadoop.hbase.TableName,%20byte[],%20boolean)">getRegionLocation</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                   byte[]&nbsp;row,
@@ -1468,7 +1478,7 @@ service.</div>
 <div class="block">Find region location hosting passed row</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) static <a href="../../../../../org/apache/hadoop/hbase/RegionLocations.html" title="class in org.apache.hadoop.hbase">RegionLocations</a></code></td>
 <td class="colLast"><span class="strong">RpcRetryingCallerWithReadReplicas.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/RpcRetryingCallerWithReadReplicas.html#getRegionLocations(boolean,%20int,%20org.apache.hadoop.hbase.client.ClusterConnection,%20org.apache.hadoop.hbase.TableName,%20byte[])">getRegionLocations</a></strong>(boolean&nbsp;useCache,
                                     int&nbsp;replicaId,
@@ -1476,7 +1486,7 @@ service.</div>
                                     <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                     byte[]&nbsp;row)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/RegionLocations.html" title="class in org.apache.hadoop.hbase">RegionLocations</a></code></td>
 <td class="colLast"><span class="strong">RegionAdminServiceCallable.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/RegionAdminServiceCallable.html#getRegionLocations(org.apache.hadoop.hbase.client.ClusterConnection,%20org.apache.hadoop.hbase.TableName,%20byte[],%20boolean,%20int)">getRegionLocations</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">ClusterConnection</a>&nbsp;connection,
                                     <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
@@ -1484,46 +1494,46 @@ service.</div>
                                     boolean&nbsp;useCache,
                                     int&nbsp;replicaId)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/RegionLocator.html" title="interface in org.apache.hadoop.hbase.client">RegionLocator</a></code></td>
 <td class="colLast"><span class="strong">ConnectionImplementation.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionImplementation.html#getRegionLocator(org.apache.hadoop.hbase.TableName)">getRegionLocator</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/RegionLocator.html" title="interface in org.apache.hadoop.hbase.client">RegionLocator</a></code></td>
 <td class="colLast"><span class="strong">HConnection.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HConnection.html#getRegionLocator(org.apache.hadoop.hbase.TableName)">getRegionLocator</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block"><strong>Deprecated.</strong>&nbsp;</div>
 <div class="block">Retrieve a RegionLocator implementation to inspect region information on a table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/RegionLocator.html" title="interface in org.apache.hadoop.hbase.client">RegionLocator</a></code></td>
 <td class="colLast"><span class="strong">Connection.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/Connection.html#getRegionLocator(org.apache.hadoop.hbase.TableName)">getRegionLocator</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Retrieve a RegionLocator implementation to inspect region information on a table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/HTableInterface.html" title="interface in org.apache.hadoop.hbase.client">HTableInterface</a></code></td>
 <td class="colLast"><span class="strong">ConnectionImplementation.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionImplementation.html#getTable(org.apache.hadoop.hbase.TableName)">getTable</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/HTableInterface.html" title="interface in org.apache.hadoop.hbase.client">HTableInterface</a></code></td>
 <td class="colLast"><span class="strong">HConnection.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HConnection.html#getTable(org.apache.hadoop.hbase.TableName)">getTable</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block"><strong>Deprecated.</strong>&nbsp;</div>
 <div class="block">Retrieve an HTableInterface implementation for access to a table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client">Table</a></code></td>
 <td class="colLast"><span class="strong">Connection.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/Connection.html#getTable(org.apache.hadoop.hbase.TableName)">getTable</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Retrieve a Table implementation for accessing a table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/HTableInterface.html" title="interface in org.apache.hadoop.hbase.client">HTableInterface</a></code></td>
 <td class="colLast"><span class="strong">ConnectionImplementation.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionImplementation.html#getTable(org.apache.hadoop.hbase.TableName,%20java.util.concurrent.ExecutorService)">getTable</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                 <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>&nbsp;pool)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/HTableInterface.html" title="interface in org.apache.hadoop.hbase.client">HTableInterface</a></code></td>
 <td class="colLast"><span class="strong">HConnection.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HConnection.html#getTable(org.apache.hadoop.hbase.TableName,%20java.util.concurrent.ExecutorService)">getTable</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                 <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>&nbsp;pool)</code>
@@ -1531,103 +1541,103 @@ service.</div>
 <div class="block">Retrieve an HTableInterface implementation for access to a table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client">Table</a></code></td>
 <td class="colLast"><span class="strong">Connection.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/Connection.html#getTable(org.apache.hadoop.hbase.TableName,%20java.util.concurrent.ExecutorService)">getTable</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                 <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>&nbsp;pool)</code>
 <div class="block">Retrieve a Table implementation for accessing a table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><span class="strong">HBaseAdmin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#getTableDescriptor(org.apache.hadoop.hbase.TableName)">getTableDescriptor</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><span class="strong">Admin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#getTableDescriptor(org.apache.hadoop.hbase.TableName)">getTableDescriptor</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Method for getting the tableDescriptor</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) static <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><span class="strong">HBaseAdmin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#getTableDescriptor(org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.client.HConnection,%20org.apache.hadoop.hbase.client.RpcRetryingCallerFactory,%20int)">getTableDescriptor</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                     <a href="../../../../../org/apache/hadoop/hbase/client/HConnection.html" title="interface in org.apache.hadoop.hbase.client">HConnection</a>&nbsp;connection,
                                     <a href="../../../../../org/apache/hadoop/hbase/client/RpcRetryingCallerFactory.html" title="class in org.apache.hadoop.hbase.client">RpcRetryingCallerFactory</a>&nbsp;rpcCallerFactory,
                                     int&nbsp;operationTimeout)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><span class="strong">HBaseAdmin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#getTableDescriptorByTableName(org.apache.hadoop.hbase.TableName)">getTableDescriptorByTableName</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Get tableDescriptor</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/ConcurrentNavigableMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentNavigableMap</a>&lt;byte[],<a href="../../../../../org/apache/hadoop/hbase/RegionLocations.html" title="class in org.apache.hadoop.hbase">RegionLocations</a>&gt;</code></td>
 <td class="colLast"><span class="strong">MetaCache.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/MetaCache.html#getTableLocations(org.apache.hadoop.hbase.TableName)">getTableLocations</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/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;</code></td>
 <td class="colLast"><span class="strong">HBaseAdmin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#getTableRegions(org.apache.hadoop.hbase.TableName)">getTableRegions</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/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;</code></td>
 <td class="colLast"><span class="strong">Admin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#getTableRegions(org.apache.hadoop.hbase.TableName)">getTableRegions</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Get the regions of a given table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private byte[][]</code></td>
 <td class="colLast"><span class="strong">HBaseAdmin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#getTableSplits(org.apache.hadoop.hbase.TableName)">getTableSplits</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/TableState.html" title="class in org.apache.hadoop.hbase.client">TableState</a></code></td>
 <td class="colLast"><span class="strong">ConnectionImplementation.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionImplementation.html#getTableState(org.apache.hadoop.hbase.TableName)">getTableState</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/TableState.html" title="class in org.apache.hadoop.hbase.client">TableState</a></code></td>
 <td class="colLast"><span class="strong">HConnection.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HConnection.html#getTableState(org.apache.hadoop.hbase.TableName)">getTableState</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block"><strong>Deprecated.</strong>&nbsp;</div>
 <div class="block">Retrieve TableState, represent current table state.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><span class="strong">HBaseAdmin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#internalRestoreSnapshot(java.lang.String,%20org.apache.hadoop.hbase.TableName)">internalRestoreSnapshot</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;snapshotName,
                                               <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Execute Restore/Clone snapshot and wait for the server to complete (blocking).</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">MetaCache.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/MetaCache.html#isRegionCached(org.apache.hadoop.hbase.TableName,%20byte[])">isRegionCached</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                             byte[]&nbsp;row)</code>
 <div class="block">Check the region cache to see whether a region is cached yet or not.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">ConnectionImplementation.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionImplementation.html#isTableAvailable(org.apache.hadoop.hbase.TableName)">isTableAvailable</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">HConnection.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HConnection.html#isTableAvailable(org.apache.hadoop.hbase.TableName)">isTableAvailable</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block"><strong>Deprecated.</strong>&nbsp;</div>
 &nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">HBaseAdmin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#isTableAvailable(org.apache.hadoop.hbase.TableName)">isTableAvailable</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">Admin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#isTableAvailable(org.apache.hadoop.hbase.TableName)">isTableAvailable</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">ConnectionImplementation.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionImplementation.html#isTableAvailable(org.apache.hadoop.hbase.TableName,%20byte[][])">isTableAvailable</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                 byte[][]&nbsp;splitKeys)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">HConnection.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HConnection.html#isTableAvailable(org.apache.hadoop.hbase.TableName,%20byte[][])">isTableAvailable</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                 byte[][]&nbsp;splitKeys)</code>
@@ -1636,12 +1646,12 @@ service.</div>
 </div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">HBaseAdmin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#isTableAvailable(org.apache.hadoop.hbase.TableName,%20byte[][])">isTableAvailable</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                 byte[][]&nbsp;splitKeys)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">ClusterConnection.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html#isTableAvailable(org.apache.hadoop.hbase.TableName,%20byte[][])">isTableAvailable</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                 byte[][]&nbsp;splitKeys)</code>
@@ -1649,7 +1659,7 @@ service.</div>
  splitkeys which was used while creating the given table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">Admin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#isTableAvailable(org.apache.hadoop.hbase.TableName,%20byte[][])">isTableAvailable</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                 byte[][]&nbsp;splitKeys)</code>
@@ -1657,33 +1667,33 @@ service.</div>
  which was used while creating the given table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">ConnectionImplementation.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionImplementation.html#isTableDisabled(org.apache.hadoop.hbase.TableName)">isTableDisabled</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">HConnection.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HConnection.html#isTableDisabled(org.apache.hadoop.hbase.TableName)">isTableDisabled</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block"><strong>Deprecated.</strong>&nbsp;</div>
 &nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">HBaseAdmin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#isTableDisabled(org.apache.hadoop.hbase.TableName)">isTableDisabled</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">ConnectionUtils.MasterlessConnection.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionUtils.MasterlessConnection.html#isTableDisabled(org.apache.hadoop.hbase.TableName)">isTableDisabled</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">Admin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#isTableDisabled(org.apache.hadoop.hbase.TableName)">isTableDisabled</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">ConnectionImplementation.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionImplementation.html#isTableEnabled(org.apache.hadoop.hbase.TableName)">isTableEnabled</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">HConnection.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HConnection.html#isTableEnabled(org.apache.hadoop.hbase.TableName)">isTableEnabled</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block"><strong>Deprecated.</strong>&nbsp;</div>
@@ -1691,26 +1701,26 @@ service.</div>
  is possible.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">HBaseAdmin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#isTableEnabled(org.apache.hadoop.hbase.TableName)">isTableEnabled</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">Admin.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#isTableEnabled(org.apache.hadoop.hbase.TableName)">isTableEnabled</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/RegionLocations.html" title="class in org.apache.hadoop.hbase">RegionLocations</a></code></td>
 <td class="colLast"><span class="strong">ConnectionImplementation.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionImplementation.html#locateMeta(org.apache.hadoop.hbase.TableName,%20boolean,%20int)">locateMeta</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                     boolean&nbsp;useCache,
                     int&nbsp;replicaId)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a></code></td>
 <td class="colLast"><span class="strong">ConnectionImplementation.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionImplementation.html#locateRegion(org.apache.hadoop.hbase.TableName,%20byte[])">locateRegion</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                         byte[]&nbsp;row)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a></code></td>
 <td class="colLast"><span class="strong">HConnection.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HConnection.html#locateRegion(org.apache.hadoop.hbase.TableName,%20byte[])">locateRegion</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                         byte[]&nbsp;row)</code>
@@ -1719,7 +1729,7 @@ service.</div>
 </div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a></code></td>
 <td class="colLast"><span class="strong">ClusterConnection.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html#locateRegion(org.apache.hadoop.hbase.TableName,%20byte[])">locateRegion</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                         byte[]&nbsp;row)</code>
@@ -1727,21 +1737,21 @@ service.</div>
  lives in.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/RegionLocations.html" title="class in org.apache.hadoop.hbase">RegionLocations</a></code></td>
 <td class="colLast"><span class="strong">ConnectionImplementation.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionImplementation.html#locateRegion(org.apache.hadoop.hbase.TableName,%20byte[],%20boolean,%20boolean)">locateRegion</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                         byte[]&nbsp;row,
                         boolean&nbsp;useCache,
                         boolean&nbsp;retry)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/RegionLocations.html" title="class in org.apache.hadoop.hbase">RegionLocations</a></code></td>
 <td class="colLast"><span class="strong">ClusterConnection.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html#locateRegion(org.apache.hadoop.hbase.TableName,%20byte[],%20boolean,%20boolean)">locateRegion</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                         byte[]&nbsp;row,
                         boolean&nbsp;useCache,
                         boolean&nbsp;retry)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/RegionLocations.html" title="class in org.apache.hadoop.hbase">RegionLocations</a></code></td>
 <td class="colLast"><span class="strong">ConnectionImplementation.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionImplementation.html#locateRegion(org.apache.hadoop.hbase.TableName,%20byte[],%20boolean,%20boolean,%20int)">locateRegion</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                         byte[]&nbsp;row,
@@ -1749,7 +1759,7 @@ service.</div>
                         boolean&nbsp;retry,
                         int&nbsp;replicaId)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/RegionLocations.html" title="class in org.apache.hadoop.hbase">RegionLocations</a></code></td>
 <td class="colLast"><span class="strong">ClusterConnection.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html#locateRegion(org.apache.hadoop.hbase.TableName,%20byte[],%20boolean,%20boolean,%20int)">locateRegion</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                         byte[]&nbsp;row,
@@ -1757,7 +1767,7 @@ service.</div>
                         boolean&nbsp;retry,
           

<TRUNCATED>

[24/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html
index 6cf6743..1b54cf8 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html
@@ -27,572 +27,649 @@
 <span class="sourceLineNo">019</span> */<a name="line.19"></a>
 <span class="sourceLineNo">020</span>package org.apache.hadoop.hbase.client;<a name="line.20"></a>
 <span class="sourceLineNo">021</span><a name="line.21"></a>
-<span class="sourceLineNo">022</span>import java.io.IOException;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.util.AbstractMap.SimpleEntry;<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.Collections;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.util.HashMap;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import java.util.List;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import java.util.Map;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import java.util.concurrent.ExecutorService;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import java.util.concurrent.Executors;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import java.util.concurrent.LinkedBlockingQueue;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import java.util.concurrent.ScheduledExecutorService;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import java.util.concurrent.TimeUnit;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.36"></a>
-<span class="sourceLineNo">037</span><a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.commons.logging.Log;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.commons.logging.LogFactory;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.conf.Configuration;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.HBaseConfiguration;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.HConstants;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.ServerName;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.TableName;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.client.AsyncProcess.AsyncRequestFuture;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.ipc.RpcControllerFactory;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.51"></a>
-<span class="sourceLineNo">052</span><a name="line.52"></a>
-<span class="sourceLineNo">053</span>import com.google.common.util.concurrent.ThreadFactoryBuilder;<a name="line.53"></a>
-<span class="sourceLineNo">054</span><a name="line.54"></a>
-<span class="sourceLineNo">055</span>/**<a name="line.55"></a>
-<span class="sourceLineNo">056</span> * HTableMultiplexer provides a thread-safe non blocking PUT API across all the tables.<a name="line.56"></a>
-<span class="sourceLineNo">057</span> * Each put will be sharded into different buffer queues based on its destination region server.<a name="line.57"></a>
-<span class="sourceLineNo">058</span> * So each region server buffer queue will only have the puts which share the same destination.<a name="line.58"></a>
-<span class="sourceLineNo">059</span> * And each queue will have a flush worker thread to flush the puts request to the region server.<a name="line.59"></a>
-<span class="sourceLineNo">060</span> * If any queue is full, the HTableMultiplexer starts to drop the Put requests for that<a name="line.60"></a>
-<span class="sourceLineNo">061</span> * particular queue.<a name="line.61"></a>
-<span class="sourceLineNo">062</span> *<a name="line.62"></a>
-<span class="sourceLineNo">063</span> * Also all the puts will be retried as a configuration number before dropping.<a name="line.63"></a>
-<span class="sourceLineNo">064</span> * And the HTableMultiplexer can report the number of buffered requests and the number of the<a name="line.64"></a>
-<span class="sourceLineNo">065</span> * failed (dropped) requests in total or on per region server basis.<a name="line.65"></a>
-<span class="sourceLineNo">066</span> *<a name="line.66"></a>
-<span class="sourceLineNo">067</span> * This class is thread safe.<a name="line.67"></a>
-<span class="sourceLineNo">068</span> */<a name="line.68"></a>
-<span class="sourceLineNo">069</span>@InterfaceAudience.Public<a name="line.69"></a>
-<span class="sourceLineNo">070</span>@InterfaceStability.Evolving<a name="line.70"></a>
-<span class="sourceLineNo">071</span>public class HTableMultiplexer {<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  private static final Log LOG = LogFactory.getLog(HTableMultiplexer.class.getName());<a name="line.72"></a>
-<span class="sourceLineNo">073</span><a name="line.73"></a>
-<span class="sourceLineNo">074</span>  public static final String TABLE_MULTIPLEXER_FLUSH_PERIOD_MS =<a name="line.74"></a>
-<span class="sourceLineNo">075</span>      "hbase.tablemultiplexer.flush.period.ms";<a name="line.75"></a>
-<span class="sourceLineNo">076</span>  public static final String TABLE_MULTIPLEXER_INIT_THREADS = "hbase.tablemultiplexer.init.threads";<a name="line.76"></a>
-<span class="sourceLineNo">077</span>  public static final String TABLE_MULTIPLEXER_MAX_RETRIES_IN_QUEUE =<a name="line.77"></a>
-<span class="sourceLineNo">078</span>      "hbase.client.max.retries.in.queue";<a name="line.78"></a>
-<span class="sourceLineNo">079</span><a name="line.79"></a>
-<span class="sourceLineNo">080</span>  /** The map between each region server to its flush worker */<a name="line.80"></a>
-<span class="sourceLineNo">081</span>  private final Map&lt;HRegionLocation, FlushWorker&gt; serverToFlushWorkerMap =<a name="line.81"></a>
-<span class="sourceLineNo">082</span>      new ConcurrentHashMap&lt;&gt;();<a name="line.82"></a>
-<span class="sourceLineNo">083</span><a name="line.83"></a>
-<span class="sourceLineNo">084</span>  private final Configuration workerConf;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>  private final ClusterConnection conn;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>  private final ExecutorService pool;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>  private final int maxAttempts;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>  private final int perRegionServerBufferQueueSize;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>  private final int maxKeyValueSize;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>  private final ScheduledExecutorService executor;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>  private final long flushPeriod;<a name="line.91"></a>
-<span class="sourceLineNo">092</span><a name="line.92"></a>
-<span class="sourceLineNo">093</span>  /**<a name="line.93"></a>
-<span class="sourceLineNo">094</span>   * @param conf The HBaseConfiguration<a name="line.94"></a>
-<span class="sourceLineNo">095</span>   * @param perRegionServerBufferQueueSize determines the max number of the buffered Put ops for<a name="line.95"></a>
-<span class="sourceLineNo">096</span>   *          each region server before dropping the request.<a name="line.96"></a>
-<span class="sourceLineNo">097</span>   */<a name="line.97"></a>
-<span class="sourceLineNo">098</span>  public HTableMultiplexer(Configuration conf, int perRegionServerBufferQueueSize)<a name="line.98"></a>
-<span class="sourceLineNo">099</span>      throws IOException {<a name="line.99"></a>
-<span class="sourceLineNo">100</span>    this.conn = (ClusterConnection) ConnectionFactory.createConnection(conf);<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    this.pool = HTable.getDefaultExecutor(conf);<a name="line.101"></a>
-<span class="sourceLineNo">102</span>    // how many times we could try in total, one more than retry number<a name="line.102"></a>
-<span class="sourceLineNo">103</span>    this.maxAttempts = conf.getInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER,<a name="line.103"></a>
-<span class="sourceLineNo">104</span>        HConstants.DEFAULT_HBASE_CLIENT_RETRIES_NUMBER) + 1;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    this.perRegionServerBufferQueueSize = perRegionServerBufferQueueSize;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    this.maxKeyValueSize = HTable.getMaxKeyValueSize(conf);<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    this.flushPeriod = conf.getLong(TABLE_MULTIPLEXER_FLUSH_PERIOD_MS, 100);<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    int initThreads = conf.getInt(TABLE_MULTIPLEXER_INIT_THREADS, 10);<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    this.executor =<a name="line.109"></a>
-<span class="sourceLineNo">110</span>        Executors.newScheduledThreadPool(initThreads,<a name="line.110"></a>
-<span class="sourceLineNo">111</span>          new ThreadFactoryBuilder().setDaemon(true).setNameFormat("HTableFlushWorker-%d").build());<a name="line.111"></a>
-<span class="sourceLineNo">112</span><a name="line.112"></a>
-<span class="sourceLineNo">113</span>    this.workerConf = HBaseConfiguration.create(conf);<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    // We do not do the retry because we need to reassign puts to different queues if regions are<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    // moved.<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    this.workerConf.setInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER, 0);<a name="line.116"></a>
-<span class="sourceLineNo">117</span>  }<a name="line.117"></a>
-<span class="sourceLineNo">118</span><a name="line.118"></a>
-<span class="sourceLineNo">119</span>  /**<a name="line.119"></a>
-<span class="sourceLineNo">120</span>   * The put request will be buffered by its corresponding buffer queue. Return false if the queue<a name="line.120"></a>
-<span class="sourceLineNo">121</span>   * is already full.<a name="line.121"></a>
-<span class="sourceLineNo">122</span>   * @param tableName<a name="line.122"></a>
-<span class="sourceLineNo">123</span>   * @param put<a name="line.123"></a>
-<span class="sourceLineNo">124</span>   * @return true if the request can be accepted by its corresponding buffer queue.<a name="line.124"></a>
-<span class="sourceLineNo">125</span>   */<a name="line.125"></a>
-<span class="sourceLineNo">126</span>  public boolean put(TableName tableName, final Put put) {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    return put(tableName, put, this.maxAttempts);<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 name="line.130"></a>
-<span class="sourceLineNo">131</span>   * The puts request will be buffered by their corresponding buffer queue.<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   * Return the list of puts which could not be queued.<a name="line.132"></a>
-<span class="sourceLineNo">133</span>   * @param tableName<a name="line.133"></a>
-<span class="sourceLineNo">134</span>   * @param puts<a name="line.134"></a>
-<span class="sourceLineNo">135</span>   * @return the list of puts which could not be queued<a name="line.135"></a>
-<span class="sourceLineNo">136</span>   */<a name="line.136"></a>
-<span class="sourceLineNo">137</span>  public List&lt;Put&gt; put(TableName tableName, final List&lt;Put&gt; puts) {<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    if (puts == null)<a name="line.138"></a>
-<span class="sourceLineNo">139</span>      return null;<a name="line.139"></a>
-<span class="sourceLineNo">140</span><a name="line.140"></a>
-<span class="sourceLineNo">141</span>    List &lt;Put&gt; failedPuts = null;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    boolean result;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    for (Put put : puts) {<a name="line.143"></a>
-<span class="sourceLineNo">144</span>      result = put(tableName, put, this.maxAttempts);<a name="line.144"></a>
-<span class="sourceLineNo">145</span>      if (result == false) {<a name="line.145"></a>
-<span class="sourceLineNo">146</span><a name="line.146"></a>
-<span class="sourceLineNo">147</span>        // Create the failed puts list if necessary<a name="line.147"></a>
-<span class="sourceLineNo">148</span>        if (failedPuts == null) {<a name="line.148"></a>
-<span class="sourceLineNo">149</span>          failedPuts = new ArrayList&lt;Put&gt;();<a name="line.149"></a>
-<span class="sourceLineNo">150</span>        }<a name="line.150"></a>
-<span class="sourceLineNo">151</span>        // Add the put to the failed puts list<a name="line.151"></a>
-<span class="sourceLineNo">152</span>        failedPuts.add(put);<a name="line.152"></a>
-<span class="sourceLineNo">153</span>      }<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    }<a name="line.154"></a>
-<span class="sourceLineNo">155</span>    return failedPuts;<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>   * @deprecated Use {@link #put(TableName, List) } instead.<a name="line.159"></a>
+<span class="sourceLineNo">022</span>import com.google.common.annotations.VisibleForTesting;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import com.google.common.util.concurrent.ThreadFactoryBuilder;<a name="line.23"></a>
+<span class="sourceLineNo">024</span><a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.io.IOException;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.util.AbstractMap.SimpleEntry;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.util.ArrayList;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import java.util.Collections;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import java.util.HashMap;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import java.util.List;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import java.util.Map;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import java.util.concurrent.ExecutorService;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import java.util.concurrent.Executors;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import java.util.concurrent.LinkedBlockingQueue;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import java.util.concurrent.ScheduledExecutorService;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import java.util.concurrent.TimeUnit;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.39"></a>
+<span class="sourceLineNo">040</span><a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.commons.logging.Log;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.commons.logging.LogFactory;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.conf.Configuration;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.HBaseConfiguration;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.HConstants;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.ServerName;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.TableName;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.client.AsyncProcess.AsyncRequestFuture;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.ipc.RpcControllerFactory;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.54"></a>
+<span class="sourceLineNo">055</span><a name="line.55"></a>
+<span class="sourceLineNo">056</span>/**<a name="line.56"></a>
+<span class="sourceLineNo">057</span> * HTableMultiplexer provides a thread-safe non blocking PUT API across all the tables.<a name="line.57"></a>
+<span class="sourceLineNo">058</span> * Each put will be sharded into different buffer queues based on its destination region server.<a name="line.58"></a>
+<span class="sourceLineNo">059</span> * So each region server buffer queue will only have the puts which share the same destination.<a name="line.59"></a>
+<span class="sourceLineNo">060</span> * And each queue will have a flush worker thread to flush the puts request to the region server.<a name="line.60"></a>
+<span class="sourceLineNo">061</span> * If any queue is full, the HTableMultiplexer starts to drop the Put requests for that<a name="line.61"></a>
+<span class="sourceLineNo">062</span> * particular queue.<a name="line.62"></a>
+<span class="sourceLineNo">063</span> *<a name="line.63"></a>
+<span class="sourceLineNo">064</span> * Also all the puts will be retried as a configuration number before dropping.<a name="line.64"></a>
+<span class="sourceLineNo">065</span> * And the HTableMultiplexer can report the number of buffered requests and the number of the<a name="line.65"></a>
+<span class="sourceLineNo">066</span> * failed (dropped) requests in total or on per region server basis.<a name="line.66"></a>
+<span class="sourceLineNo">067</span> *<a name="line.67"></a>
+<span class="sourceLineNo">068</span> * This class is thread safe.<a name="line.68"></a>
+<span class="sourceLineNo">069</span> */<a name="line.69"></a>
+<span class="sourceLineNo">070</span>@InterfaceAudience.Public<a name="line.70"></a>
+<span class="sourceLineNo">071</span>@InterfaceStability.Evolving<a name="line.71"></a>
+<span class="sourceLineNo">072</span>public class HTableMultiplexer {<a name="line.72"></a>
+<span class="sourceLineNo">073</span>  private static final Log LOG = LogFactory.getLog(HTableMultiplexer.class.getName());<a name="line.73"></a>
+<span class="sourceLineNo">074</span><a name="line.74"></a>
+<span class="sourceLineNo">075</span>  public static final String TABLE_MULTIPLEXER_FLUSH_PERIOD_MS =<a name="line.75"></a>
+<span class="sourceLineNo">076</span>      "hbase.tablemultiplexer.flush.period.ms";<a name="line.76"></a>
+<span class="sourceLineNo">077</span>  public static final String TABLE_MULTIPLEXER_INIT_THREADS = "hbase.tablemultiplexer.init.threads";<a name="line.77"></a>
+<span class="sourceLineNo">078</span>  public static final String TABLE_MULTIPLEXER_MAX_RETRIES_IN_QUEUE =<a name="line.78"></a>
+<span class="sourceLineNo">079</span>      "hbase.client.max.retries.in.queue";<a name="line.79"></a>
+<span class="sourceLineNo">080</span><a name="line.80"></a>
+<span class="sourceLineNo">081</span>  /** The map between each region server to its flush worker */<a name="line.81"></a>
+<span class="sourceLineNo">082</span>  private final Map&lt;HRegionLocation, FlushWorker&gt; serverToFlushWorkerMap =<a name="line.82"></a>
+<span class="sourceLineNo">083</span>      new ConcurrentHashMap&lt;&gt;();<a name="line.83"></a>
+<span class="sourceLineNo">084</span><a name="line.84"></a>
+<span class="sourceLineNo">085</span>  private final Configuration workerConf;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>  private final ClusterConnection conn;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>  private final ExecutorService pool;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>  private final int maxAttempts;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>  private final int perRegionServerBufferQueueSize;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>  private final int maxKeyValueSize;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>  private final ScheduledExecutorService executor;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>  private final long flushPeriod;<a name="line.92"></a>
+<span class="sourceLineNo">093</span><a name="line.93"></a>
+<span class="sourceLineNo">094</span>  /**<a name="line.94"></a>
+<span class="sourceLineNo">095</span>   * @param conf The HBaseConfiguration<a name="line.95"></a>
+<span class="sourceLineNo">096</span>   * @param perRegionServerBufferQueueSize determines the max number of the buffered Put ops for<a name="line.96"></a>
+<span class="sourceLineNo">097</span>   *          each region server before dropping the request.<a name="line.97"></a>
+<span class="sourceLineNo">098</span>   */<a name="line.98"></a>
+<span class="sourceLineNo">099</span>  public HTableMultiplexer(Configuration conf, int perRegionServerBufferQueueSize)<a name="line.99"></a>
+<span class="sourceLineNo">100</span>      throws IOException {<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    this(ConnectionFactory.createConnection(conf), conf, perRegionServerBufferQueueSize);<a name="line.101"></a>
+<span class="sourceLineNo">102</span>  }<a name="line.102"></a>
+<span class="sourceLineNo">103</span><a name="line.103"></a>
+<span class="sourceLineNo">104</span>  /**<a name="line.104"></a>
+<span class="sourceLineNo">105</span>   * @param conn The HBase connection.<a name="line.105"></a>
+<span class="sourceLineNo">106</span>   * @param conf The HBase configuration<a name="line.106"></a>
+<span class="sourceLineNo">107</span>   * @param perRegionServerBufferQueueSize determines the max number of the buffered Put ops for<a name="line.107"></a>
+<span class="sourceLineNo">108</span>   *          each region server before dropping the request.<a name="line.108"></a>
+<span class="sourceLineNo">109</span>   */<a name="line.109"></a>
+<span class="sourceLineNo">110</span>  public HTableMultiplexer(Connection conn, Configuration conf,<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      int perRegionServerBufferQueueSize) {<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    this.conn = (ClusterConnection) conn;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>    this.pool = HTable.getDefaultExecutor(conf);<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    // how many times we could try in total, one more than retry number<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    this.maxAttempts = conf.getInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER,<a name="line.115"></a>
+<span class="sourceLineNo">116</span>        HConstants.DEFAULT_HBASE_CLIENT_RETRIES_NUMBER) + 1;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    this.perRegionServerBufferQueueSize = perRegionServerBufferQueueSize;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    this.maxKeyValueSize = HTable.getMaxKeyValueSize(conf);<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    this.flushPeriod = conf.getLong(TABLE_MULTIPLEXER_FLUSH_PERIOD_MS, 100);<a name="line.119"></a>
+<span class="sourceLineNo">120</span>    int initThreads = conf.getInt(TABLE_MULTIPLEXER_INIT_THREADS, 10);<a name="line.120"></a>
+<span class="sourceLineNo">121</span>    this.executor =<a name="line.121"></a>
+<span class="sourceLineNo">122</span>        Executors.newScheduledThreadPool(initThreads,<a name="line.122"></a>
+<span class="sourceLineNo">123</span>          new ThreadFactoryBuilder().setDaemon(true).setNameFormat("HTableFlushWorker-%d").build());<a name="line.123"></a>
+<span class="sourceLineNo">124</span><a name="line.124"></a>
+<span class="sourceLineNo">125</span>    this.workerConf = HBaseConfiguration.create(conf);<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    // We do not do the retry because we need to reassign puts to different queues if regions are<a name="line.126"></a>
+<span class="sourceLineNo">127</span>    // moved.<a name="line.127"></a>
+<span class="sourceLineNo">128</span>    this.workerConf.setInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER, 0);<a name="line.128"></a>
+<span class="sourceLineNo">129</span>  }<a name="line.129"></a>
+<span class="sourceLineNo">130</span><a name="line.130"></a>
+<span class="sourceLineNo">131</span>  /**<a name="line.131"></a>
+<span class="sourceLineNo">132</span>   * Closes the internal {@link Connection}. Does nothing if the {@link Connection} has already<a name="line.132"></a>
+<span class="sourceLineNo">133</span>   * been closed.<a name="line.133"></a>
+<span class="sourceLineNo">134</span>   * @throws IOException If there is an error closing the connection.<a name="line.134"></a>
+<span class="sourceLineNo">135</span>   */<a name="line.135"></a>
+<span class="sourceLineNo">136</span>  @SuppressWarnings("deprecation")<a name="line.136"></a>
+<span class="sourceLineNo">137</span>  public synchronized void close() throws IOException {<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    if (!getConnection().isClosed()) {<a name="line.138"></a>
+<span class="sourceLineNo">139</span>      getConnection().close();<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    }<a name="line.140"></a>
+<span class="sourceLineNo">141</span>  }<a name="line.141"></a>
+<span class="sourceLineNo">142</span><a name="line.142"></a>
+<span class="sourceLineNo">143</span>  /**<a name="line.143"></a>
+<span class="sourceLineNo">144</span>   * The put request will be buffered by its corresponding buffer queue. Return false if the queue<a name="line.144"></a>
+<span class="sourceLineNo">145</span>   * is already full.<a name="line.145"></a>
+<span class="sourceLineNo">146</span>   * @param tableName<a name="line.146"></a>
+<span class="sourceLineNo">147</span>   * @param put<a name="line.147"></a>
+<span class="sourceLineNo">148</span>   * @return true if the request can be accepted by its corresponding buffer queue.<a name="line.148"></a>
+<span class="sourceLineNo">149</span>   */<a name="line.149"></a>
+<span class="sourceLineNo">150</span>  public boolean put(TableName tableName, final Put put) {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    return put(tableName, put, this.maxAttempts);<a name="line.151"></a>
+<span class="sourceLineNo">152</span>  }<a name="line.152"></a>
+<span class="sourceLineNo">153</span><a name="line.153"></a>
+<span class="sourceLineNo">154</span>  /**<a name="line.154"></a>
+<span class="sourceLineNo">155</span>   * The puts request will be buffered by their corresponding buffer queue.<a name="line.155"></a>
+<span class="sourceLineNo">156</span>   * Return the list of puts which could not be queued.<a name="line.156"></a>
+<span class="sourceLineNo">157</span>   * @param tableName<a name="line.157"></a>
+<span class="sourceLineNo">158</span>   * @param puts<a name="line.158"></a>
+<span class="sourceLineNo">159</span>   * @return the list of puts which could not be queued<a name="line.159"></a>
 <span class="sourceLineNo">160</span>   */<a name="line.160"></a>
-<span class="sourceLineNo">161</span>  @Deprecated<a name="line.161"></a>
-<span class="sourceLineNo">162</span>  public List&lt;Put&gt; put(byte[] tableName, final List&lt;Put&gt; puts) {<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    return put(TableName.valueOf(tableName), puts);<a name="line.163"></a>
-<span class="sourceLineNo">164</span>  }<a name="line.164"></a>
-<span class="sourceLineNo">165</span><a name="line.165"></a>
-<span class="sourceLineNo">166</span>  /**<a name="line.166"></a>
-<span class="sourceLineNo">167</span>   * The put request will be buffered by its corresponding buffer queue. And the put request will be<a name="line.167"></a>
-<span class="sourceLineNo">168</span>   * retried before dropping the request.<a name="line.168"></a>
-<span class="sourceLineNo">169</span>   * Return false if the queue is already full.<a name="line.169"></a>
-<span class="sourceLineNo">170</span>   * @return true if the request can be accepted by its corresponding buffer queue.<a name="line.170"></a>
-<span class="sourceLineNo">171</span>   */<a name="line.171"></a>
-<span class="sourceLineNo">172</span>  public boolean put(final TableName tableName, final Put put, int maxAttempts) {<a name="line.172"></a>
-<span class="sourceLineNo">173</span>    if (maxAttempts &lt;= 0) {<a name="line.173"></a>
-<span class="sourceLineNo">174</span>      return false;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    }<a name="line.175"></a>
-<span class="sourceLineNo">176</span><a name="line.176"></a>
-<span class="sourceLineNo">177</span>    try {<a name="line.177"></a>
-<span class="sourceLineNo">178</span>      HTable.validatePut(put, maxKeyValueSize);<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      HRegionLocation loc = conn.getRegionLocation(tableName, put.getRow(), false);<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      if (loc != null) {<a name="line.180"></a>
-<span class="sourceLineNo">181</span>        // Add the put pair into its corresponding queue.<a name="line.181"></a>
-<span class="sourceLineNo">182</span>        LinkedBlockingQueue&lt;PutStatus&gt; queue = getQueue(loc);<a name="line.182"></a>
-<span class="sourceLineNo">183</span><a name="line.183"></a>
-<span class="sourceLineNo">184</span>        // Generate a MultiPutStatus object and offer it into the queue<a name="line.184"></a>
-<span class="sourceLineNo">185</span>        PutStatus s = new PutStatus(loc.getRegionInfo(), put, maxAttempts);<a name="line.185"></a>
-<span class="sourceLineNo">186</span><a name="line.186"></a>
-<span class="sourceLineNo">187</span>        return queue.offer(s);<a name="line.187"></a>
-<span class="sourceLineNo">188</span>      }<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    } catch (IOException e) {<a name="line.189"></a>
-<span class="sourceLineNo">190</span>      LOG.debug("Cannot process the put " + put, e);<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    }<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    return false;<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>  /**<a name="line.195"></a>
-<span class="sourceLineNo">196</span>   * @deprecated Use {@link #put(TableName, Put) } instead.<a name="line.196"></a>
-<span class="sourceLineNo">197</span>   */<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  @Deprecated<a name="line.198"></a>
-<span class="sourceLineNo">199</span>  public boolean put(final byte[] tableName, final Put put, int retry) {<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    return put(TableName.valueOf(tableName), put, retry);<a name="line.200"></a>
-<span class="sourceLineNo">201</span>  }<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>  /**<a name="line.203"></a>
-<span class="sourceLineNo">204</span>   * @deprecated Use {@link #put(TableName, Put)} instead.<a name="line.204"></a>
-<span class="sourceLineNo">205</span>   */<a name="line.205"></a>
-<span class="sourceLineNo">206</span>  @Deprecated<a name="line.206"></a>
-<span class="sourceLineNo">207</span>  public boolean put(final byte[] tableName, Put put) {<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    return put(TableName.valueOf(tableName), put);<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>  /**<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   * @return the current HTableMultiplexerStatus<a name="line.212"></a>
-<span class="sourceLineNo">213</span>   */<a name="line.213"></a>
-<span class="sourceLineNo">214</span>  public HTableMultiplexerStatus getHTableMultiplexerStatus() {<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    return new HTableMultiplexerStatus(serverToFlushWorkerMap);<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span>  private LinkedBlockingQueue&lt;PutStatus&gt; getQueue(HRegionLocation addr) {<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    FlushWorker worker = serverToFlushWorkerMap.get(addr);<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    if (worker == null) {<a name="line.220"></a>
-<span class="sourceLineNo">221</span>      synchronized (this.serverToFlushWorkerMap) {<a name="line.221"></a>
-<span class="sourceLineNo">222</span>        worker = serverToFlushWorkerMap.get(addr);<a name="line.222"></a>
-<span class="sourceLineNo">223</span>        if (worker == null) {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>          // Create the flush worker<a name="line.224"></a>
-<span class="sourceLineNo">225</span>          worker = new FlushWorker(workerConf, this.conn, addr, this,<a name="line.225"></a>
-<span class="sourceLineNo">226</span>              perRegionServerBufferQueueSize, pool, executor);<a name="line.226"></a>
-<span class="sourceLineNo">227</span>          this.serverToFlushWorkerMap.put(addr, worker);<a name="line.227"></a>
-<span class="sourceLineNo">228</span>          executor.scheduleAtFixedRate(worker, flushPeriod, flushPeriod, TimeUnit.MILLISECONDS);<a name="line.228"></a>
-<span class="sourceLineNo">229</span>        }<a name="line.229"></a>
-<span class="sourceLineNo">230</span>      }<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    }<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    return worker.getQueue();<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  }<a name="line.233"></a>
-<span class="sourceLineNo">234</span><a name="line.234"></a>
-<span class="sourceLineNo">235</span>  /**<a name="line.235"></a>
-<span class="sourceLineNo">236</span>   * HTableMultiplexerStatus keeps track of the current status of the HTableMultiplexer.<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   * report the number of buffered requests and the number of the failed (dropped) requests<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   * in total or on per region server basis.<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   */<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  @InterfaceAudience.Public<a name="line.240"></a>
-<span class="sourceLineNo">241</span>  @InterfaceStability.Evolving<a name="line.241"></a>
-<span class="sourceLineNo">242</span>  public static class HTableMultiplexerStatus {<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    private long totalFailedPutCounter;<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    private long totalBufferedPutCounter;<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    private long maxLatency;<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    private long overallAverageLatency;<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    private Map&lt;String, Long&gt; serverToFailedCounterMap;<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    private Map&lt;String, Long&gt; serverToBufferedCounterMap;<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    private Map&lt;String, Long&gt; serverToAverageLatencyMap;<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    private Map&lt;String, Long&gt; serverToMaxLatencyMap;<a name="line.250"></a>
-<span class="sourceLineNo">251</span><a name="line.251"></a>
-<span class="sourceLineNo">252</span>    public HTableMultiplexerStatus(<a name="line.252"></a>
-<span class="sourceLineNo">253</span>        Map&lt;HRegionLocation, FlushWorker&gt; serverToFlushWorkerMap) {<a name="line.253"></a>
-<span class="sourceLineNo">254</span>      this.totalBufferedPutCounter = 0;<a name="line.254"></a>
-<span class="sourceLineNo">255</span>      this.totalFailedPutCounter = 0;<a name="line.255"></a>
-<span class="sourceLineNo">256</span>      this.maxLatency = 0;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>      this.overallAverageLatency = 0;<a name="line.257"></a>
-<span class="sourceLineNo">258</span>      this.serverToBufferedCounterMap = new HashMap&lt;String, Long&gt;();<a name="line.258"></a>
-<span class="sourceLineNo">259</span>      this.serverToFailedCounterMap = new HashMap&lt;String, Long&gt;();<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      this.serverToAverageLatencyMap = new HashMap&lt;String, Long&gt;();<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      this.serverToMaxLatencyMap = new HashMap&lt;String, Long&gt;();<a name="line.261"></a>
-<span class="sourceLineNo">262</span>      this.initialize(serverToFlushWorkerMap);<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>    private void initialize(<a name="line.265"></a>
-<span class="sourceLineNo">266</span>        Map&lt;HRegionLocation, FlushWorker&gt; serverToFlushWorkerMap) {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      if (serverToFlushWorkerMap == null) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>        return;<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>      long averageCalcSum = 0;<a name="line.271"></a>
-<span class="sourceLineNo">272</span>      int averageCalcCount = 0;<a name="line.272"></a>
-<span class="sourceLineNo">273</span>      for (Map.Entry&lt;HRegionLocation, FlushWorker&gt; entry : serverToFlushWorkerMap<a name="line.273"></a>
-<span class="sourceLineNo">274</span>          .entrySet()) {<a name="line.274"></a>
-<span class="sourceLineNo">275</span>        HRegionLocation addr = entry.getKey();<a name="line.275"></a>
-<span class="sourceLineNo">276</span>        FlushWorker worker = entry.getValue();<a name="line.276"></a>
-<span class="sourceLineNo">277</span><a name="line.277"></a>
-<span class="sourceLineNo">278</span>        long bufferedCounter = worker.getTotalBufferedCount();<a name="line.278"></a>
-<span class="sourceLineNo">279</span>        long failedCounter = worker.getTotalFailedCount();<a name="line.279"></a>
-<span class="sourceLineNo">280</span>        long serverMaxLatency = worker.getMaxLatency();<a name="line.280"></a>
-<span class="sourceLineNo">281</span>        AtomicAverageCounter averageCounter = worker.getAverageLatencyCounter();<a name="line.281"></a>
-<span class="sourceLineNo">282</span>        // Get sum and count pieces separately to compute overall average<a name="line.282"></a>
-<span class="sourceLineNo">283</span>        SimpleEntry&lt;Long, Integer&gt; averageComponents = averageCounter<a name="line.283"></a>
-<span class="sourceLineNo">284</span>            .getComponents();<a name="line.284"></a>
-<span class="sourceLineNo">285</span>        long serverAvgLatency = averageCounter.getAndReset();<a name="line.285"></a>
-<span class="sourceLineNo">286</span><a name="line.286"></a>
-<span class="sourceLineNo">287</span>        this.totalBufferedPutCounter += bufferedCounter;<a name="line.287"></a>
-<span class="sourceLineNo">288</span>        this.totalFailedPutCounter += failedCounter;<a name="line.288"></a>
-<span class="sourceLineNo">289</span>        if (serverMaxLatency &gt; this.maxLatency) {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>          this.maxLatency = serverMaxLatency;<a name="line.290"></a>
-<span class="sourceLineNo">291</span>        }<a name="line.291"></a>
-<span class="sourceLineNo">292</span>        averageCalcSum += averageComponents.getKey();<a name="line.292"></a>
-<span class="sourceLineNo">293</span>        averageCalcCount += averageComponents.getValue();<a name="line.293"></a>
-<span class="sourceLineNo">294</span><a name="line.294"></a>
-<span class="sourceLineNo">295</span>        this.serverToBufferedCounterMap.put(addr.getHostnamePort(),<a name="line.295"></a>
-<span class="sourceLineNo">296</span>            bufferedCounter);<a name="line.296"></a>
-<span class="sourceLineNo">297</span>        this.serverToFailedCounterMap<a name="line.297"></a>
-<span class="sourceLineNo">298</span>            .put(addr.getHostnamePort(),<a name="line.298"></a>
-<span class="sourceLineNo">299</span>            failedCounter);<a name="line.299"></a>
-<span class="sourceLineNo">300</span>        this.serverToAverageLatencyMap.put(addr.getHostnamePort(),<a name="line.300"></a>
-<span class="sourceLineNo">301</span>            serverAvgLatency);<a name="line.301"></a>
-<span class="sourceLineNo">302</span>        this.serverToMaxLatencyMap<a name="line.302"></a>
-<span class="sourceLineNo">303</span>            .put(addr.getHostnamePort(),<a name="line.303"></a>
-<span class="sourceLineNo">304</span>            serverMaxLatency);<a name="line.304"></a>
-<span class="sourceLineNo">305</span>      }<a name="line.305"></a>
-<span class="sourceLineNo">306</span>      this.overallAverageLatency = averageCalcCount != 0 ? averageCalcSum<a name="line.306"></a>
-<span class="sourceLineNo">307</span>          / averageCalcCount : 0;<a name="line.307"></a>
+<span class="sourceLineNo">161</span>  public List&lt;Put&gt; put(TableName tableName, final List&lt;Put&gt; puts) {<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    if (puts == null)<a name="line.162"></a>
+<span class="sourceLineNo">163</span>      return null;<a name="line.163"></a>
+<span class="sourceLineNo">164</span><a name="line.164"></a>
+<span class="sourceLineNo">165</span>    List &lt;Put&gt; failedPuts = null;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>    boolean result;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    for (Put put : puts) {<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      result = put(tableName, put, this.maxAttempts);<a name="line.168"></a>
+<span class="sourceLineNo">169</span>      if (result == false) {<a name="line.169"></a>
+<span class="sourceLineNo">170</span><a name="line.170"></a>
+<span class="sourceLineNo">171</span>        // Create the failed puts list if necessary<a name="line.171"></a>
+<span class="sourceLineNo">172</span>        if (failedPuts == null) {<a name="line.172"></a>
+<span class="sourceLineNo">173</span>          failedPuts = new ArrayList&lt;Put&gt;();<a name="line.173"></a>
+<span class="sourceLineNo">174</span>        }<a name="line.174"></a>
+<span class="sourceLineNo">175</span>        // Add the put to the failed puts list<a name="line.175"></a>
+<span class="sourceLineNo">176</span>        failedPuts.add(put);<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>    return failedPuts;<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>  /**<a name="line.182"></a>
+<span class="sourceLineNo">183</span>   * @deprecated Use {@link #put(TableName, List) } instead.<a name="line.183"></a>
+<span class="sourceLineNo">184</span>   */<a name="line.184"></a>
+<span class="sourceLineNo">185</span>  @Deprecated<a name="line.185"></a>
+<span class="sourceLineNo">186</span>  public List&lt;Put&gt; put(byte[] tableName, final List&lt;Put&gt; puts) {<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    return put(TableName.valueOf(tableName), puts);<a name="line.187"></a>
+<span class="sourceLineNo">188</span>  }<a name="line.188"></a>
+<span class="sourceLineNo">189</span><a name="line.189"></a>
+<span class="sourceLineNo">190</span>  /**<a name="line.190"></a>
+<span class="sourceLineNo">191</span>   * The put request will be buffered by its corresponding buffer queue. And the put request will be<a name="line.191"></a>
+<span class="sourceLineNo">192</span>   * retried before dropping the request.<a name="line.192"></a>
+<span class="sourceLineNo">193</span>   * Return false if the queue is already full.<a name="line.193"></a>
+<span class="sourceLineNo">194</span>   * @return true if the request can be accepted by its corresponding buffer queue.<a name="line.194"></a>
+<span class="sourceLineNo">195</span>   */<a name="line.195"></a>
+<span class="sourceLineNo">196</span>  public boolean put(final TableName tableName, final Put put, int maxAttempts) {<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    return _put(tableName, put, maxAttempts, false);<a name="line.197"></a>
+<span class="sourceLineNo">198</span>  }<a name="line.198"></a>
+<span class="sourceLineNo">199</span><a name="line.199"></a>
+<span class="sourceLineNo">200</span>  /**<a name="line.200"></a>
+<span class="sourceLineNo">201</span>   * Internal "put" which exposes a boolean flag to control whether or not the region location<a name="line.201"></a>
+<span class="sourceLineNo">202</span>   * cache should be reloaded when trying to queue the {@link Put}.<a name="line.202"></a>
+<span class="sourceLineNo">203</span>   * @param tableName Destination table for the Put<a name="line.203"></a>
+<span class="sourceLineNo">204</span>   * @param put The Put to send<a name="line.204"></a>
+<span class="sourceLineNo">205</span>   * @param maxAttempts Number of attempts to retry the {@code put}<a name="line.205"></a>
+<span class="sourceLineNo">206</span>   * @param reloadCache Should the region location cache be reloaded<a name="line.206"></a>
+<span class="sourceLineNo">207</span>   * @return true if the request was accepted in the queue, otherwise false<a name="line.207"></a>
+<span class="sourceLineNo">208</span>   */<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  boolean _put(final TableName tableName, final Put put, int maxAttempts, boolean reloadCache) {<a name="line.209"></a>
+<span class="sourceLineNo">210</span>    if (maxAttempts &lt;= 0) {<a name="line.210"></a>
+<span class="sourceLineNo">211</span>      return false;<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    }<a name="line.212"></a>
+<span class="sourceLineNo">213</span><a name="line.213"></a>
+<span class="sourceLineNo">214</span>    try {<a name="line.214"></a>
+<span class="sourceLineNo">215</span>      HTable.validatePut(put, maxKeyValueSize);<a name="line.215"></a>
+<span class="sourceLineNo">216</span>      // Allow mocking to get at the connection, but don't expose the connection to users.<a name="line.216"></a>
+<span class="sourceLineNo">217</span>      ClusterConnection conn = (ClusterConnection) getConnection();<a name="line.217"></a>
+<span class="sourceLineNo">218</span>      HRegionLocation loc = conn.getRegionLocation(tableName, put.getRow(), reloadCache);<a name="line.218"></a>
+<span class="sourceLineNo">219</span>      if (loc != null) {<a name="line.219"></a>
+<span class="sourceLineNo">220</span>        // Add the put pair into its corresponding queue.<a name="line.220"></a>
+<span class="sourceLineNo">221</span>        LinkedBlockingQueue&lt;PutStatus&gt; queue = getQueue(loc);<a name="line.221"></a>
+<span class="sourceLineNo">222</span><a name="line.222"></a>
+<span class="sourceLineNo">223</span>        // Generate a MultiPutStatus object and offer it into the queue<a name="line.223"></a>
+<span class="sourceLineNo">224</span>        PutStatus s = new PutStatus(loc.getRegionInfo(), put, maxAttempts);<a name="line.224"></a>
+<span class="sourceLineNo">225</span><a name="line.225"></a>
+<span class="sourceLineNo">226</span>        return queue.offer(s);<a name="line.226"></a>
+<span class="sourceLineNo">227</span>      }<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    } catch (IOException e) {<a name="line.228"></a>
+<span class="sourceLineNo">229</span>      LOG.debug("Cannot process the put " + put, e);<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    }<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    return false;<a name="line.231"></a>
+<span class="sourceLineNo">232</span>  }<a name="line.232"></a>
+<span class="sourceLineNo">233</span><a name="line.233"></a>
+<span class="sourceLineNo">234</span>  /**<a name="line.234"></a>
+<span class="sourceLineNo">235</span>   * @deprecated Use {@link #put(TableName, Put) } instead.<a name="line.235"></a>
+<span class="sourceLineNo">236</span>   */<a name="line.236"></a>
+<span class="sourceLineNo">237</span>  @Deprecated<a name="line.237"></a>
+<span class="sourceLineNo">238</span>  public boolean put(final byte[] tableName, final Put put, int retry) {<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    return put(TableName.valueOf(tableName), put, retry);<a name="line.239"></a>
+<span class="sourceLineNo">240</span>  }<a name="line.240"></a>
+<span class="sourceLineNo">241</span><a name="line.241"></a>
+<span class="sourceLineNo">242</span>  /**<a name="line.242"></a>
+<span class="sourceLineNo">243</span>   * @deprecated Use {@link #put(TableName, Put)} instead.<a name="line.243"></a>
+<span class="sourceLineNo">244</span>   */<a name="line.244"></a>
+<span class="sourceLineNo">245</span>  @Deprecated<a name="line.245"></a>
+<span class="sourceLineNo">246</span>  public boolean put(final byte[] tableName, Put put) {<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    return put(TableName.valueOf(tableName), put);<a name="line.247"></a>
+<span class="sourceLineNo">248</span>  }<a name="line.248"></a>
+<span class="sourceLineNo">249</span><a name="line.249"></a>
+<span class="sourceLineNo">250</span>  /**<a name="line.250"></a>
+<span class="sourceLineNo">251</span>   * @return the current HTableMultiplexerStatus<a name="line.251"></a>
+<span class="sourceLineNo">252</span>   */<a name="line.252"></a>
+<span class="sourceLineNo">253</span>  public HTableMultiplexerStatus getHTableMultiplexerStatus() {<a name="line.253"></a>
+<span class="sourceLineNo">254</span>    return new HTableMultiplexerStatus(serverToFlushWorkerMap);<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>  @VisibleForTesting<a name="line.257"></a>
+<span class="sourceLineNo">258</span>  LinkedBlockingQueue&lt;PutStatus&gt; getQueue(HRegionLocation addr) {<a name="line.258"></a>
+<span class="sourceLineNo">259</span>    FlushWorker worker = serverToFlushWorkerMap.get(addr);<a name="line.259"></a>
+<span class="sourceLineNo">260</span>    if (worker == null) {<a name="line.260"></a>
+<span class="sourceLineNo">261</span>      synchronized (this.serverToFlushWorkerMap) {<a name="line.261"></a>
+<span class="sourceLineNo">262</span>        worker = serverToFlushWorkerMap.get(addr);<a name="line.262"></a>
+<span class="sourceLineNo">263</span>        if (worker == null) {<a name="line.263"></a>
+<span class="sourceLineNo">264</span>          // Create the flush worker<a name="line.264"></a>
+<span class="sourceLineNo">265</span>          worker = new FlushWorker(workerConf, this.conn, addr, this,<a name="line.265"></a>
+<span class="sourceLineNo">266</span>              perRegionServerBufferQueueSize, pool, executor);<a name="line.266"></a>
+<span class="sourceLineNo">267</span>          this.serverToFlushWorkerMap.put(addr, worker);<a name="line.267"></a>
+<span class="sourceLineNo">268</span>          executor.scheduleAtFixedRate(worker, flushPeriod, flushPeriod, TimeUnit.MILLISECONDS);<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>    }<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    return worker.getQueue();<a name="line.272"></a>
+<span class="sourceLineNo">273</span>  }<a name="line.273"></a>
+<span class="sourceLineNo">274</span><a name="line.274"></a>
+<span class="sourceLineNo">275</span>  @VisibleForTesting<a name="line.275"></a>
+<span class="sourceLineNo">276</span>  ClusterConnection getConnection() {<a name="line.276"></a>
+<span class="sourceLineNo">277</span>    return this.conn;<a name="line.277"></a>
+<span class="sourceLineNo">278</span>  }<a name="line.278"></a>
+<span class="sourceLineNo">279</span><a name="line.279"></a>
+<span class="sourceLineNo">280</span>  /**<a name="line.280"></a>
+<span class="sourceLineNo">281</span>   * HTableMultiplexerStatus keeps track of the current status of the HTableMultiplexer.<a name="line.281"></a>
+<span class="sourceLineNo">282</span>   * report the number of buffered requests and the number of the failed (dropped) requests<a name="line.282"></a>
+<span class="sourceLineNo">283</span>   * in total or on per region server basis.<a name="line.283"></a>
+<span class="sourceLineNo">284</span>   */<a name="line.284"></a>
+<span class="sourceLineNo">285</span>  @InterfaceAudience.Public<a name="line.285"></a>
+<span class="sourceLineNo">286</span>  @InterfaceStability.Evolving<a name="line.286"></a>
+<span class="sourceLineNo">287</span>  public static class HTableMultiplexerStatus {<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    private long totalFailedPutCounter;<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    private long totalBufferedPutCounter;<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    private long maxLatency;<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    private long overallAverageLatency;<a name="line.291"></a>
+<span class="sourceLineNo">292</span>    private Map&lt;String, Long&gt; serverToFailedCounterMap;<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    private Map&lt;String, Long&gt; serverToBufferedCounterMap;<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    private Map&lt;String, Long&gt; serverToAverageLatencyMap;<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    private Map&lt;String, Long&gt; serverToMaxLatencyMap;<a name="line.295"></a>
+<span class="sourceLineNo">296</span><a name="line.296"></a>
+<span class="sourceLineNo">297</span>    public HTableMultiplexerStatus(<a name="line.297"></a>
+<span class="sourceLineNo">298</span>        Map&lt;HRegionLocation, FlushWorker&gt; serverToFlushWorkerMap) {<a name="line.298"></a>
+<span class="sourceLineNo">299</span>      this.totalBufferedPutCounter = 0;<a name="line.299"></a>
+<span class="sourceLineNo">300</span>      this.totalFailedPutCounter = 0;<a name="line.300"></a>
+<span class="sourceLineNo">301</span>      this.maxLatency = 0;<a name="line.301"></a>
+<span class="sourceLineNo">302</span>      this.overallAverageLatency = 0;<a name="line.302"></a>
+<span class="sourceLineNo">303</span>      this.serverToBufferedCounterMap = new HashMap&lt;String, Long&gt;();<a name="line.303"></a>
+<span class="sourceLineNo">304</span>      this.serverToFailedCounterMap = new HashMap&lt;String, Long&gt;();<a name="line.304"></a>
+<span class="sourceLineNo">305</span>      this.serverToAverageLatencyMap = new HashMap&lt;String, Long&gt;();<a name="line.305"></a>
+<span class="sourceLineNo">306</span>      this.serverToMaxLatencyMap = new HashMap&lt;String, Long&gt;();<a name="line.306"></a>
+<span class="sourceLineNo">307</span>      this.initialize(serverToFlushWorkerMap);<a name="line.307"></a>
 <span class="sourceLineNo">308</span>    }<a name="line.308"></a>
 <span class="sourceLineNo">309</span><a name="line.309"></a>
-<span class="sourceLineNo">310</span>    public long getTotalBufferedCounter() {<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      return this.totalBufferedPutCounter;<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    }<a name="line.312"></a>
-<span class="sourceLineNo">313</span><a name="line.313"></a>
-<span class="sourceLineNo">314</span>    public long getTotalFailedCounter() {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>      return this.totalFailedPutCounter;<a name="line.315"></a>
-<span class="sourceLineNo">316</span>    }<a name="line.316"></a>
-<span class="sourceLineNo">317</span><a name="line.317"></a>
-<span class="sourceLineNo">318</span>    public long getMaxLatency() {<a name="line.318"></a>
-<span class="sourceLineNo">319</span>      return this.maxLatency;<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    }<a name="line.320"></a>
-<span class="sourceLineNo">321</span><a name="line.321"></a>
-<span class="sourceLineNo">322</span>    public long getOverallAverageLatency() {<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      return this.overallAverageLatency;<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>    public Map&lt;String, Long&gt; getBufferedCounterForEachRegionServer() {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>      return this.serverToBufferedCounterMap;<a name="line.327"></a>
-<span class="sourceLineNo">328</span>    }<a name="line.328"></a>
-<span class="sourceLineNo">329</span><a name="line.329"></a>
-<span class="sourceLineNo">330</span>    public Map&lt;String, Long&gt; getFailedCounterForEachRegionServer() {<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      return this.serverToFailedCounterMap;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    }<a name="line.332"></a>
-<span class="sourceLineNo">333</span><a name="line.333"></a>
-<span class="sourceLineNo">334</span>    public Map&lt;String, Long&gt; getMaxLatencyForEachRegionServer() {<a name="line.334"></a>
-<span class="sourceLineNo">335</span>      return this.serverToMaxLatencyMap;<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    }<a name="line.336"></a>
-<span class="sourceLineNo">337</span><a name="line.337"></a>
-<span class="sourceLineNo">338</span>    public Map&lt;String, Long&gt; getAverageLatencyForEachRegionServer() {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>      return this.serverToAverageLatencyMap;<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    }<a name="line.340"></a>
-<span class="sourceLineNo">341</span>  }<a name="line.341"></a>
-<span class="sourceLineNo">342</span><a name="line.342"></a>
-<span class="sourceLineNo">343</span>  private static class PutStatus {<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    private final HRegionInfo regionInfo;<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    private final Put put;<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    private final int maxAttempCount;<a name="line.346"></a>
-<span class="sourceLineNo">347</span><a name="line.347"></a>
-<span class="sourceLineNo">348</span>    public PutStatus(HRegionInfo regionInfo, Put put, int maxAttempCount) {<a name="line.348"></a>
-<span class="sourceLineNo">349</span>      this.regionInfo = regionInfo;<a name="line.349"></a>
-<span class="sourceLineNo">350</span>      this.put = put;<a name="line.350"></a>
-<span class="sourceLineNo">351</span>      this.maxAttempCount = maxAttempCount;<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    }<a name="line.352"></a>
-<span class="sourceLineNo">353</span>  }<a name="line.353"></a>
+<span class="sourceLineNo">310</span>    private void initialize(<a name="line.310"></a>
+<span class="sourceLineNo">311</span>        Map&lt;HRegionLocation, FlushWorker&gt; serverToFlushWorkerMap) {<a name="line.311"></a>
+<span class="sourceLineNo">312</span>      if (serverToFlushWorkerMap == null) {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>        return;<a name="line.313"></a>
+<span class="sourceLineNo">314</span>      }<a name="line.314"></a>
+<span class="sourceLineNo">315</span><a name="line.315"></a>
+<span class="sourceLineNo">316</span>      long averageCalcSum = 0;<a name="line.316"></a>
+<span class="sourceLineNo">317</span>      int averageCalcCount = 0;<a name="line.317"></a>
+<span class="sourceLineNo">318</span>      for (Map.Entry&lt;HRegionLocation, FlushWorker&gt; entry : serverToFlushWorkerMap<a name="line.318"></a>
+<span class="sourceLineNo">319</span>          .entrySet()) {<a name="line.319"></a>
+<span class="sourceLineNo">320</span>        HRegionLocation addr = entry.getKey();<a name="line.320"></a>
+<span class="sourceLineNo">321</span>        FlushWorker worker = entry.getValue();<a name="line.321"></a>
+<span class="sourceLineNo">322</span><a name="line.322"></a>
+<span class="sourceLineNo">323</span>        long bufferedCounter = worker.getTotalBufferedCount();<a name="line.323"></a>
+<span class="sourceLineNo">324</span>        long failedCounter = worker.getTotalFailedCount();<a name="line.324"></a>
+<span class="sourceLineNo">325</span>        long serverMaxLatency = worker.getMaxLatency();<a name="line.325"></a>
+<span class="sourceLineNo">326</span>        AtomicAverageCounter averageCounter = worker.getAverageLatencyCounter();<a name="line.326"></a>
+<span class="sourceLineNo">327</span>        // Get sum and count pieces separately to compute overall average<a name="line.327"></a>
+<span class="sourceLineNo">328</span>        SimpleEntry&lt;Long, Integer&gt; averageComponents = averageCounter<a name="line.328"></a>
+<span class="sourceLineNo">329</span>            .getComponents();<a name="line.329"></a>
+<span class="sourceLineNo">330</span>        long serverAvgLatency = averageCounter.getAndReset();<a name="line.330"></a>
+<span class="sourceLineNo">331</span><a name="line.331"></a>
+<span class="sourceLineNo">332</span>        this.totalBufferedPutCounter += bufferedCounter;<a name="line.332"></a>
+<span class="sourceLineNo">333</span>        this.totalFailedPutCounter += failedCounter;<a name="line.333"></a>
+<span class="sourceLineNo">334</span>        if (serverMaxLatency &gt; this.maxLatency) {<a name="line.334"></a>
+<span class="sourceLineNo">335</span>          this.maxLatency = serverMaxLatency;<a name="line.335"></a>
+<span class="sourceLineNo">336</span>        }<a name="line.336"></a>
+<span class="sourceLineNo">337</span>        averageCalcSum += averageComponents.getKey();<a name="line.337"></a>
+<span class="sourceLineNo">338</span>        averageCalcCount += averageComponents.getValue();<a name="line.338"></a>
+<span class="sourceLineNo">339</span><a name="line.339"></a>
+<span class="sourceLineNo">340</span>        this.serverToBufferedCounterMap.put(addr.getHostnamePort(),<a name="line.340"></a>
+<span class="sourceLineNo">341</span>            bufferedCounter);<a name="line.341"></a>
+<span class="sourceLineNo">342</span>        this.serverToFailedCounterMap<a name="line.342"></a>
+<span class="sourceLineNo">343</span>            .put(addr.getHostnamePort(),<a name="line.343"></a>
+<span class="sourceLineNo">344</span>            failedCounter);<a name="line.344"></a>
+<span class="sourceLineNo">345</span>        this.serverToAverageLatencyMap.put(addr.getHostnamePort(),<a name="line.345"></a>
+<span class="sourceLineNo">346</span>            serverAvgLatency);<a name="line.346"></a>
+<span class="sourceLineNo">347</span>        this.serverToMaxLatencyMap<a name="line.347"></a>
+<span class="sourceLineNo">348</span>            .put(addr.getHostnamePort(),<a name="line.348"></a>
+<span class="sourceLineNo">349</span>            serverMaxLatency);<a name="line.349"></a>
+<span class="sourceLineNo">350</span>      }<a name="line.350"></a>
+<span class="sourceLineNo">351</span>      this.overallAverageLatency = averageCalcCount != 0 ? averageCalcSum<a name="line.351"></a>
+<span class="sourceLineNo">352</span>          / averageCalcCount : 0;<a name="line.352"></a>
+<span class="sourceLineNo">353</span>    }<a name="line.353"></a>
 <span class="sourceLineNo">354</span><a name="line.354"></a>
-<span class="sourceLineNo">355</span>  /**<a name="line.355"></a>
-<span class="sourceLineNo">356</span>   * Helper to count the average over an interval until reset.<a name="line.356"></a>
-<span class="sourceLineNo">357</span>   */<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  private static class AtomicAverageCounter {<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    private long sum;<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    private int count;<a name="line.360"></a>
-<span class="sourceLineNo">361</span><a name="line.361"></a>
-<span class="sourceLineNo">362</span>    public AtomicAverageCounter() {<a name="line.362"></a>
-<span class="sourceLineNo">363</span>      this.sum = 0L;<a name="line.363"></a>
-<span class="sourceLineNo">364</span>      this.count = 0;<a name="line.364"></a>
+<span class="sourceLineNo">355</span>    public long getTotalBufferedCounter() {<a name="line.355"></a>
+<span class="sourceLineNo">356</span>      return this.totalBufferedPutCounter;<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>    public long getTotalFailedCounter() {<a name="line.359"></a>
+<span class="sourceLineNo">360</span>      return this.totalFailedPutCounter;<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>    public long getMaxLatency() {<a name="line.363"></a>
+<span class="sourceLineNo">364</span>      return this.maxLatency;<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>    public synchronized long getAndReset() {<a name="line.367"></a>
-<span class="sourceLineNo">368</span>      long result = this.get();<a name="line.368"></a>
-<span class="sourceLineNo">369</span>      this.reset();<a name="line.369"></a>
-<span class="sourceLineNo">370</span>      return result;<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>    public synchronized long get() {<a name="line.373"></a>
-<span class="sourceLineNo">374</span>      if (this.count == 0) {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>        return 0;<a name="line.375"></a>
-<span class="sourceLineNo">376</span>      }<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      return this.sum / this.count;<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>    public synchronized SimpleEntry&lt;Long, Integer&gt; getComponents() {<a name="line.380"></a>
-<span class="sourceLineNo">381</span>      return new SimpleEntry&lt;Long, Integer&gt;(sum, count);<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    }<a name="line.382"></a>
-<span class="sourceLineNo">383</span><a name="line.383"></a>
-<span class="sourceLineNo">384</span>    public synchronized void reset() {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>      this.sum = 0L;<a name="line.385"></a>
-<span class="sourceLineNo">386</span>      this.count = 0;<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    }<a name="line.387"></a>
-<span class="sourceLineNo">388</span><a name="line.388"></a>
-<span class="sourceLineNo">389</span>    public synchronized void add(long value) {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>      this.sum += value;<a name="line.390"></a>
-<span class="sourceLineNo">391</span>      this.count++;<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    }<a name="line.392"></a>
-<span class="sourceLineNo">393</span>  }<a name="line.393"></a>
-<span class="sourceLineNo">394</span><a name="line.394"></a>
-<span class="sourceLineNo">395</span>  private static class FlushWorker implements Runnable {<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    private final HRegionLocation addr;<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    private final LinkedBlockingQueue&lt;PutStatus&gt; queue;<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    private final HTableMultiplexer multiplexer;<a name="line.398"></a>
-<span class="sourceLineNo">399</span>    private final AtomicLong totalFailedPutCount = new AtomicLong(0);<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    private final AtomicInteger currentProcessingCount = new AtomicInteger(0);<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    private final AtomicAverageCounter averageLatency = new AtomicAverageCounter();<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    private final AtomicLong maxLatency = new AtomicLong(0);<a name="line.402"></a>
-<span class="sourceLineNo">403</span><a name="line.403"></a>
-<span class="sourceLineNo">404</span>    private final AsyncProcess ap;<a name="line.404"></a>
-<span class="sourceLineNo">405</span>    private final List&lt;PutStatus&gt; processingList = new ArrayList&lt;&gt;();<a name="line.405"></a>
-<span class="sourceLineNo">406</span>    private final ScheduledExecutorService executor;<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    private final int maxRetryInQueue;<a name="line.407"></a>
-<span class="sourceLineNo">408</span>    private final AtomicInteger retryInQueue = new AtomicInteger(0);<a name="line.408"></a>
-<span class="sourceLineNo">409</span><a name="line.409"></a>
-<span class="sourceLineNo">410</span>    public FlushWorker(Configuration conf, ClusterConnection conn, HRegionLocation addr,<a name="line.410"></a>
-<span class="sourceLineNo">411</span>        HTableMultiplexer htableMultiplexer, int perRegionServerBufferQueueSize,<a name="line.411"></a>
-<span class="sourceLineNo">412</span>        ExecutorService pool, ScheduledExecutorService executor) {<a name="line.412"></a>
-<span class="sourceLineNo">413</span>      this.addr = addr;<a name="line.413"></a>
-<span class="sourceLineNo">414</span>      this.multiplexer = htableMultiplexer;<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      this.queue = new LinkedBlockingQueue&lt;&gt;(perRegionServerBufferQueueSize);<a name="line.415"></a>
-<span class="sourceLineNo">416</span>      RpcRetryingCallerFactory rpcCallerFactory = RpcRetryingCallerFactory.instantiate(conf);<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      RpcControllerFactory rpcControllerFactory = RpcControllerFactory.instantiate(conf);<a name="line.417"></a>
-<span class="sourceLineNo">418</span>      this.ap = new AsyncProcess(conn, conf, pool, rpcCallerFactory, false, rpcControllerFactory);<a name="line.418"></a>
-<span class="sourceLineNo">419</span>      this.executor = executor;<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      this.maxRetryInQueue = conf.getInt(TABLE_MULTIPLEXER_MAX_RETRIES_IN_QUEUE, 10000);<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    }<a name="line.421"></a>
-<span class="sourceLineNo">422</span><a name="line.422"></a>
-<span class="sourceLineNo">423</span>    protected LinkedBlockingQueue&lt;PutStatus&gt; getQueue() {<a name="line.423"></a>
-<span class="sourceLineNo">424</span>      return this.queue;<a name="line.424"></a>
-<span class="sourceLineNo">425</span>    }<a name="line.425"></a>
-<span class="sourceLineNo">426</span><a name="line.426"></a>
-<span class="sourceLineNo">427</span>    public long getTotalFailedCount() {<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      return totalFailedPutCount.get();<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>    public long getTotalBufferedCount() {<a name="line.431"></a>
-<span class="sourceLineNo">432</span>      return queue.size() + currentProcessingCount.get();<a name="line.432"></a>
+<span class="sourceLineNo">367</span>    public long getOverallAverageLatency() {<a name="line.367"></a>
+<span class="sourceLineNo">368</span>      return this.overallAverageLatency;<a name="line.368"></a>
+<span class="sourceLineNo">369</span>    }<a name="line.369"></a>
+<span class="sourceLineNo">370</span><a name="line.370"></a>
+<span class="sourceLineNo">371</span>    public Map&lt;String, Long&gt; getBufferedCounterForEachRegionServer() {<a name="line.371"></a>
+<span class="sourceLineNo">372</span>      return this.serverToBufferedCounterMap;<a name="line.372"></a>
+<span class="sourceLineNo">373</span>    }<a name="line.373"></a>
+<span class="sourceLineNo">374</span><a name="line.374"></a>
+<span class="sourceLineNo">375</span>    public Map&lt;String, Long&gt; getFailedCounterForEachRegionServer() {<a name="line.375"></a>
+<span class="sourceLineNo">376</span>      return this.serverToFailedCounterMap;<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    }<a name="line.377"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>    public Map&lt;String, Long&gt; getMaxLatencyForEachRegionServer() {<a name="line.379"></a>
+<span class="sourceLineNo">380</span>      return this.serverToMaxLatencyMap;<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>    public Map&lt;String, Long&gt; getAverageLatencyForEachRegionServer() {<a name="line.383"></a>
+<span class="sourceLineNo">384</span>      return this.serverToAverageLatencyMap;<a name="line.384"></a>
+<span class="sourceLineNo">385</span>    }<a name="line.385"></a>
+<span class="sourceLineNo">386</span>  }<a name="line.386"></a>
+<span class="sourceLineNo">387</span><a name="line.387"></a>
+<span class="sourceLineNo">388</span>  @VisibleForTesting<a name="line.388"></a>
+<span class="sourceLineNo">389</span>  static class PutStatus {<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    final HRegionInfo regionInfo;<a name="line.390"></a>
+<span class="sourceLineNo">391</span>    final Put put;<a name="line.391"></a>
+<span class="sourceLineNo">392</span>    final int maxAttempCount;<a name="line.392"></a>
+<span class="sourceLineNo">393</span><a name="line.393"></a>
+<span class="sourceLineNo">394</span>    public PutStatus(HRegionInfo regionInfo, Put put, int maxAttempCount) {<a name="line.394"></a>
+<span class="sourceLineNo">395</span>      this.regionInfo = regionInfo;<a name="line.395"></a>
+<span class="sourceLineNo">396</span>      this.put = put;<a name="line.396"></a>
+<span class="sourceLineNo">397</span>      this.maxAttempCount = maxAttempCount;<a name="line.397"></a>
+<span class="sourceLineNo">398</span>    }<a name="line.398"></a>
+<span class="sourceLineNo">399</span>  }<a name="line.399"></a>
+<span class="sourceLineNo">400</span><a name="line.400"></a>
+<span class="sourceLineNo">401</span>  /**<a name="line.401"></a>
+<span class="sourceLineNo">402</span>   * Helper to count the average over an interval until reset.<a name="line.402"></a>
+<span class="sourceLineNo">403</span>   */<a name="line.403"></a>
+<span class="sourceLineNo">404</span>  private static class AtomicAverageCounter {<a name="line.404"></a>
+<span class="sourceLineNo">405</span>    private long sum;<a name="line.405"></a>
+<span class="sourceLineNo">406</span>    private int count;<a name="line.406"></a>
+<span class="sourceLineNo">407</span><a name="line.407"></a>
+<span class="sourceLineNo">408</span>    public AtomicAverageCounter() {<a name="line.408"></a>
+<span class="sourceLineNo">409</span>      this.sum = 0L;<a name="line.409"></a>
+<span class="sourceLineNo">410</span>      this.count = 0;<a name="line.410"></a>
+<span class="sourceLineNo">411</span>    }<a name="line.411"></a>
+<span class="sourceLineNo">412</span><a name="line.412"></a>
+<span class="sourceLineNo">413</span>    public synchronized long getAndReset() {<a name="line.413"></a>
+<span class="sourceLineNo">414</span>      long result = this.get();<a name="line.414"></a>
+<span class="sourceLineNo">415</span>      this.reset();<a name="line.415"></a>
+<span class="sourceLineNo">416</span>      return result;<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>    public synchronized long get() {<a name="line.419"></a>
+<span class="sourceLineNo">420</span>      if (this.count == 0) {<a name="line.420"></a>
+<span class="sourceLineNo">421</span>        return 0;<a name="line.421"></a>
+<span class="sourceLineNo">422</span>      }<a name="line.422"></a>
+<span class="sourceLineNo">423</span>      return this.sum / this.count;<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>    public synchronized SimpleEntry&lt;Long, Integer&gt; getComponents() {<a name="line.426"></a>
+<span class="sourceLineNo">427</span>      return new SimpleEntry&lt;Long, Integer&gt;(sum, count);<a name="line.427"></a>
+<span class="sourceLineNo">428</span>    }<a name="line.428"></a>
+<span class="sourceLineNo">429</span><a name="line.429"></a>
+<span class="sourceLineNo">430</span>    public synchronized void reset() {<a name="line.430"></a>
+<span class="sourceLineNo">431</span>      this.sum = 0L;<a name="line.431"></a>
+<span class="sourceLineNo">432</span>      this.count = 0;<a name="line.432"></a>
 <span class="sourceLineNo">433</span>    }<a name="line.433"></a>
 <span class="sourceLineNo">434</span><a name="line.434"></a>
-<span class="sourceLineNo">435</span>    public AtomicAverageCounter getAverageLatencyCounter() {<a name="line.435"></a>
-<span class="sourceLineNo">436</span>      return this.averageLatency;<a name="line.436"></a>
-<span class="sourceLineNo">437</span>    }<a name="line.437"></a>
-<span class="sourceLineNo">438</span><a name="line.438"></a>
-<span class="sourceLineNo">439</span>    public long getMaxLatency() {<a name="line.439"></a>
-<span class="sourceLineNo">440</span>      return this.maxLatency.getAndSet(0);<a name="line.440"></a>
-<span class="sourceLineNo">441</span>    }<a name="line.441"></a>
-<span class="sourceLineNo">442</span><a name="line.442"></a>
-<span class="sourceLineNo">443</span>    private boolean resubmitFailedPut(PutStatus ps, HRegionLocation oldLoc) throws IOException {<a name="line.443"></a>
-<span class="sourceLineNo">444</span>      // Decrease the retry count<a name="line.444"></a>
-<span class="sourceLineNo">445</span>      final int retryCount = ps.maxAttempCount - 1;<a name="line.445"></a>
-<span class="sourceLineNo">446</span><a name="line.446"></a>
-<span class="sourceLineNo">447</span>      if (retryCount &lt;= 0) {<a name="line.447"></a>
-<span class="sourceLineNo">448</span>        // Update the failed counter and no retry any more.<a name="line.448"></a>
-<span class="sourceLineNo">449</span>        return false;<a name="line.449"></a>
-<span class="sourceLineNo">450</span>      }<a name="line.450"></a>
-<span class="sourceLineNo">451</span><a name="line.451"></a>
-<span class="sourceLineNo">452</span>      int cnt = retryInQueue.incrementAndGet();<a name="line.452"></a>
-<span class="sourceLineNo">453</span>      if (cnt &gt; maxRetryInQueue) {<a name="line.453"></a>
-<span class="sourceLineNo">454</span>        // Too many Puts in queue for resubmit, give up this<a name="line.454"></a>
-<span class="sourceLineNo">455</span>        retryInQueue.decrementAndGet();<a name="line.455"></a>
-<span class="sourceLineNo">456</span>        return false;<a name="line.456"></a>
-<span class="sourceLineNo">457</span>      }<a name="line.457"></a>
-<span class="sourceLineNo">458</span><a name="line.458"></a>
-<span class="sourceLineNo">459</span>      final Put failedPut = ps.put;<a name="line.459"></a>
-<span class="sourceLineNo">460</span>      // The currentPut is failed. So get the table name for the currentPut.<a name="line.460"></a>
-<span class="sourceLineNo">461</span>      final TableName tableName = ps.regionInfo.getTable();<a name="line.461"></a>
-<span class="sourceLineNo">462</span><a name="line.462"></a>
-<span class="sourceLineNo">463</span>      long delayMs = ConnectionUtils.getPauseTime(multiplexer.flushPeriod,<a name="line.463"></a>
-<span class="sourceLineNo">464</span>        multiplexer.maxAttempts - retryCount - 1);<a name="line.464"></a>
-<span class="sourceLineNo">465</span>      if (LOG.isDebugEnabled()) {<a name="line.465"></a>
-<span class="sourceLineNo">466</span>        LOG.debug("resubmitting after " + delayMs + "ms: " + retryCount);<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>      executor.schedule(new Runnable() {<a name="line.469"></a>
-<span class="sourceLineNo">470</span>        @Override<a name="line.470"></a>
-<span class="sourceLineNo">471</span>        public void run() {<a name="line.471"></a>
-<span class="sourceLineNo">472</span>          boolean succ = false;<a name="line.472"></a>
-<span class="sourceLineNo">473</span>          try {<a name="line.473"></a>
-<span class="sourceLineNo">474</span>            succ = FlushWorker.this.multiplexer.put(tableName, failedPut, retryCount);<a name="line.474"></a>
-<span class="sourceLineNo">475</span>          } finally {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>            FlushWorker.this.retryInQueue.decrementAndGet();<a name="line.476"></a>
-<span class="sourceLineNo">477</span>            if (!succ) {<a name="line.477"></a>
-<span class="sourceLineNo">478</span>              FlushWorker.this.totalFailedPutCount.incrementAndGet();<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>      }, delayMs, TimeUnit.MILLISECONDS);<a name="line.482"></a>
-<span class="sourceLineNo">483</span>      return true;<a name="line.483"></a>
+<span class="sourceLineNo">435</span>    public synchronized void add(long value) {<a name="line.435"></a>
+<span class="sourceLineNo">436</span>      this.sum += value;<a name="line.436"></a>
+<span class="sourceLineNo">437</span>      this.count++;<a name="line.437"></a>
+<span class="sourceLineNo">438</span>    }<a name="line.438"></a>
+<span class="sourceLineNo">439</span>  }<a name="line.439"></a>
+<span class="sourceLineNo">440</span><a name="line.440"></a>
+<span class="sourceLineNo">441</span>  @VisibleForTesting<a name="line.441"></a>
+<span class="sourceLineNo">442</span>  static class FlushWorker implements Runnable {<a name="line.442"></a>
+<span class="sourceLineNo">443</span>    private final HRegionLocation addr;<a name="line.443"></a>
+<span class="sourceLineNo">444</span>    private final LinkedBlockingQueue&lt;PutStatus&gt; queue;<a name="line.444"></a>
+<span class="sourceLineNo">445</span>    private final HTableMultiplexer multiplexer;<a name="line.445"></a>
+<span class="sourceLineNo">446</span>    private final AtomicLong totalFailedPutCount = new AtomicLong(0);<a name="line.446"></a>
+<span class="sourceLineNo">447</span>    private final AtomicInteger currentProcessingCount = new AtomicInteger(0);<a name="line.447"></a>
+<span class="sourceLineNo">448</span>    private final AtomicAverageCounter averageLatency = new AtomicAverageCounter();<a name="line.448"></a>
+<span class="sourceLineNo">449</span>    private final AtomicLong maxLatency = new AtomicLong(0);<a name="line.449"></a>
+<span class="sourceLineNo">450</span><a name="line.450"></a>
+<span class="sourceLineNo">451</span>    private final AsyncProcess ap;<a name="line.451"></a>
+<span class="sourceLineNo">452</span>    private final List&lt;PutStatus&gt; processingList = new ArrayList&lt;&gt;();<a name="line.452"></a>
+<span class="sourceLineNo">453</span>    private final ScheduledExecutorService executor;<a name="line.453"></a>
+<span class="sourceLineNo">454</span>    private final int maxRetryInQueue;<a name="line.454"></a>
+<span class="sourceLineNo">455</span>    private final AtomicInteger retryInQueue = new AtomicInteger(0);<a name="line.455"></a>
+<span class="sourceLineNo">456</span><a name="line.456"></a>
+<span class="sourceLineNo">457</span>    public FlushWorker(Configuration conf, ClusterConnection conn, HRegionLocation addr,<a name="line.457"></a>
+<span class="sourceLineNo">458</span>        HTableMultiplexer htableMultiplexer, int perRegionServerBufferQueueSize,<a name="line.458"></a>
+<span class="sourceLineNo">459</span>        ExecutorService pool, ScheduledExecutorService executor) {<a name="line.459"></a>
+<span class="sourceLineNo">460</span>      this.addr = addr;<a name="line.460"></a>
+<span class="sourceLineNo">461</span>      this.multiplexer = htableMultiplexer;<a name="line.461"></a>
+<span class="sourceLineNo">462</span>      this.queue = new LinkedBlockingQueue&lt;&gt;(perRegionServerBufferQueueSize);<a name="line.462"></a>
+<span class="sourceLineNo">463</span>      RpcRetryingCallerFactory rpcCallerFactory = RpcRetryingCallerFactory.instantiate(conf);<a name="line.463"></a>
+<span class="sourceLineNo">464</span>      RpcControllerFactory rpcControllerFactory = RpcControllerFactory.instantiate(conf);<a name="line.464"></a>
+<span class="sourceLineNo">465</span>      this.ap = new AsyncProcess(conn, conf, pool, rpcCallerFactory, false, rpcControllerFactory);<a name="line.465"></a>
+<span class="sourceLineNo">466</span>      this.executor = executor;<a name="line.466"></a>
+<span class="sourceLineNo">467</span>      this.maxRetryInQueue = conf.getInt(TABLE_MULTIPLEXER_MAX_RETRIES_IN_QUEUE, 10000);<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>    protected LinkedBlockingQueue&lt;PutStatus&gt; getQueue() {<a name="line.

<TRUNCATED>

[43/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/index-all.html
----------------------------------------------------------------------
diff --git a/devapidocs/index-all.html b/devapidocs/index-all.html
index d0fc6af..6d79b71 100644
--- a/devapidocs/index-all.html
+++ b/devapidocs/index-all.html
@@ -2450,17 +2450,14 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/wal/MetricsWALSourceImpl.html#appendCount">appendCount</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.wal.<a href="./org/apache/hadoop/hbase/regionserver/wal/MetricsWALSourceImpl.html" title="class in org.apache.hadoop.hbase.regionserver.wal">MetricsWALSourceImpl</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.html#appendCurrentNonces(org.apache.hadoop.hbase.client.Mutation,%20boolean,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20long,%20long,%20long)">appendCurrentNonces(Mutation, boolean, WALEdit, long, long, long)</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/codec/prefixtree/decode/PrefixTreeArrayScanner.html#appendCurrentTokenToRowBuffer()">appendCurrentTokenToRowBuffer()</a></span> - Method in class org.apache.hadoop.hbase.codec.prefixtree.decode.<a href="./org/apache/hadoop/hbase/codec/prefixtree/decode/PrefixTreeArrayScanner.html" title="class in org.apache.hadoop.hbase.codec.prefixtree.decode">PrefixTreeArrayScanner</a></dt>
 <dd>
 <div class="block">helper methods</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/StoreFile.Writer.html#appendDeleteFamilyBloomFilter(org.apache.hadoop.hbase.Cell)">appendDeleteFamilyBloomFilter(Cell)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/StoreFile.Writer.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFile.Writer</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.html#appendEmptyEdit(org.apache.hadoop.hbase.wal.WAL)">appendEmptyEdit(WAL)</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>
-<div class="block">Append a faked WALEdit in order to get a long sequence number and wal syncer will just ignore
- the WALEdit append later.</div>
-</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/wal/WALSplitter.EntryBuffers.html#appendEntry(org.apache.hadoop.hbase.wal.WAL.Entry)">appendEntry(WAL.Entry)</a></span> - Method in class org.apache.hadoop.hbase.wal.<a href="./org/apache/hadoop/hbase/wal/WALSplitter.EntryBuffers.html" title="class in org.apache.hadoop.hbase.wal">WALSplitter.EntryBuffers</a></dt>
 <dd>
 <div class="block">Append a log entry into the corresponding region buffer.</div>
@@ -2620,12 +2617,16 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/compactions/RatioBasedCompactionPolicy.html#applyCompactionPolicy(java.util.ArrayList,%20boolean,%20boolean)">applyCompactionPolicy(ArrayList&lt;StoreFile&gt;, boolean, boolean)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.compactions.<a href="./org/apache/hadoop/hbase/regionserver/compactions/RatioBasedCompactionPolicy.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">RatioBasedCompactionPolicy</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.html#applyFamilyMapToMemstore(java.util.Map,%20long,%20boolean)">applyFamilyMapToMemstore(Map&lt;byte[], List&lt;Cell&gt;&gt;, long, boolean)</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>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.html#applyFamilyMapToMemstore(java.util.Map,%20boolean,%20long)">applyFamilyMapToMemstore(Map&lt;byte[], List&lt;Cell&gt;&gt;, boolean, long)</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>
 <div class="block">Atomically apply the given map of family->edits to the memstore.</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#applyThrottle(org.apache.hadoop.hbase.protobuf.generated.QuotaProtos.Quotas.Builder,%20org.apache.hadoop.hbase.protobuf.generated.QuotaProtos.ThrottleRequest)">applyThrottle(QuotaProtos.Quotas.Builder, QuotaProtos.ThrottleRequest)</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="./org/apache/hadoop/hbase/quotas/MasterQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">MasterQuotaManager</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.html#applyToMemstore(org.apache.hadoop.hbase.regionserver.Store,%20java.util.List,%20boolean,%20boolean,%20long)">applyToMemstore(Store, List&lt;Cell&gt;, boolean, boolean, long)</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#applyToMemstore(org.apache.hadoop.hbase.regionserver.Store,%20org.apache.hadoop.hbase.Cell,%20long)">applyToMemstore(Store, Cell, long)</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/backup/example/HFileArchiveTableMonitor.html#archivedTables">archivedTables</a></span> - Variable in class org.apache.hadoop.hbase.backup.example.<a href="./org/apache/hadoop/hbase/backup/example/HFileArchiveTableMonitor.html" title="class in org.apache.hadoop.hbase.backup.example">HFileArchiveTableMonitor</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/backup/HFileArchiver.html#archiveFamily(org.apache.hadoop.fs.FileSystem,%20org.apache.hadoop.conf.Configuration,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.fs.Path,%20byte[])">archiveFamily(FileSystem, Configuration, HRegionInfo, Path, byte[])</a></span> - Static method in class org.apache.hadoop.hbase.backup.<a href="./org/apache/hadoop/hbase/backup/HFileArchiver.html" title="class in org.apache.hadoop.hbase.backup">HFileArchiver</a></dt>
@@ -4139,7 +4140,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.html#batchMutate(org.apache.hadoop.hbase.client.Mutation[])">batchMutate(Mutation[])</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#batchMutate(org.apache.hadoop.hbase.regionserver.HRegion.BatchOperationInProgress)">batchMutate(HRegion.BatchOperationInProgress&lt;?&gt;)</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>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.html#batchMutate(org.apache.hadoop.hbase.regionserver.HRegion.BatchOperation)">batchMutate(HRegion.BatchOperation&lt;?&gt;)</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>
 <div class="block">Perform a batch of mutations.</div>
 </dd>
@@ -6786,8 +6787,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/AnnotationReadingPriorityFunction.html#capitalize(java.lang.String)">capitalize(String)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/AnnotationReadingPriorityFunction.html" title="class in org.apache.hadoop.hbase.regionserver">AnnotationReadingPriorityFunction</a></dt>
 <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>
@@ -7559,6 +7558,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/ScannerContext.html#checkBatchLimit(org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope)">checkBatchLimit(ScannerContext.LimitScope)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.html#checkBatchOp(org.apache.hadoop.hbase.regionserver.HRegion.BatchOperation,%20int,%20java.util.Map[],%20long)">checkBatchOp(HRegion.BatchOperation&lt;?&gt;, int, Map&lt;byte[], List&lt;Cell&gt;&gt;[], long)</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/util/BloomFilterUtil.html#checkBit(int,%20org.apache.hadoop.hbase.nio.ByteBuff,%20int)">checkBit(int, ByteBuff, int)</a></span> - Static method in class org.apache.hadoop.hbase.util.<a href="./org/apache/hadoop/hbase/util/BloomFilterUtil.html" title="class in org.apache.hadoop.hbase.util">BloomFilterUtil</a></dt>
 <dd>
 <div class="block">Check if bit at specified index is 1.</div>
@@ -7849,6 +7850,8 @@
 <dd>
 <div class="block">Checks all the mob files of a table.</div>
 </dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.html#checkMutationType(org.apache.hadoop.hbase.client.Mutation,%20byte[])">checkMutationType(Mutation, byte[])</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/quotas/MasterQuotaManager.html#checkNamespaceTableAndRegionQuota(org.apache.hadoop.hbase.TableName,%20int)">checkNamespaceTableAndRegionQuota(TableName, int)</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="./org/apache/hadoop/hbase/quotas/MasterQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">MasterQuotaManager</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/tool/Canary.RegionServerMonitor.html#checkNoTableNames()">checkNoTableNames()</a></span> - Method in class org.apache.hadoop.hbase.tool.<a href="./org/apache/hadoop/hbase/tool/Canary.RegionServerMonitor.html" title="class in org.apache.hadoop.hbase.tool">Canary.RegionServerMonitor</a></dt>
@@ -9220,6 +9223,10 @@
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/HRegionLocator.html#close()">close()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/HRegionLocator.html" title="class in org.apache.hadoop.hbase.client">HRegionLocator</a></dt>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/HTable.html#close()">close()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/HTable.html" title="class in org.apache.hadoop.hbase.client">HTable</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/HTableMultiplexer.html#close()">close()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/HTableMultiplexer.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer</a></dt>
+<dd>
+<div class="block">Closes the internal <a href="./org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client"><code>Connection</code></a>.</div>
+</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/HTableWrapper.html#close()">close()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/HTableWrapper.html" title="class in org.apache.hadoop.hbase.client">HTableWrapper</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/MasterCallable.html#close()">close()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/MasterCallable.html" title="class in org.apache.hadoop.hbase.client">MasterCallable</a></dt>
@@ -17132,8 +17139,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureStore.html#DEFAULT_MAX_SYNC_FAILURE_ROLL">DEFAULT_MAX_SYNC_FAILURE_ROLL</a></span> - Static variable in class org.apache.hadoop.hbase.procedure2.store.wal.<a href="./org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureStore.html" title="class in org.apache.hadoop.hbase.procedure2.store.wal">WALProcedureStore</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.html#DEFAULT_MAX_WAIT_FOR_SEQ_ID">DEFAULT_MAX_WAIT_FOR_SEQ_ID</a></span> - Static variable in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/snapshot/SnapshotDescriptionUtils.html#DEFAULT_MAX_WAIT_TIME">DEFAULT_MAX_WAIT_TIME</a></span> - Static variable in class org.apache.hadoop.hbase.snapshot.<a href="./org/apache/hadoop/hbase/snapshot/SnapshotDescriptionUtils.html" title="class in org.apache.hadoop.hbase.snapshot">SnapshotDescriptionUtils</a></dt>
 <dd>
 <div class="block">By default, wait 300 seconds for a snapshot to complete</div>
@@ -19057,6 +19062,8 @@
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/util/DNS.html#DNS()">DNS()</a></span> - Constructor for class org.apache.hadoop.hbase.util.<a href="./org/apache/hadoop/hbase/util/DNS.html" title="class in org.apache.hadoop.hbase.util">DNS</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.html#doAbortFlushToWAL(org.apache.hadoop.hbase.wal.WAL,%20long,%20java.util.Map)">doAbortFlushToWAL(WAL, long, Map&lt;byte[], List&lt;Path&gt;&gt;)</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/ipc/RpcServer.Listener.html#doAccept(java.nio.channels.SelectionKey)">doAccept(SelectionKey)</a></span> - Method in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/RpcServer.Listener.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Listener</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.html#doAction(org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer.Cluster.Action)">doAction(BaseLoadBalancer.Cluster.Action)</a></span> - Method in class org.apache.hadoop.hbase.master.balancer.<a href="./org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.html" title="class in org.apache.hadoop.hbase.master.balancer">BaseLoadBalancer.Cluster</a></dt>
@@ -19101,6 +19108,10 @@
 <dd>
 <div class="block">Caches the last written HFile block.</div>
 </dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.html#doCheckAndRowMutate(byte[],%20byte[],%20byte[],%20org.apache.hadoop.hbase.filter.CompareFilter.CompareOp,%20org.apache.hadoop.hbase.filter.ByteArrayComparable,%20org.apache.hadoop.hbase.client.RowMutations,%20org.apache.hadoop.hbase.client.Mutation,%20boolean)">doCheckAndRowMutate(byte[], byte[], byte[], CompareFilter.CompareOp, ByteArrayComparable, RowMutations, Mutation, boolean)</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>
+<div class="block">checkAndMutate and checkAndRowMutate are 90% the same.</div>
+</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/handler/OpenRegionHandler.html#doCleanUpOnFailedOpen(org.apache.hadoop.hbase.regionserver.HRegion)">doCleanUpOnFailedOpen(HRegion)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.handler.<a href="./org/apache/hadoop/hbase/regionserver/handler/OpenRegionHandler.html" title="class in org.apache.hadoop.hbase.regionserver.handler">OpenRegionHandler</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/CompactionTool.html#doClient(org.apache.hadoop.fs.FileSystem,%20java.util.Set,%20boolean,%20boolean)">doClient(FileSystem, Set&lt;Path&gt;, boolean, boolean)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/CompactionTool.html" title="class in org.apache.hadoop.hbase.regionserver">CompactionTool</a></dt>
@@ -19121,8 +19132,16 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/CompactSplitThread.CompactionRunner.html#doCompaction(org.apache.hadoop.hbase.security.User)">doCompaction(User)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/CompactSplitThread.CompactionRunner.html" title="class in org.apache.hadoop.hbase.regionserver">CompactSplitThread.CompactionRunner</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.html#doCoprocessorPreCall(org.apache.hadoop.hbase.regionserver.Region.Operation,%20org.apache.hadoop.hbase.client.Mutation)">doCoprocessorPreCall(Region.Operation, Mutation)</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>
+<div class="block">Do coprocessor pre-increment or pre-append call.</div>
+</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/quotas/QuotaUtil.html#doDelete(org.apache.hadoop.hbase.client.Connection,%20org.apache.hadoop.hbase.client.Delete)">doDelete(Connection, Delete)</a></span> - Static method in class org.apache.hadoop.hbase.quotas.<a href="./org/apache/hadoop/hbase/quotas/QuotaUtil.html" title="class in org.apache.hadoop.hbase.quotas">QuotaUtil</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.html#doDelta(org.apache.hadoop.hbase.regionserver.Region.Operation,%20org.apache.hadoop.hbase.client.Mutation,%20long,%20long,%20boolean)">doDelta(Region.Operation, Mutation, long, long, boolean)</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>
+<div class="block">Add "deltas" to Cells.</div>
+</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.WriterThread.html#doDrain(java.util.List)">doDrain(List&lt;BucketCache.RAMQueueEntry&gt;)</a></span> - Method in class org.apache.hadoop.hbase.io.hfile.bucket.<a href="./org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.WriterThread.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache.WriterThread</a></dt>
 <dd>
 <div class="block">Flush the entries in ramCache to IOEngine and add bucket entry to backingMap.</div>
@@ -19152,6 +19171,11 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/tool/Canary.RegionServerMonitor.html#doFilterRegionServerByName(java.util.Map)">doFilterRegionServerByName(Map&lt;String, List&lt;HRegionInfo&gt;&gt;)</a></span> - Method in class org.apache.hadoop.hbase.tool.<a href="./org/apache/hadoop/hbase/tool/Canary.RegionServerMonitor.html" title="class in org.apache.hadoop.hbase.tool">Canary.RegionServerMonitor</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#doFullAppendTransaction(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl,%20boolean)">doFullAppendTransaction(WAL, HTableDescriptor, HRegionInfo, WALEdit, MultiVersionConcurrencyControl, boolean)</a></span> - Static method in class org.apache.hadoop.hbase.regionserver.wal.<a href="./org/apache/hadoop/hbase/regionserver/wal/WALUtil.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALUtil</a></dt>
+<dd>
+<div class="block">A 'full' WAL transaction involves starting an mvcc transaction followed by an append,
+ an optional sync, and then a call to complete the mvcc transaction.</div>
+</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/http/AdminAuthorizedServlet.html#doGet(javax.servlet.http.HttpServletRequest,%20javax.servlet.http.HttpServletResponse)">doGet(HttpServletRequest, HttpServletResponse)</a></span> - Method in class org.apache.hadoop.hbase.http.<a href="./org/apache/hadoop/hbase/http/AdminAuthorizedServlet.html" title="class in org.apache.hadoop.hbase.http">AdminAuthorizedServlet</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/http/conf/ConfServlet.html#doGet(javax.servlet.http.HttpServletRequest,%20javax.servlet.http.HttpServletResponse)">doGet(HttpServletRequest, HttpServletResponse)</a></span> - Method in class org.apache.hadoop.hbase.http.conf.<a href="./org/apache/hadoop/hbase/http/conf/ConfServlet.html" title="class in org.apache.hadoop.hbase.http.conf">ConfServlet</a></dt>
@@ -19174,10 +19198,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#doGet(org.apache.hadoop.hbase.client.Connection,%20java.util.List)">doGet(Connection, List&lt;Get&gt;)</a></span> - Static method in class org.apache.hadoop.hbase.quotas.<a href="./org/apache/hadoop/hbase/quotas/QuotaTableUtil.html" title="class in org.apache.hadoop.hbase.quotas">QuotaTableUtil</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.html#doGet(org.apache.hadoop.hbase.regionserver.Store,%20byte[],%20java.util.Map.Entry,%20org.apache.hadoop.hbase.io.TimeRange)">doGet(Store, byte[], Map.Entry&lt;byte[], List&lt;Cell&gt;&gt;, TimeRange)</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>
-<div class="block">Run a Get against passed in <code>store</code> on passed <code>row</code>, etc.</div>
-</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/RSDumpServlet.html#doGet(javax.servlet.http.HttpServletRequest,%20javax.servlet.http.HttpServletResponse)">doGet(HttpServletRequest, HttpServletResponse)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/RSDumpServlet.html" title="class in org.apache.hadoop.hbase.regionserver">RSDumpServlet</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/RSStatusServlet.html#doGet(javax.servlet.http.HttpServletRequest,%20javax.servlet.http.HttpServletResponse)">doGet(HttpServletRequest, HttpServletResponse)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/RSStatusServlet.html" title="class in org.apache.hadoop.hbase.regionserver">RSStatusServlet</a></dt>
@@ -19217,8 +19237,11 @@
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegionServer.html#doMetrics()">doMetrics()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.html#doMiniBatchMutation(org.apache.hadoop.hbase.regionserver.HRegion.BatchOperationInProgress)">doMiniBatchMutation(HRegion.BatchOperationInProgress&lt;?&gt;)</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#doMiniBatchMutate(org.apache.hadoop.hbase.regionserver.HRegion.BatchOperation)">doMiniBatchMutate(HRegion.BatchOperation&lt;?&gt;)</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>
+<div class="block">Called to do a piece of the batch that came in to <a href="./org/apache/hadoop/hbase/regionserver/HRegion.html#batchMutate(org.apache.hadoop.hbase.client.Mutation[],%20long,%20long)"><code>HRegion.batchMutate(Mutation[], long, long)</code></a>
+ In here we also handle replay of edits on region recover.</div>
+</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/mob/MobUtils.html#doMobCompaction(org.apache.hadoop.conf.Configuration,%20org.apache.hadoop.fs.FileSystem,%20org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HColumnDescriptor,%20java.util.concurrent.ExecutorService,%20org.apache.hadoop.hbase.master.TableLockManager,%20boolean)">doMobCompaction(Configuration, FileSystem, TableName, HColumnDescriptor, ExecutorService, TableLockManager, boolean)</a></span> - Static method in class org.apache.hadoop.hbase.mob.<a href="./org/apache/hadoop/hbase/mob/MobUtils.html" title="class in org.apache.hadoop.hbase.mob">MobUtils</a></dt>
 <dd>
 <div class="block">Performs the mob compaction.</div>
@@ -19317,7 +19340,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/thrift/ThriftHttpServlet.html#doPost(javax.servlet.http.HttpServletRequest,%20javax.servlet.http.HttpServletResponse)">doPost(HttpServletRequest, HttpServletResponse)</a></span> - Method in class org.apache.hadoop.hbase.thrift.<a href="./org/apache/hadoop/hbase/thrift/ThriftHttpServlet.html" title="class in org.apache.hadoop.hbase.thrift">ThriftHttpServlet</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.html#doPreMutationHook(org.apache.hadoop.hbase.regionserver.HRegion.BatchOperationInProgress)">doPreMutationHook(HRegion.BatchOperationInProgress&lt;?&gt;)</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>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.html#doPreBatchMutateHook(org.apache.hadoop.hbase.regionserver.HRegion.BatchOperation)">doPreBatchMutateHook(HRegion.BatchOperation&lt;?&gt;)</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#doProcessRowWithTimeout(org.apache.hadoop.hbase.regionserver.RowProcessor,%20long,%20org.apache.hadoop.hbase.regionserver.HRegion,%20java.util.List,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20long)">doProcessRowWithTimeout(RowProcessor&lt;?, ?&gt;, long, HRegion, List&lt;Mutation&gt;, WALEdit, long)</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>
@@ -19388,6 +19411,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/replication/regionserver/RegionReplicaReplicationEndpoint.html#doStop()">doStop()</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="./org/apache/hadoop/hbase/replication/regionserver/RegionReplicaReplicationEndpoint.html" title="class in org.apache.hadoop.hbase.replication.regionserver">RegionReplicaReplicationEndpoint</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.html#doSyncOfUnflushedWALChanges(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HRegionInfo)">doSyncOfUnflushedWALChanges(WAL, HRegionInfo)</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>
+<div class="block">Sync unflushed WAL changes.</div>
+</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/util/YammerHistogramUtils.html#DOUBLE_FORMAT">DOUBLE_FORMAT</a></span> - Static variable in class org.apache.hadoop.hbase.util.<a href="./org/apache/hadoop/hbase/util/YammerHistogramUtils.html" title="class in org.apache.hadoop.hbase.util">YammerHistogramUtils</a></dt>
 <dd>
 <div class="block">Used formatting doubles so only two places after decimal point.</div>
@@ -19402,6 +19429,10 @@
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/coprocessor/DoubleColumnInterpreter.html#DoubleColumnInterpreter()">DoubleColumnInterpreter()</a></span> - Constructor for class org.apache.hadoop.hbase.client.coprocessor.<a href="./org/apache/hadoop/hbase/client/coprocessor/DoubleColumnInterpreter.html" title="class in org.apache.hadoop.hbase.client.coprocessor">DoubleColumnInterpreter</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.html#doWALAppend(org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20org.apache.hadoop.hbase.client.Durability,%20long,%20long)">doWALAppend(WALEdit, Durability, long, long)</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#doWALAppend(org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20org.apache.hadoop.hbase.client.Durability,%20java.util.List,%20long,%20long,%20long)">doWALAppend(WALEdit, Durability, List&lt;UUID&gt;, long, long, long)</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/snapshot/CreateSnapshot.html#doWork()">doWork()</a></span> - Method in class org.apache.hadoop.hbase.snapshot.<a href="./org/apache/hadoop/hbase/snapshot/CreateSnapshot.html" title="class in org.apache.hadoop.hbase.snapshot">CreateSnapshot</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/util/AbstractHBaseTool.html#doWork()">doWork()</a></span> - Method in class org.apache.hadoop.hbase.util.<a href="./org/apache/hadoop/hbase/util/AbstractHBaseTool.html" title="class in org.apache.hadoop.hbase.util">AbstractHBaseTool</a></dt>
@@ -24998,6 +25029,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.html#get(org.apache.hadoop.hbase.client.Get,%20boolean)">get(Get, boolean)</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#get(org.apache.hadoop.hbase.client.Mutation,%20org.apache.hadoop.hbase.regionserver.Store,%20java.util.List,%20org.apache.hadoop.hbase.client.IsolationLevel,%20org.apache.hadoop.hbase.io.TimeRange)">get(Mutation, Store, List&lt;Cell&gt;, IsolationLevel, TimeRange)</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>
+<div class="block">Do a specific Get on passed <code>columnFamily</code> and column qualifiers.</div>
+</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/LruHashMap.html#get(java.lang.Object)">get(Object)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/LruHashMap.html" title="class in org.apache.hadoop.hbase.regionserver">LruHashMap</a></dt>
 <dd>
 <div class="block">Retrieves the value associated with the specified key.</div>
@@ -27276,6 +27311,8 @@
 <div class="block"><i>This method will be changed from public to package protected.</i></div>
 </div>
 </dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/HTableMultiplexer.html#getConnection()">getConnection()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/HTableMultiplexer.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/RegionAdminServiceCallable.html#getConnection()">getConnection()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/RegionAdminServiceCallable.html" title="class in org.apache.hadoop.hbase.client">RegionAdminServiceCallable</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/RegionServerCallable.html#getConnection()">getConnection()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/RegionServerCallable.html" title="class in org.apache.hadoop.hbase.client">RegionServerCallable</a></dt>
@@ -28341,6 +28378,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/MultiResponse.html#getExceptions()">getExceptions()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/MultiResponse.html" title="class in org.apache.hadoop.hbase.client">MultiResponse</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#getExecutor()">getExecutor()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer.FlushWorker</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/executor/ExecutorService.html#getExecutor(org.apache.hadoop.hbase.executor.ExecutorType)">getExecutor(ExecutorType)</a></span> - Method in class org.apache.hadoop.hbase.executor.<a href="./org/apache/hadoop/hbase/executor/ExecutorService.html" title="class in org.apache.hadoop.hbase.executor">ExecutorService</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/executor/ExecutorService.html#getExecutor(java.lang.String)">getExecutor(String)</a></span> - Method in class org.apache.hadoop.hbase.executor.<a href="./org/apache/hadoop/hbase/executor/ExecutorService.html" title="class in org.apache.hadoop.hbase.executor">ExecutorService</a></dt>
@@ -30500,7 +30539,11 @@
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/snapshot/SnapshotInfo.SnapshotStats.html#getLogsCount()">getLogsCount()</a></span> - Method in class org.apache.hadoop.hbase.snapshot.<a href="./org/apache/hadoop/hbase/snapshot/SnapshotInfo.SnapshotStats.html" title="class in org.apache.hadoop.hbase.snapshot">SnapshotInfo.SnapshotStats</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/wal/WALKey.html#getLogSeqNum()">getLogSeqNum()</a></span> - Method 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>
+<dd>
+<div class="block"><span class="strong">Deprecated.</span>
+<div class="block"><i>Use <a href="./org/apache/hadoop/hbase/wal/WALKey.html#getSequenceId()"><code>WALKey.getSequenceId()</code></a></i></div>
+</div>
+</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/replication/ReplicationQueues.html#getLogsInQueue(java.lang.String)">getLogsInQueue(String)</a></span> - Method in interface org.apache.hadoop.hbase.replication.<a href="./org/apache/hadoop/hbase/replication/ReplicationQueues.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationQueues</a></dt>
 <dd>
 <div class="block">Get a list of all WALs in the given queue.</div>
@@ -30577,6 +30620,8 @@
 <dd>
 <div class="block">Get a MetricMutableGaugeLong from the storage.</div>
 </dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.html#getLongValue(org.apache.hadoop.hbase.Cell)">getLongValue(Cell)</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/regionserver/DefaultMemStore.html#getLowest(org.apache.hadoop.hbase.Cell,%20org.apache.hadoop.hbase.Cell)">getLowest(Cell, Cell)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/DefaultMemStore.html" title="class in org.apache.hadoop.hbase.regionserver">DefaultMemStore</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#getLowest(org.apache.hadoop.hbase.Cell,%20org.apache.hadoop.hbase.Cell)">getLowest(Cell, Cell)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html" title="class in org.apache.hadoop.hbase.regionserver">DefaultMemStore.MemStoreScanner</a></dt>
@@ -30889,6 +30934,8 @@
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/Scan.html#getMaxResultsPerColumnFamily()">getMaxResultsPerColumnFamily()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#getMaxRetryInQueue()">getMaxRetryInQueue()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer.FlushWorker</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/codec/prefixtree/PrefixTreeBlockMeta.html#getMaxRowLength()">getMaxRowLength()</a></span> - Method in class org.apache.hadoop.hbase.codec.prefixtree.<a href="./org/apache/hadoop/hbase/codec/prefixtree/PrefixTreeBlockMeta.html" title="class in org.apache.hadoop.hbase.codec.prefixtree">PrefixTreeBlockMeta</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/codec/prefixtree/decode/PrefixTreeArrayScanner.html#getMaxRowTreeStackNodes()">getMaxRowTreeStackNodes()</a></span> - Method in class org.apache.hadoop.hbase.codec.prefixtree.decode.<a href="./org/apache/hadoop/hbase/codec/prefixtree/decode/PrefixTreeArrayScanner.html" title="class in org.apache.hadoop.hbase.codec.prefixtree.decode">PrefixTreeArrayScanner</a></dt>
@@ -31553,9 +31600,11 @@
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/rest/TableResource.html#getMultipleRowResource(java.lang.String)">getMultipleRowResource(String)</a></span> - Method in class org.apache.hadoop.hbase.rest.<a href="./org/apache/hadoop/hbase/rest/TableResource.html" title="class in org.apache.hadoop.hbase.rest">TableResource</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#getMultiplexer()">getMultiplexer()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer.FlushWorker</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.CostFunction.html#getMultiplier()">getMultiplier()</a></span> - Method in class org.apache.hadoop.hbase.master.balancer.<a href="./org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.CostFunction.html" title="class in org.apache.hadoop.hbase.master.balancer">StochasticLoadBalancer.CostFunction</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#getMutation(int)">getMutation(int)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a></dt>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getMutation(int)">getMutation(int)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html#getMutation(int)">getMutation(int)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.MutationBatch</a></dt>
 <dd>&nbsp;</dd>
@@ -31563,7 +31612,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/RowMutations.html#getMutations()">getMutations()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#getMutationsForCoprocs()">getMutationsForCoprocs()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a></dt>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getMutationsForCoprocs()">getMutationsForCoprocs()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a></dt>
 <dd>
 <div class="block">This method is potentially expensive and should only be used for non-replay CP path.</div>
 </dd>
@@ -31911,6 +31960,8 @@
 <dd>
 <div class="block"><span class="strong">Deprecated.</span></div>
 &nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#getNextDelay(int)">getNextDelay(int)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer.FlushWorker</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#getNextForFuzzyRule(byte[],%20byte[],%20byte[])">getNextForFuzzyRule(byte[], byte[], byte[])</a></span> - Static method in class org.apache.hadoop.hbase.filter.<a href="./org/apache/hadoop/hbase/filter/FuzzyRowFilter.html" title="class in org.apache.hadoop.hbase.filter">FuzzyRowFilter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#getNextForFuzzyRule(boolean,%20byte[],%20byte[],%20byte[])">getNextForFuzzyRule(boolean, byte[], byte[], byte[])</a></span> - Static method in class org.apache.hadoop.hbase.filter.<a href="./org/apache/hadoop/hbase/filter/FuzzyRowFilter.html" title="class in org.apache.hadoop.hbase.filter">FuzzyRowFilter</a></dt>
@@ -32024,7 +32075,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/Action.html#getNonce()">getNonce()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/Action.html" title="class in org.apache.hadoop.hbase.client">Action</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#getNonce(int)">getNonce(int)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a></dt>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getNonce(int)">getNonce(int)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html#getNonce(int)">getNonce(int)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.MutationBatch</a></dt>
 <dd>&nbsp;</dd>
@@ -32054,7 +32105,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/PerClientRandomNonceGenerator.html#getNonceGroup()">getNonceGroup()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/PerClientRandomNonceGenerator.html" title="class in org.apache.hadoop.hbase.client">PerClientRandomNonceGenerator</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#getNonceGroup(int)">getNonceGroup(int)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a></dt>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getNonceGroup(int)">getNonceGroup(int)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html#getNonceGroup(int)">getNonceGroup(int)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.MutationBatch</a></dt>
 <dd>&nbsp;</dd>
@@ -32634,7 +32685,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/wal/WALKey.html#getOrigLogSeqNum()">getOrigLogSeqNum()</a></span> - Method 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>
-<div class="block">Return a positive long if current WALKey is created from a replay edit</div>
+<div class="block">Return a positive long if current WALKey is created from a replay edit; a replay edit is an
+ edit that came in when replaying WALs of a crashed server.</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HeapMemStoreLAB.html#getOrMakeChunk()">getOrMakeChunk()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HeapMemStoreLAB.html" title="class in org.apache.hadoop.hbase.regionserver">HeapMemStoreLAB</a></dt>
 <dd>
@@ -33599,6 +33651,8 @@
 <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/HRegion.html#getReadPoint()">getReadPoint()</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>
@@ -34391,7 +34445,7 @@
 <dd>
 <div class="block">Used by the client to identify if all regions have the schema updates</div>
 </dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#getReplaySequenceId()">getReplaySequenceId()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a></dt>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getReplaySequenceId()">getReplaySequenceId()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html#getReplaySequenceId()">getReplaySequenceId()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.MutationBatch</a></dt>
 <dd>&nbsp;</dd>
@@ -34671,6 +34725,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/TableConfiguration.html#getRetriesNumber()">getRetriesNumber()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/TableConfiguration.html" title="class in org.apache.hadoop.hbase.client">TableConfiguration</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#getRetryInQueue()">getRetryInQueue()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer.FlushWorker</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/thrift/ThriftServerRunner.HBaseHandler.html#getReverseScanResult(byte[],%20byte[],%20byte[])">getReverseScanResult(byte[], byte[], byte[])</a></span> - Method in class org.apache.hadoop.hbase.thrift.<a href="./org/apache/hadoop/hbase/thrift/ThriftServerRunner.HBaseHandler.html" title="class in org.apache.hadoop.hbase.thrift">ThriftServerRunner.HBaseHandler</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/util/VersionInfo.html#getRevision()">getRevision()</a></span> - Static method in class org.apache.hadoop.hbase.util.<a href="./org/apache/hadoop/hbase/util/VersionInfo.html" title="class in org.apache.hadoop.hbase.util">VersionInfo</a></dt>
@@ -35417,10 +35473,6 @@
 <div class="block">MemStoreScanner returns max value as sequence id because it will
  always have the latest data among all files.</div>
 </dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.html#getSequenceId()">getSequenceId()</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>
-<div class="block">Do not change this sequence id.</div>
-</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/KeyValueHeap.html#getSequenceID()">getSequenceID()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/KeyValueHeap.html" title="class in org.apache.hadoop.hbase.regionserver">KeyValueHeap</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#getSequenceID()">getSequenceID()</a></span> - Method 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>
@@ -35445,11 +35497,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/wal/WALKey.html#getSequenceId()">getSequenceId()</a></span> - Method 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>
-<div class="block">Wait for sequence number to be assigned &amp; return the assigned value</div>
-</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/wal/WALKey.html#getSequenceId(long)">getSequenceId(long)</a></span> - Method 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>
-<div class="block">Wait for sequence number to be assigned &amp; return the assigned value.</div>
+<div class="block">SequenceId is only available post WAL-assign.</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/security/token/AuthenticationTokenIdentifier.html#getSequenceNumber()">getSequenceNumber()</a></span> - Method in class org.apache.hadoop.hbase.security.token.<a href="./org/apache/hadoop/hbase/security/token/AuthenticationTokenIdentifier.html" title="class in org.apache.hadoop.hbase.security.token">AuthenticationTokenIdentifier</a></dt>
 <dd>&nbsp;</dd>
@@ -37924,6 +37972,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#getTotalFailedCounter()">getTotalFailedCounter()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer.HTableMultiplexerStatus</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#getTotalFailedPutCount()">getTotalFailedPutCount()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer.FlushWorker</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/AssignmentVerificationReport.html#getTotalFavoredAssignments()">getTotalFavoredAssignments()</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="./org/apache/hadoop/hbase/master/AssignmentVerificationReport.html" title="class in org.apache.hadoop.hbase.master">AssignmentVerificationReport</a></dt>
 <dd>
 <div class="block">Return the number of regions assigned to their favored nodes</div>
@@ -38860,7 +38910,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/wal/WALKey.html#getWriteEntry()">getWriteEntry()</a></span> - Method 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>
-<div class="block">Will block until a write entry has been assigned by they WAL subsystem.</div>
+<div class="block">Use it to complete mvcc transaction.</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegionServer.html#getWriteLock()">getWriteLock()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a></dt>
 <dd>&nbsp;</dd>
@@ -42195,13 +42245,13 @@
 <dd>
 <div class="block">HRegion constructor.</div>
 </dd>
-<dt><a href="./org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="strong">HRegion.BatchOperationInProgress</span></a>&lt;<a href="./org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="type parameter in HRegion.BatchOperationInProgress">T</a>&gt; - Class in <a href="./org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a></dt>
+<dt><a href="./org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="strong">HRegion.BatchOperation</span></a>&lt;<a href="./org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="type parameter in HRegion.BatchOperation">T</a>&gt; - Class in <a href="./org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a></dt>
 <dd>
 <div class="block">Struct-like class that tracks the progress of a batch operation,
  accumulating status codes and tracking the index at which processing
  is proceeding.</div>
 </dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#HRegion.BatchOperationInProgress(T[])">HRegion.BatchOperationInProgress(T[])</a></span> - Constructor for class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a></dt>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#HRegion.BatchOperation(T[])">HRegion.BatchOperation(T[])</a></span> - Constructor for class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="./org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="strong">HRegion.FlushResultImpl</span></a> - Class in <a href="./org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a></dt>
 <dd>
@@ -42530,6 +42580,8 @@
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/HTableMultiplexer.html#HTableMultiplexer(org.apache.hadoop.conf.Configuration,%20int)">HTableMultiplexer(Configuration, int)</a></span> - Constructor for class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/HTableMultiplexer.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/HTableMultiplexer.html#HTableMultiplexer(org.apache.hadoop.hbase.client.Connection,%20org.apache.hadoop.conf.Configuration,%20int)">HTableMultiplexer(Connection, Configuration, int)</a></span> - Constructor for class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/HTableMultiplexer.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="./org/apache/hadoop/hbase/client/HTableMultiplexer.AtomicAverageCounter.html" title="class in org.apache.hadoop.hbase.client"><span class="strong">HTableMultiplexer.AtomicAverageCounter</span></a> - Class in <a href="./org/apache/hadoop/hbase/client/package-summary.html">org.apache.hadoop.hbase.client</a></dt>
 <dd>
 <div class="block">Helper to count the average over an interval until reset.</div>
@@ -45774,7 +45826,7 @@
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/ExplicitColumnTracker.html#isDone(long)">isDone(long)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/ExplicitColumnTracker.html" title="class in org.apache.hadoop.hbase.regionserver">ExplicitColumnTracker</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#isDone()">isDone()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a></dt>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#isDone()">isDone()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/ScanWildcardColumnTracker.html#isDone(long)">isDone(long)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/ScanWildcardColumnTracker.html" title="class in org.apache.hadoop.hbase.regionserver">ScanWildcardColumnTracker</a></dt>
 <dd>&nbsp;</dd>
@@ -46192,7 +46244,7 @@
  TODO: this is not strict, can return true if had name just starts with same prefix but is
  different zdir.</div>
 </dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#isInReplay()">isInReplay()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a></dt>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#isInReplay()">isInReplay()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html#isInReplay()">isInReplay()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.MutationBatch</a></dt>
 <dd>&nbsp;</dd>
@@ -51334,6 +51386,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/mapreduce/replication/VerifyReplication.Verifier.html#logFailRowAndIncreaseCounter(org.apache.hadoop.mapreduce.Mapper.Context,%20org.apache.hadoop.hbase.mapreduce.replication.VerifyReplication.Verifier.Counters,%20org.apache.hadoop.hbase.client.Result)">logFailRowAndIncreaseCounter(Mapper&lt;ImmutableBytesWritable, Result, ImmutableBytesWritable, Put&gt;.Context, VerifyReplication.Verifier.Counters, Result)</a></span> - Method in class org.apache.hadoop.hbase.mapreduce.replication.<a href="./org/apache/hadoop/hbase/mapreduce/replication/VerifyReplication.Verifier.html" title="class in org.apache.hadoop.hbase.mapreduce.replication">VerifyReplication.Verifier</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.html#logFatLineOnFlush(java.util.Collection,%20long)">logFatLineOnFlush(Collection&lt;Store&gt;, long)</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>
+<div class="block">Utility method broken out of internalPrepareFlushCache so that method is smaller.</div>
+</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFile.html#logFile">logFile</a></span> - Variable in class org.apache.hadoop.hbase.procedure2.store.wal.<a href="./org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFile.html" title="class in org.apache.hadoop.hbase.procedure2.store.wal">ProcedureWALFile</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALSplit.html#logFileName">logFileName</a></span> - Variable in class org.apache.hadoop.hbase.mapreduce.<a href="./org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALSplit.html" title="class in org.apache.hadoop.hbase.mapreduce">WALInputFormat.WALSplit</a></dt>
@@ -51515,8 +51571,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/snapshot/SnapshotInfo.SnapshotStats.html#logsCount">logsCount</a></span> - Variable in class org.apache.hadoop.hbase.snapshot.<a href="./org/apache/hadoop/hbase/snapshot/SnapshotInfo.SnapshotStats.html" title="class in org.apache.hadoop.hbase.snapshot">SnapshotInfo.SnapshotStats</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/wal/WALKey.html#logSeqNum">logSeqNum</a></span> - 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/snapshot/SnapshotInfo.SnapshotStats.html#logSize">logSize</a></span> - Variable in class org.apache.hadoop.hbase.snapshot.<a href="./org/apache/hadoop/hbase/snapshot/SnapshotInfo.SnapshotStats.html" title="class in org.apache.hadoop.hbase.snapshot">SnapshotInfo.SnapshotStats</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/snapshot/SnapshotInfo.SnapshotStats.html#logsMissing">logsMissing</a></span> - Variable in class org.apache.hadoop.hbase.snapshot.<a href="./org/apache/hadoop/hbase/snapshot/SnapshotInfo.SnapshotStats.html" title="class in org.apache.hadoop.hbase.snapshot">SnapshotInfo.SnapshotStats</a></dt>
@@ -52011,10 +52065,6 @@
 <div class="block">Code to help figure if our approximation of object heap sizes is close
  enough.</div>
 </dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.html#main(java.lang.String[])">main(String[])</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>
-<div class="block">Facility for dumping and compacting catalog tables.</div>
-</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegionServer.html#main(java.lang.String[])">main(String[])</a></span> - Static method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/ShutdownHook.html#main(java.lang.String[])">main(String[])</a></span> - Static method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/ShutdownHook.html" title="class in org.apache.hadoop.hbase.regionserver">ShutdownHook</a></dt>
@@ -53025,6 +53075,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/StoreScanner.html#matcher">matcher</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/StoreScanner.html" title="class in org.apache.hadoop.hbase.regionserver">StoreScanner</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.html#matches(org.apache.hadoop.hbase.filter.CompareFilter.CompareOp,%20int)">matches(CompareFilter.CompareOp, int)</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/security/SaslUtil.QualityOfProtection.html#matches(java.lang.String)">matches(String)</a></span> - Method in enum org.apache.hadoop.hbase.security.<a href="./org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html" title="enum in org.apache.hadoop.hbase.security">SaslUtil.QualityOfProtection</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/security/access/TablePermission.html#matchesFamily(org.apache.hadoop.hbase.TableName,%20byte[],%20org.apache.hadoop.hbase.security.access.Permission.Action)">matchesFamily(TableName, byte[], Permission.Action)</a></span> - Method in class org.apache.hadoop.hbase.security.access.<a href="./org/apache/hadoop/hbase/security/access/TablePermission.html" title="class in org.apache.hadoop.hbase.security.access">TablePermission</a></dt>
@@ -53318,8 +53370,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/util/vint/UVLongTool.html#MAX_VALUE_BYTES">MAX_VALUE_BYTES</a></span> - Static variable in class org.apache.hadoop.hbase.util.vint.<a href="./org/apache/hadoop/hbase/util/vint/UVLongTool.html" title="class in org.apache.hadoop.hbase.util.vint">UVLongTool</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.html#MAX_WAIT_FOR_SEQ_ID_KEY">MAX_WAIT_FOR_SEQ_ID_KEY</a></span> - Static variable in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/thrift/TBoundedThreadPoolServer.html#MAX_WORKER_THREADS_CONF_KEY">MAX_WORKER_THREADS_CONF_KEY</a></span> - Static variable in class org.apache.hadoop.hbase.thrift.<a href="./org/apache/hadoop/hbase/thrift/TBoundedThreadPoolServer.html" title="class in org.apache.hadoop.hbase.thrift">TBoundedThreadPoolServer</a></dt>
 <dd>
 <div class="block">The maximum size of the thread pool.</div>
@@ -53628,10 +53678,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/rest/RowSpec.html#maxVersions">maxVersions</a></span> - Variable in class org.apache.hadoop.hbase.rest.<a href="./org/apache/hadoop/hbase/rest/RowSpec.html" title="class in org.apache.hadoop.hbase.rest">RowSpec</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.html#maxWaitForSeqId">maxWaitForSeqId</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></dt>
-<dd>
-<div class="block">Longest time we'll wait on a sequenceid.</div>
-</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/DefaultMemStore.html#maybeCloneWithAllocator(org.apache.hadoop.hbase.Cell)">maybeCloneWithAllocator(Cell)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/DefaultMemStore.html" title="class in org.apache.hadoop.hbase.regionserver">DefaultMemStore</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/RetriesExhaustedWithDetailsException.html#mayHaveClusterIssues()">mayHaveClusterIssues()</a></span> - Method in exception org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/RetriesExhaustedWithDetailsException.html" title="class in org.apache.hadoop.hbase.client">RetriesExhaustedWithDetailsException</a></dt>
@@ -57259,7 +57305,7 @@
 <dd>
 <div class="block">The next indexed key is to keep track of the indexed key of the next data block.</div>
 </dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#nextIndexToProcess">nextIndexToProcess</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a></dt>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#nextIndexToProcess">nextIndexToProcess</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#nextInternal(java.util.List,%20org.apache.hadoop.hbase.regionserver.ScannerContext)">nextInternal(List&lt;Cell&gt;, ScannerContext)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RegionScannerImpl</a></dt>
 <dd>&nbsp;</dd>
@@ -58983,7 +59029,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/quotas/OperationQuota.OperationType.html#OperationQuota.OperationType()">OperationQuota.OperationType()</a></span> - Constructor for enum org.apache.hadoop.hbase.quotas.<a href="./org/apache/hadoop/hbase/quotas/OperationQuota.OperationType.html" title="enum in org.apache.hadoop.hbase.quotas">OperationQuota.OperationType</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#operations">operations</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a></dt>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#operations">operations</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html#operations">operations</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a></dt>
 <dd>&nbsp;</dd>
@@ -59463,7 +59509,9 @@ service.</div>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/SplitLogTask.html#originServer">originServer</a></span> - Variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/SplitLogTask.html" title="class in org.apache.hadoop.hbase">SplitLogTask</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/wal/WALKey.html#origLogSeqNum">origLogSeqNum</a></span> - 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>
+<dd>
+<div class="block">Used during WAL replay; the sequenceId of the edit when it came into the system.</div>
+</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/security/access/SecureBulkLoadEndpoint.SecureBulkLoadListener.html#origPermissions">origPermissions</a></span> - Variable in class org.apache.hadoop.hbase.security.access.<a href="./org/apache/hadoop/hbase/security/access/SecureBulkLoadEndpoint.SecureBulkLoadListener.html" title="class in org.apache.hadoop.hbase.security.access">SecureBulkLoadEndpoint.SecureBulkLoadListener</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/util/HBaseFsck.html#orphanHdfsDirs">orphanHdfsDirs</a></span> - Variable in class org.apache.hadoop.hbase.util.<a href="./org/apache/hadoop/hbase/util/HBaseFsck.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck</a></dt>
@@ -63536,6 +63584,8 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/BaseRowProcessor.html#preProcess(org.apache.hadoop.hbase.regionserver.HRegion,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit)">preProcess(HRegion, WALEdit)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/BaseRowProcessor.html" title="class in org.apache.hadoop.hbase.regionserver">BaseRowProcessor</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.html#preProcess(org.apache.hadoop.hbase.regionserver.RowProcessor,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit)">preProcess(RowProcessor&lt;?, ?&gt;, WALEdit)</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/MultiRowMutationProcessor.html#preProcess(org.apache.hadoop.hbase.regionserver.HRegion,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit)">preProcess(HRegion, WALEdit)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/MultiRowMutationProcessor.html" title="class in org.apache.hadoop.hbase.regionserver">MultiRowMutationProcessor</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/RowProcessor.html#preProcess(org.apache.hadoop.hbase.regionserver.HRegion,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit)">preProcess(HRegion, WALEdit)</a></span> - Method in interface org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="interface in org.apache.hadoop.hbase.regionserver">RowProcessor</a></dt>
@@ -64238,8 +64288,6 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/util/AbstractHBaseTool.html#printUsage(java.lang.String,%20java.lang.String,%20java.lang.String)">printUsage(String, String, String)</a></span> - Method in class org.apache.hadoop.hbase.util.<a href="./org/apache/hadoop/hbase/util/AbstractHBaseTool.html" title="class in org.apache.hadoop.hbase.util">AbstractHBaseTool</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.html#printUsageAndExit(java.lang.String)">printUsageAndExit(String)</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/rest/RESTServer.html#printUsageAndExit(org.apache.commons.cli.Options,%20int)">printUsageAndExit(Options, int)</a></span> - Static method in class org.apache.hadoop.hbase.rest.<a href="./org/apache/hadoop/hbase/rest/RESTServer.html" title="class in org.apache.hadoop.hbase.rest">RESTServer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/snapshot/ExportSnapshot.html#printUsageAndExit()">printUsageAndExit()</a></span> - Method in class org.apache.hadoop.hbase.snapshot.<a href="./org/apache/hadoop/hbase/snapshot/ExportSnapshot.html" title="class in org.apache.hadoop.hbase.snapshot">ExportSnapshot</a></dt>
@@ -64867,8 +64915,6 @@ service.</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/zookeeper/ZKUtil.html#processSequentially(org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher,%20java.util.List)">processSequentially(ZooKeeperWatcher, List&lt;ZKUtil.ZKUtilOp&gt;)</a></span> - Static method in class org.apache.hadoop.hbase.zookeeper.<a href="./org/apache/hadoop/hbase/zookeeper/ZKUtil.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKUtil</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="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(FileSystem, Path, WALFactory, Configuration, boolean)</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/ipc/RpcServer.Connection.html#processUnwrappedData(byte[])">processUnwrappedData(byte[])</a></span> - Method in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/RpcServer.Connection.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Connection</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/rest/NamespacesInstanceResource.html#processUpdate(org.apache.hadoop.hbase.rest.model.NamespacesInstanceModel,%20boolean,%20javax.ws.rs.core.UriInfo)">processUpdate(NamespacesInstanceModel, boolean, UriInfo)</a></span> - Method in class org.apache.hadoop.hbase.rest.<a href="./org/apache/hadoop/hbase/rest/NamespacesInstanceResource.html" title="class in org.apache.hadoop.hbase.rest">NamespacesInstanceResource</a></dt>
@@ -67185,6 +67231,23 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/FailedServers.html#recheckServersTimeout">recheckServersTimeout</a></span> - Variable in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/FailedServers.html" title="class in org.apache.hadoop.hbase.ipc">FailedServers</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.html#reckonAppend(org.apache.hadoop.hbase.Cell,%20org.apache.hadoop.hbase.Cell,%20long,%20org.apache.hadoop.hbase.client.Append)">reckonAppend(Cell, Cell, long, Append)</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#reckonDeltas(org.apache.hadoop.hbase.regionserver.Region.Operation,%20org.apache.hadoop.hbase.client.Mutation,%20org.apache.hadoop.hbase.client.Durability,%20java.util.Map,%20java.util.List)">reckonDeltas(Region.Operation, Mutation, Durability, Map&lt;Store, List&lt;Cell&gt;&gt;, List&lt;Cell&gt;)</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>
+<div class="block">Reckon the Cells to apply to WAL, memstore, and to return to the Client; these Sets are not
+ always the same dependent on whether to write WAL or if the amount to increment is zero (in
+ this case we write back nothing, just return latest Cell value to the client).</div>
+</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.html#reckonDeltasByStore(org.apache.hadoop.hbase.regionserver.Store,%20org.apache.hadoop.hbase.regionserver.Region.Operation,%20org.apache.hadoop.hbase.client.Mutation,%20org.apache.hadoop.hbase.client.Durability,%20long,%20java.util.List,%20java.util.List)">reckonDeltasByStore(Store, Region.Operation, Mutation, Durability, long, List&lt;Cell&gt;, List&lt;Cell&gt;)</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>
+<div class="block">Reckon the Cells to apply to WAL, memstore, and to return to the Client in passed
+ column family/Store.</div>
+</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.html#reckonIncrement(org.apache.hadoop.hbase.Cell,%20long,%20org.apache.hadoop.hbase.Cell,%20byte[],%20long,%20org.apache.hadoop.hbase.client.Mutation)">reckonIncrement(Cell, long, Cell, byte[], long, Mutation)</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>
+<div class="block">Calculate new Increment Cell.</div>
+</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HeapMemStoreLAB.html#reclaimed">reclaimed</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HeapMemStoreLAB.html" title="class in org.apache.hadoop.hbase.regionserver">HeapMemStoreLAB</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/MemStoreChunkPool.html#reclaimedChunks">reclaimedChunks</a></span> - Variable in class

<TRUNCATED>

[32/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/HRegion.BatchOperation.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/HRegion.BatchOperation.html b/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/HRegion.BatchOperation.html
new file mode 100644
index 0000000..14e7f6d
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/HRegion.BatchOperation.html
@@ -0,0 +1,192 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.hadoop.hbase.regionserver.HRegion.BatchOperation (Apache HBase 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="Uses of Class org.apache.hadoop.hbase.regionserver.HRegion.BatchOperation (Apache HBase 2.0.0-SNAPSHOT API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/regionserver/class-use/HRegion.BatchOperation.html" target="_top">Frames</a></li>
+<li><a href="HRegion.BatchOperation.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip-navbar_top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.hadoop.hbase.regionserver.HRegion.BatchOperation" class="title">Uses of Class<br>org.apache.hadoop.hbase.regionserver.HRegion.BatchOperation</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.hadoop.hbase.regionserver">org.apache.hadoop.hbase.regionserver</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.hadoop.hbase.regionserver">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a> in <a href="../../../../../../org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a></h3>
+<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a> in <a href="../../../../../../org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>private static class&nbsp;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.MutationBatch</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static class&nbsp;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatch.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.ReplayBatch</a></strong></code>&nbsp;</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/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a> with parameters of type <a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>(package private) <a href="../../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[]</code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#batchMutate(org.apache.hadoop.hbase.regionserver.HRegion.BatchOperation)">batchMutate</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a>&lt;?&gt;&nbsp;batchOp)</code>
+<div class="block">Perform a batch of mutations.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private boolean</code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#checkBatchOp(org.apache.hadoop.hbase.regionserver.HRegion.BatchOperation,%20int,%20java.util.Map[],%20long)">checkBatchOp</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a>&lt;?&gt;&nbsp;batchOp,
+                        int&nbsp;lastIndexExclusive,
+                        <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;familyMaps,
+                        long&nbsp;now)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private long</code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doMiniBatchMutate(org.apache.hadoop.hbase.regionserver.HRegion.BatchOperation)">doMiniBatchMutate</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a>&lt;?&gt;&nbsp;batchOp)</code>
+<div class="block">Called to do a piece of the batch that came in to <a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#batchMutate(org.apache.hadoop.hbase.client.Mutation[],%20long,%20long)"><code>HRegion.batchMutate(Mutation[], long, long)</code></a>
+ In here we also handle replay of edits on region recover.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doPreBatchMutateHook(org.apache.hadoop.hbase.regionserver.HRegion.BatchOperation)">doPreBatchMutateHook</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a>&lt;?&gt;&nbsp;batchOp)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar_bottom">
+<!--   -->
+</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/regionserver/class-use/HRegion.BatchOperation.html" target="_top">Frames</a></li>
+<li><a href="HRegion.BatchOperation.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip-navbar_bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/HRegion.BatchOperationInProgress.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/HRegion.BatchOperationInProgress.html b/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/HRegion.BatchOperationInProgress.html
deleted file mode 100644
index 97606e5..0000000
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/HRegion.BatchOperationInProgress.html
+++ /dev/null
@@ -1,182 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.hadoop.hbase.regionserver.HRegion.BatchOperationInProgress (Apache HBase 2.0.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-</head>
-<body>
-<script type="text/javascript"><!--
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Uses of Class org.apache.hadoop.hbase.regionserver.HRegion.BatchOperationInProgress (Apache HBase 2.0.0-SNAPSHOT API)";
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar_top">
-<!--   -->
-</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/regionserver/class-use/HRegion.BatchOperationInProgress.html" target="_top">Frames</a></li>
-<li><a href="HRegion.BatchOperationInProgress.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip-navbar_top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.hadoop.hbase.regionserver.HRegion.BatchOperationInProgress" class="title">Uses of Class<br>org.apache.hadoop.hbase.regionserver.HRegion.BatchOperationInProgress</h2>
-</div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.hadoop.hbase.regionserver">org.apache.hadoop.hbase.regionserver</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="org.apache.hadoop.hbase.regionserver">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a> in <a href="../../../../../../org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a></h3>
-<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
-<caption><span>Subclasses of <a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a> in <a href="../../../../../../org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>private static class&nbsp;</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.MutationBatch</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private static class&nbsp;</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatch.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.ReplayBatch</a></strong></code>&nbsp;</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/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a> with parameters of type <a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>(package private) <a href="../../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[]</code></td>
-<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#batchMutate(org.apache.hadoop.hbase.regionserver.HRegion.BatchOperationInProgress)">batchMutate</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a>&lt;?&gt;&nbsp;batchOp)</code>
-<div class="block">Perform a batch of mutations.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private long</code></td>
-<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doMiniBatchMutation(org.apache.hadoop.hbase.regionserver.HRegion.BatchOperationInProgress)">doMiniBatchMutation</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a>&lt;?&gt;&nbsp;batchOp)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>private void</code></td>
-<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doPreMutationHook(org.apache.hadoop.hbase.regionserver.HRegion.BatchOperationInProgress)">doPreMutationHook</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a>&lt;?&gt;&nbsp;batchOp)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar_bottom">
-<!--   -->
-</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/regionserver/class-use/HRegion.BatchOperationInProgress.html" target="_top">Frames</a></li>
-<li><a href="HRegion.BatchOperationInProgress.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip-navbar_bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/MultiVersionConcurrencyControl.WriteEntry.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/MultiVersionConcurrencyControl.WriteEntry.html b/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/MultiVersionConcurrencyControl.WriteEntry.html
index 7627072..32f99fb 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/MultiVersionConcurrencyControl.WriteEntry.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/MultiVersionConcurrencyControl.WriteEntry.html
@@ -117,6 +117,22 @@
 <div class="block">Start a write transaction.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a></code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doWALAppend(org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20org.apache.hadoop.hbase.client.Durability,%20java.util.List,%20long,%20long,%20long)">doWALAppend</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;walEdit,
+                      <a href="../../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;durability,
+                      <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;clusterIds,
+                      long&nbsp;now,
+                      long&nbsp;nonceGroup,
+                      long&nbsp;nonce)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a></code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doWALAppend(org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20org.apache.hadoop.hbase.client.Durability,%20long,%20long)">doWALAppend</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;walEdit,
+                      <a href="../../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;durability,
+                      long&nbsp;nonceGroup,
+                      long&nbsp;nonce)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 <table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
@@ -161,7 +177,9 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a></code></td>
-<td class="colLast"><span class="strong">WALKey.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#writeEntry">writeEntry</a></strong></code>&nbsp;</td>
+<td class="colLast"><span class="strong">WALKey.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#writeEntry">writeEntry</a></strong></code>
+<div class="block">Set in a way visible to multiple threads; e.g.</div>
+</td>
 </tr>
 </tbody>
 </table>
@@ -175,7 +193,7 @@
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a></code></td>
 <td class="colLast"><span class="strong">WALKey.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getWriteEntry()">getWriteEntry</a></strong>()</code>
-<div class="block">Will block until a write entry has been assigned by they WAL subsystem.</div>
+<div class="block">Use it to complete mvcc transaction.</div>
 </td>
 </tr>
 </tbody>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/MultiVersionConcurrencyControl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/MultiVersionConcurrencyControl.html b/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/MultiVersionConcurrencyControl.html
index c2b17ab..c699b97 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/MultiVersionConcurrencyControl.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/MultiVersionConcurrencyControl.html
@@ -134,7 +134,19 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>static long</code></td>
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></code></td>
+<td class="colLast"><span class="strong">WALUtil.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#doFullAppendTransaction(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl,%20boolean)">doFullAppendTransaction</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/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/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;edit,
+                                              <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;mvcc,
+                                              boolean&nbsp;sync)</code>
+<div class="block">A 'full' WAL transaction involves starting an mvcc transaction followed by an append,
+ an optional sync, and then a call to complete the mvcc transaction.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></code></td>
 <td class="colLast"><span class="strong">WALUtil.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#writeBulkLoadMarkerAndSync(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.protobuf.generated.WALProtos.BulkLoadDescriptor,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl)">writeBulkLoadMarkerAndSync</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/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,
@@ -143,8 +155,8 @@
 <div class="block">Write a log marker that a bulk load has succeeded and is about to be committed.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static long</code></td>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></code></td>
 <td class="colLast"><span class="strong">WALUtil.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#writeCompactionMarker(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl)">writeCompactionMarker</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/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,
@@ -153,8 +165,8 @@
 <div class="block">Write the marker that a compaction has succeeded and is about to be committed.</div>
 </td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code>static long</code></td>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></code></td>
 <td class="colLast"><span class="strong">WALUtil.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#writeFlushMarker(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor,%20boolean,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl)">writeFlushMarker</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/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,
@@ -164,23 +176,22 @@
 <div class="block">Write a flush marker indicating a start / abort or a complete of a region flush</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private static long</code></td>
-<td class="colLast"><span class="strong">WALUtil.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#writeMarker(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl,%20boolean)">writeMarker</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal,
+<tr class="altColor">
+<td class="colFirst"><code>private static <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></code></td>
+<td class="colLast"><span class="strong">WALUtil.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#writeMarker(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl)">writeMarker</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/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/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;edit,
-                      <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;mvcc,
-                      boolean&nbsp;sync)</code>&nbsp;</td>
+                      <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;mvcc)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code>static long</code></td>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></code></td>
 <td class="colLast"><span class="strong">WALUtil.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#writeRegionEventMarker(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl)">writeRegionEventMarker</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/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,
                                             org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor&nbsp;r,
                                             <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;mvcc)</code>
-<div class="block">Write a region open marker indicating that the region is opened</div>
+<div class="block">Write a region open marker indicating that the region is opened.</div>
 </td>
 </tr>
 </tbody>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/OperationStatus.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/OperationStatus.html b/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/OperationStatus.html
index e722ba6..c2ab7c0 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/OperationStatus.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/OperationStatus.html
@@ -112,7 +112,7 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[]</code></td>
-<td class="colLast"><span class="strong">HRegion.BatchOperationInProgress.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#retCodeDetails">retCodeDetails</a></strong></code>&nbsp;</td>
+<td class="colLast"><span class="strong">HRegion.BatchOperation.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#retCodeDetails">retCodeDetails</a></strong></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[]</code></td>
@@ -135,7 +135,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[]</code></td>
-<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#batchMutate(org.apache.hadoop.hbase.regionserver.HRegion.BatchOperationInProgress)">batchMutate</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a>&lt;?&gt;&nbsp;batchOp)</code>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#batchMutate(org.apache.hadoop.hbase.regionserver.HRegion.BatchOperation)">batchMutate</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a>&lt;?&gt;&nbsp;batchOp)</code>
 <div class="block">Perform a batch of mutations.</div>
 </td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/Region.Operation.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/Region.Operation.html b/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/Region.Operation.html
index ad2c68f..54ef14a 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/Region.Operation.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/Region.Operation.html
@@ -168,6 +168,23 @@ the order they are declared.</div>
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a></code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doCoprocessorPreCall(org.apache.hadoop.hbase.regionserver.Region.Operation,%20org.apache.hadoop.hbase.client.Mutation)">doCoprocessorPreCall</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,
+                                        <a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation)</code>
+<div class="block">Do coprocessor pre-increment or pre-append call.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a></code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doDelta(org.apache.hadoop.hbase.regionserver.Region.Operation,%20org.apache.hadoop.hbase.client.Mutation,%20long,%20long,%20boolean)">doDelta</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,
+              <a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
+              long&nbsp;nonceGroup,
+              long&nbsp;nonce,
+              boolean&nbsp;returnResults)</code>
+<div class="block">Add "deltas" to Cells.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">RegionCoprocessorHost.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.html#postCloseRegionOperation(org.apache.hadoop.hbase.regionserver.Region.Operation)">postCloseRegionOperation</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>&nbsp;</td>
 </tr>
@@ -176,6 +193,31 @@ the order they are declared.</div>
 <td class="colLast"><span class="strong">RegionCoprocessorHost.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.html#postStartRegionOperation(org.apache.hadoop.hbase.regionserver.Region.Operation)">postStartRegionOperation</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>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a></code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#reckonDeltas(org.apache.hadoop.hbase.regionserver.Region.Operation,%20org.apache.hadoop.hbase.client.Mutation,%20org.apache.hadoop.hbase.client.Durability,%20java.util.Map,%20java.util.List)">reckonDeltas</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,
+                        <a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
+                        <a href="../../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;effectiveDurability,
+                        <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/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</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;&gt;&nbsp;forMemStore,
+                        <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>
+<div class="block">Reckon the Cells to apply to WAL, memstore, and to return to the Client; these Sets are not
+ always the same dependent on whether to write WAL or if the amount to increment is zero (in
+ this case we write back nothing, just return latest Cell value to the client).</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;</code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#reckonDeltasByStore(org.apache.hadoop.hbase.regionserver.Store,%20org.apache.hadoop.hbase.regionserver.Region.Operation,%20org.apache.hadoop.hbase.client.Mutation,%20org.apache.hadoop.hbase.client.Durability,%20long,%20java.util.List,%20java.util.List)">reckonDeltasByStore</a></strong>(<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/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a>&nbsp;op,
+                                      <a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
+                                      <a href="../../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;effectiveDurability,
+                                      long&nbsp;now,
+                                      <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;deltas,
+                                      <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>
+<div class="block">Reckon the Cells to apply to WAL, memstore, and to return to the Client in passed
+ column family/Store.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">HRegion.</span><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>&nbsp;</td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/RowProcessor.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/RowProcessor.html b/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/RowProcessor.html
index fa48c36..cce6401 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/RowProcessor.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/RowProcessor.html
@@ -178,22 +178,27 @@
                                               long&nbsp;timeout)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#preProcess(org.apache.hadoop.hbase.regionserver.RowProcessor,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit)">preProcess</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,
+                    <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;walEdit)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">HRegion.</span><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>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">Region.</span><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"><span class="strong">HRegion.</span><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,
                                         long&nbsp;nonce)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">Region.</span><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,
@@ -201,14 +206,14 @@
 <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"><span class="strong">HRegion.</span><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,
                                         long&nbsp;nonceGroup,
                                         long&nbsp;nonce)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">Region.</span><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,

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/SequenceId.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/SequenceId.html b/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/SequenceId.html
index fed825a..28b562d 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/SequenceId.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/SequenceId.html
@@ -129,7 +129,7 @@
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></strong></code>
-<div class="block">A Key for an entry in the change log.</div>
+<div class="block">A Key for an entry in the WAL.</div>
 </td>
 </tr>
 </tbody>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/Store.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/Store.html b/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/Store.html
index ba661a9..7051ba8 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/Store.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/Store.html
@@ -593,6 +593,20 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><code>private long</code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#applyToMemstore(org.apache.hadoop.hbase.regionserver.Store,%20org.apache.hadoop.hbase.Cell,%20long)">applyToMemstore</a></strong>(<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/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
+                              long&nbsp;sequenceId)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private long</code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#applyToMemstore(org.apache.hadoop.hbase.regionserver.Store,%20java.util.List,%20boolean,%20boolean,%20long)">applyToMemstore</a></strong>(<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;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;cells,
+                              boolean&nbsp;delta,
+                              boolean&nbsp;replay,
+                              long&nbsp;sequenceId)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#compact(org.apache.hadoop.hbase.regionserver.compactions.CompactionContext,%20org.apache.hadoop.hbase.regionserver.Store,%20org.apache.hadoop.hbase.regionserver.throttle.ThroughputController)">compact</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionContext.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">CompactionContext</a>&nbsp;compaction,
               <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&nbsp;store,
@@ -676,15 +690,6 @@
                                                                       long&nbsp;currentSeqId)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;</code></td>
-<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doGet(org.apache.hadoop.hbase.regionserver.Store,%20byte[],%20java.util.Map.Entry,%20org.apache.hadoop.hbase.io.TimeRange)">doGet</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&nbsp;store,
-          byte[]&nbsp;row,
-          <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">Map.Entry</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;family,
-          <a href="../../../../../../org/apache/hadoop/hbase/io/TimeRange.html" title="class in org.apache.hadoop.hbase.io">TimeRange</a>&nbsp;tr)</code>
-<div class="block">Run a Get against passed in <code>store</code> on passed <code>row</code>, etc.</div>
-</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#dropMemstoreContentsForSeqId(long,%20org.apache.hadoop.hbase.regionserver.Store)">dropMemstoreContentsForSeqId</a></strong>(long&nbsp;seqId,
                                                         <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&nbsp;store)</code>
@@ -692,6 +697,16 @@
  if the memstore edits have seqNums smaller than the given seq id</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;</code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#get(org.apache.hadoop.hbase.client.Mutation,%20org.apache.hadoop.hbase.regionserver.Store,%20java.util.List,%20org.apache.hadoop.hbase.client.IsolationLevel,%20org.apache.hadoop.hbase.io.TimeRange)">get</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="../../../../../../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;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;coordinates,
+      <a href="../../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client">IsolationLevel</a>&nbsp;isolation,
+      <a href="../../../../../../org/apache/hadoop/hbase/io/TimeRange.html" title="class in org.apache.hadoop.hbase.io">TimeRange</a>&nbsp;tr)</code>
+<div class="block">Do a specific Get on passed <code>columnFamily</code> and column qualifiers.</div>
+</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">RegionCoprocessorHost.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.html#postCompact(org.apache.hadoop.hbase.regionserver.Store,%20org.apache.hadoop.hbase.regionserver.StoreFile,%20org.apache.hadoop.hbase.regionserver.compactions.CompactionRequest)">postCompact</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&nbsp;store,
@@ -772,20 +787,33 @@
 </td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;</code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#reckonDeltasByStore(org.apache.hadoop.hbase.regionserver.Store,%20org.apache.hadoop.hbase.regionserver.Region.Operation,%20org.apache.hadoop.hbase.client.Mutation,%20org.apache.hadoop.hbase.client.Durability,%20long,%20java.util.List,%20java.util.List)">reckonDeltasByStore</a></strong>(<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/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a>&nbsp;op,
+                                      <a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
+                                      <a href="../../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;effectiveDurability,
+                                      long&nbsp;now,
+                                      <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;deltas,
+                                      <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>
+<div class="block">Reckon the Cells to apply to WAL, memstore, and to return to the Client in passed
+ column family/Store.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionRequest.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">CompactionRequest</a></code></td>
 <td class="colLast"><span class="strong">CompactSplitThread.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/CompactSplitThread.html#requestCompaction(org.apache.hadoop.hbase.regionserver.Region,%20org.apache.hadoop.hbase.regionserver.Store,%20java.lang.String,%20org.apache.hadoop.hbase.regionserver.compactions.CompactionRequest)">requestCompaction</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;r,
                                   <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&nbsp;s,
                                   <a href="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;why,
                                   <a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionRequest.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">CompactionRequest</a>&nbsp;request)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionRequest.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">CompactionRequest</a></code></td>
 <td class="colLast"><span class="strong">CompactionRequestor.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/CompactionRequestor.html#requestCompaction(org.apache.hadoop.hbase.regionserver.Region,%20org.apache.hadoop.hbase.regionserver.Store,%20java.lang.String,%20org.apache.hadoop.hbase.regionserver.compactions.CompactionRequest)">requestCompaction</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;r,
                                   <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&nbsp;s,
                                   <a href="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;why,
                                   <a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionRequest.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">CompactionRequest</a>&nbsp;request)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionRequest.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">CompactionRequest</a></code></td>
 <td class="colLast"><span class="strong">CompactSplitThread.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/CompactSplitThread.html#requestCompaction(org.apache.hadoop.hbase.regionserver.Region,%20org.apache.hadoop.hbase.regionserver.Store,%20java.lang.String,%20int,%20org.apache.hadoop.hbase.regionserver.compactions.CompactionRequest,%20org.apache.hadoop.hbase.security.User)">requestCompaction</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;r,
                                   <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&nbsp;s,
@@ -794,7 +822,7 @@
                                   <a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionRequest.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">CompactionRequest</a>&nbsp;request,
                                   <a href="../../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionRequest.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">CompactionRequest</a></code></td>
 <td class="colLast"><span class="strong">CompactionRequestor.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/CompactionRequestor.html#requestCompaction(org.apache.hadoop.hbase.regionserver.Region,%20org.apache.hadoop.hbase.regionserver.Store,%20java.lang.String,%20int,%20org.apache.hadoop.hbase.regionserver.compactions.CompactionRequest,%20org.apache.hadoop.hbase.security.User)">requestCompaction</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;r,
                                   <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&nbsp;s,
@@ -803,7 +831,7 @@
                                   <a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionRequest.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">CompactionRequest</a>&nbsp;request,
                                   <a href="../../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionRequest.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">CompactionRequest</a></code></td>
 <td class="colLast"><span class="strong">CompactSplitThread.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/CompactSplitThread.html#requestCompactionInternal(org.apache.hadoop.hbase.regionserver.Region,%20org.apache.hadoop.hbase.regionserver.Store,%20java.lang.String,%20int,%20org.apache.hadoop.hbase.regionserver.compactions.CompactionRequest,%20boolean,%20org.apache.hadoop.hbase.security.User)">requestCompactionInternal</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;r,
                                                   <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&nbsp;s,
@@ -813,20 +841,20 @@
                                                   boolean&nbsp;selectNow,
                                                   <a href="../../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">CompactSplitThread.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/CompactSplitThread.html#requestSystemCompaction(org.apache.hadoop.hbase.regionserver.Region,%20org.apache.hadoop.hbase.regionserver.Store,%20java.lang.String)">requestSystemCompaction</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;r,
                                               <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&nbsp;s,
                                               <a href="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;why)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected boolean</code></td>
 <td class="colLast"><span class="strong">HRegion.</span><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>private <a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionContext.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">CompactionContext</a></code></td>
 <td class="colLast"><span class="strong">CompactSplitThread.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/CompactSplitThread.html#selectCompaction(org.apache.hadoop.hbase.regionserver.Region,%20org.apache.hadoop.hbase.regionserver.Store,%20int,%20org.apache.hadoop.hbase.regionserver.compactions.CompactionRequest,%20org.apache.hadoop.hbase.security.User)">selectCompaction</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;r,
                                 <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&nbsp;s,
@@ -834,17 +862,17 @@
                                 <a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionRequest.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">CompactionRequest</a>&nbsp;request,
                                 <a href="../../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><span class="strong">FlushLargeStoresPolicy.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/FlushLargeStoresPolicy.html#shouldFlush(org.apache.hadoop.hbase.regionserver.Store)">shouldFlush</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&nbsp;store)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) boolean</code></td>
 <td class="colLast"><span class="strong">HRegion.</span><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="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">DefaultMemStore.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/DefaultMemStore.html#shouldSeek(org.apache.hadoop.hbase.client.Scan,%20org.apache.hadoop.hbase.regionserver.Store,%20long)">shouldSeek</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="../../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&nbsp;store,
@@ -852,19 +880,19 @@
 <div class="block">Check if this memstore may contain the required keys</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">NonLazyKeyValueScanner.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/NonLazyKeyValueScanner.html#shouldUseScanner(org.apache.hadoop.hbase.client.Scan,%20org.apache.hadoop.hbase.regionserver.Store,%20long)">shouldUseScanner</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="../../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&nbsp;store,
                                 long&nbsp;oldestUnexpiredTS)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">DefaultMemStore.MemStoreScanner.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#shouldUseScanner(org.apache.hadoop.hbase.client.Scan,%20org.apache.hadoop.hbase.regionserver.Store,%20long)">shouldUseScanner</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="../../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&nbsp;store,
                                 long&nbsp;oldestUnexpiredTS)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">KeyValueScanner.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#shouldUseScanner(org.apache.hadoop.hbase.client.Scan,%20org.apache.hadoop.hbase.regionserver.Store,%20long)">shouldUseScanner</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="../../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&nbsp;store,
@@ -873,7 +901,7 @@
  want to use based on criteria such as Bloom filters and timestamp ranges.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">StoreFileScanner.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/StoreFileScanner.html#shouldUseScanner(org.apache.hadoop.hbase.client.Scan,%20org.apache.hadoop.hbase.regionserver.Store,%20long)">shouldUseScanner</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="../../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&nbsp;store,
@@ -926,6 +954,25 @@
 <td class="colLast"><span class="strong">HRegion.</span><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="rowColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#logFatLineOnFlush(java.util.Collection,%20long)">logFatLineOnFlush</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,
+                                  long&nbsp;sequenceId)</code>
+<div class="block">Utility method broken out of internalPrepareFlushCache so that method is smaller.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a></code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#reckonDeltas(org.apache.hadoop.hbase.regionserver.Region.Operation,%20org.apache.hadoop.hbase.client.Mutation,%20org.apache.hadoop.hbase.client.Durability,%20java.util.Map,%20java.util.List)">reckonDeltas</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,
+                        <a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
+                        <a href="../../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;effectiveDurability,
+                        <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/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</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;&gt;&nbsp;forMemStore,
+                        <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>
+<div class="block">Reckon the Cells to apply to WAL, memstore, and to return to the Client; these Sets are not
+ always the same dependent on whether to write WAL or if the amount to increment is zero (in
+ this case we write back nothing, just return latest Cell value to the client).</div>
+</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/regionserver/compactions/CompactionRequest.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">CompactionRequest</a>&gt;</code></td>
 <td class="colLast"><span class="strong">CompactSplitThread.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/CompactSplitThread.html#requestCompaction(org.apache.hadoop.hbase.regionserver.Region,%20java.lang.String,%20int,%20java.util.List,%20org.apache.hadoop.hbase.security.User)">requestCompaction</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;r,
                                   <a href="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;why,

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/org/apache/hadoop/hbase/regionserver/package-frame.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/package-frame.html b/devapidocs/org/apache/hadoop/hbase/regionserver/package-frame.html
index d3f263d..0b21f87 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/package-frame.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/package-frame.html
@@ -93,7 +93,7 @@
 <li><a href="HeapMemStoreLAB.Chunk.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">HeapMemStoreLAB.Chunk</a></li>
 <li><a href="HMobStore.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">HMobStore</a></li>
 <li><a href="HRegion.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">HRegion</a></li>
-<li><a href="HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">HRegion.BatchOperationInProgress</a></li>
+<li><a href="HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">HRegion.BatchOperation</a></li>
 <li><a href="HRegion.FlushResultImpl.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">HRegion.FlushResultImpl</a></li>
 <li><a href="HRegion.MutationBatch.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">HRegion.MutationBatch</a></li>
 <li><a href="HRegion.PrepareFlushResult.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">HRegion.PrepareFlushResult</a></li>


[31/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/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 d76f4d0..d35999b 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/package-summary.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/package-summary.html
@@ -571,7 +571,7 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a>&lt;T&gt;</td>
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a>&lt;T&gt;</td>
 <td class="colLast">
 <div class="block">Struct-like class that tracks the progress of a batch operation,
  accumulating status codes and tracking the index at which processing

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/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 98aa638..bf208f5 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
@@ -198,7 +198,7 @@
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/HeapMemStoreLAB.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="strong">HeapMemStoreLAB</span></a> (implements org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreLAB.html" title="interface in org.apache.hadoop.hbase.regionserver">MemStoreLAB</a>)</li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/HeapMemStoreLAB.Chunk.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="strong">HeapMemStoreLAB.Chunk</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="strong">HRegion</span></a> (implements org.apache.hadoop.hbase.io.<a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" title="interface in org.apache.hadoop.hbase.io">HeapSize</a>, org.apache.hadoop.hbase.conf.<a href="../../../../../org/apache/hadoop/hbase/conf/PropagatingConfigurationObserver.html" title="interface in org.apache.hadoop.hbase.conf">PropagatingConfigurationObserver</a>, org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>)</li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="strong">HRegion.BatchOperationInProgress</span></a>&lt;T&gt;
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="strong">HRegion.BatchOperation</span></a>&lt;T&gt;
 <ul>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="strong">HRegion.MutationBatch</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatch.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="strong">HRegion.ReplayBatch</span></a></li>
@@ -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/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/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/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/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/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.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/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/DeleteTracker.DeleteResult.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">DeleteTracker.DeleteResult</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/SplitLogWorker.TaskExecutor.Status.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">SplitLogWorker.TaskExecutor.Status</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/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/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/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/RegionOpeningState.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">RegionOpeningState</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">ScannerContext.NextState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">ScannerContext.LimitScope</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/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.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/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/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/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/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/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/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/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/Region.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">Region.FlushResult.Result</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">ScannerContext.LimitScope</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.MatchCode.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">ScanQueryMatcher.MatchCode</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/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 d280c7a..f67693f 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/package-use.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/package-use.html
@@ -934,7 +934,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/regionserver/class-use/HRegion.html#org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/regionserver/class-use/HRegion.BatchOperationInProgress.html#org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a>
+<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/regionserver/class-use/HRegion.BatchOperation.html#org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a>
 <div class="block">Struct-like class that tracks the progress of a batch operation,
  accumulating status codes and tracking the index at which processing
  is proceeding.</div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/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 691fae0..eceda63 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/FSWALEntry.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/FSWALEntry.html
@@ -390,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.140">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.137">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/358717f6/devapidocs/org/apache/hadoop/hbase/regionserver/wal/HLogKey.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/HLogKey.html b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/HLogKey.html
index 901a6ce..2a4f41d 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/HLogKey.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/HLogKey.html
@@ -169,7 +169,7 @@ implements org.apache.hadoop.io.Writable</pre>
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.wal.<a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#clusterIds">clusterIds</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#compressionContext">compressionContext</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#EMPTY_UUIDS">EMPTY_UUIDS</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#encodedRegionName">encodedRegionName</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#logSeqNum">logSeqNum</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#NO_SEQUENCE_ID">NO_SEQUENCE_ID</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#tablename">tablename</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#VERSION">VERSION</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#writeTime">writeTime</a></code></li>
+<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#clusterIds">clusterIds</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#compressionContext">compressionContext</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#EMPTY_UUIDS">EMPTY_UUIDS</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#encodedRegionName">encodedRegionName</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#NO_SEQUENCE_ID">NO_SEQUENCE_ID</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#tablename">tablename</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#VERSION">VERSION</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#writeTime">writeTime</a></code></li>
 </ul>
 </li>
 </ul>
@@ -290,7 +290,7 @@ implements org.apache.hadoop.io.Writable</pre>
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.wal.<a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#addClusterId(java.util.UUID)">addClusterId</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#compareTo(org.apache.hadoop.hbase.wal.WALKey)">compareTo</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#equals(java.lang.Object)">equals</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getBuilder(org.apache.hadoop.hbase.regionserver.wal.WALCellCodec.ByteStringCompressor)">getBuilder</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getClusterIds()">getClusterIds</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getEncodedRegionName()">getEncodedRegionName</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getLogSeqNum()">getLogSeqNum</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getMvcc()">getMvcc</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALK
 ey.html#getNonce()">getNonce</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getNonceGroup()">getNonceGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getOriginatingClusterId()">getOriginatingClusterId</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getOrigLogSeqNum()">getOrigLogSeqNum</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getScopes()">getScopes</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getSequenceId()">getSequenceId</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getSequenceId(long)">getSequenceId</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getTablename()">getTablename</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getWriteEntry()">getWriteEntry</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getWriteTime()">getWriteTime</a>, <a href="../../../
 ../../../org/apache/hadoop/hbase/wal/WALKey.html#hashCode()">hashCode</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#init(byte[],%20org.apache.hadoop.hbase.TableName,%20long,%20long,%20java.util.List,%20long,%20long,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl)">init</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#readFieldsFromPb(org.apache.hadoop.hbase.protobuf.generated.WALProtos.WALKey,%20org.apache.hadoop.hbase.regionserver.wal.WALCellCodec.ByteStringUncompressor)">readFieldsFromPb</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#readOlderScopes(java.util.NavigableMap)">readOlderScopes</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#setCompressionContext(org.apache.hadoop.hbase.regionserver.wal.CompressionContext)">setCompressionContext</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#setLogSeqNum(long)">setLogSeqNum</a>, <a href="../.
 ./../../../../org/apache/hadoop/hbase/wal/WALKey.html#setOrigLogSeqNum(long)">setOrigLogSeqNum</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#setScopes(java.util.NavigableMap)">setScopes</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#setWriteEntry(org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl.WriteEntry)">setWriteEntry</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#toString()">toString</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#toStringMap()">toStringMap</a></code></li>
+<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#addClusterId(java.util.UUID)">addClusterId</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#compareTo(org.apache.hadoop.hbase.wal.WALKey)">compareTo</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#equals(java.lang.Object)">equals</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getBuilder(org.apache.hadoop.hbase.regionserver.wal.WALCellCodec.ByteStringCompressor)">getBuilder</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getClusterIds()">getClusterIds</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getEncodedRegionName()">getEncodedRegionName</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getLogSeqNum()">getLogSeqNum</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getMvcc()">getMvcc</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALK
 ey.html#getNonce()">getNonce</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getNonceGroup()">getNonceGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getOriginatingClusterId()">getOriginatingClusterId</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getOrigLogSeqNum()">getOrigLogSeqNum</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getScopes()">getScopes</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getSequenceId()">getSequenceId</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getTablename()">getTablename</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getWriteEntry()">getWriteEntry</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getWriteTime()">getWriteTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#hashCode()">hashCode</a>, <a href="../../../../../../org/a
 pache/hadoop/hbase/wal/WALKey.html#init(byte[],%20org.apache.hadoop.hbase.TableName,%20long,%20long,%20java.util.List,%20long,%20long,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl)">init</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#readFieldsFromPb(org.apache.hadoop.hbase.protobuf.generated.WALProtos.WALKey,%20org.apache.hadoop.hbase.regionserver.wal.WALCellCodec.ByteStringUncompressor)">readFieldsFromPb</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#readOlderScopes(java.util.NavigableMap)">readOlderScopes</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#setCompressionContext(org.apache.hadoop.hbase.regionserver.wal.CompressionContext)">setCompressionContext</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#setOrigLogSeqNum(long)">setOrigLogSeqNum</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#setScopes(java.util.NavigableMap)">setScopes<
 /a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#setSequenceId(long)">setSequenceId</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#setWriteEntry(org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl.WriteEntry)">setWriteEntry</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#toString()">toString</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#toStringMap()">toStringMap</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/org/apache/hadoop/hbase/regionserver/wal/ReplayHLogKey.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/ReplayHLogKey.html b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/ReplayHLogKey.html
index fd0f704..bd6157d 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/ReplayHLogKey.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/ReplayHLogKey.html
@@ -145,7 +145,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/HLog
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.wal.<a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#clusterIds">clusterIds</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#compressionContext">compressionContext</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#EMPTY_UUIDS">EMPTY_UUIDS</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#encodedRegionName">encodedRegionName</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#logSeqNum">logSeqNum</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#NO_SEQUENCE_ID">NO_SEQUENCE_ID</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#tablename">tablename</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#VERSION">VERSION</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#writeTime">writeTime</a></code></li>
+<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#clusterIds">clusterIds</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#compressionContext">compressionContext</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#EMPTY_UUIDS">EMPTY_UUIDS</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#encodedRegionName">encodedRegionName</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#NO_SEQUENCE_ID">NO_SEQUENCE_ID</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#tablename">tablename</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#VERSION">VERSION</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#writeTime">writeTime</a></code></li>
 </ul>
 </li>
 </ul>
@@ -213,7 +213,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/HLog
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.wal.<a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#addClusterId(java.util.UUID)">addClusterId</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#compareTo(org.apache.hadoop.hbase.wal.WALKey)">compareTo</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#equals(java.lang.Object)">equals</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getBuilder(org.apache.hadoop.hbase.regionserver.wal.WALCellCodec.ByteStringCompressor)">getBuilder</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getClusterIds()">getClusterIds</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getEncodedRegionName()">getEncodedRegionName</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getLogSeqNum()">getLogSeqNum</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getMvcc()">getMvcc</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALK
 ey.html#getNonce()">getNonce</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getNonceGroup()">getNonceGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getOriginatingClusterId()">getOriginatingClusterId</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getOrigLogSeqNum()">getOrigLogSeqNum</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getScopes()">getScopes</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getSequenceId(long)">getSequenceId</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getTablename()">getTablename</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getWriteEntry()">getWriteEntry</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getWriteTime()">getWriteTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#hashCode()">hashCode</a>, <a href="../../../../../../o
 rg/apache/hadoop/hbase/wal/WALKey.html#init(byte[],%20org.apache.hadoop.hbase.TableName,%20long,%20long,%20java.util.List,%20long,%20long,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl)">init</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#readFieldsFromPb(org.apache.hadoop.hbase.protobuf.generated.WALProtos.WALKey,%20org.apache.hadoop.hbase.regionserver.wal.WALCellCodec.ByteStringUncompressor)">readFieldsFromPb</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#readOlderScopes(java.util.NavigableMap)">readOlderScopes</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#setCompressionContext(org.apache.hadoop.hbase.regionserver.wal.CompressionContext)">setCompressionContext</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#setLogSeqNum(long)">setLogSeqNum</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#setOrigLogSeqNum(long)">setOrigLogSeqNum</a>, <a 
 href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#setScopes(java.util.NavigableMap)">setScopes</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#setWriteEntry(org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl.WriteEntry)">setWriteEntry</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#toString()">toString</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#toStringMap()">toStringMap</a></code></li>
+<code><a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#addClusterId(java.util.UUID)">addClusterId</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#compareTo(org.apache.hadoop.hbase.wal.WALKey)">compareTo</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#equals(java.lang.Object)">equals</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getBuilder(org.apache.hadoop.hbase.regionserver.wal.WALCellCodec.ByteStringCompressor)">getBuilder</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getClusterIds()">getClusterIds</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getEncodedRegionName()">getEncodedRegionName</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getLogSeqNum()">getLogSeqNum</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getMvcc()">getMvcc</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALK
 ey.html#getNonce()">getNonce</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getNonceGroup()">getNonceGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getOriginatingClusterId()">getOriginatingClusterId</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getOrigLogSeqNum()">getOrigLogSeqNum</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getScopes()">getScopes</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getTablename()">getTablename</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getWriteEntry()">getWriteEntry</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getWriteTime()">getWriteTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#hashCode()">hashCode</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#init(byte[],%20org.apache.hadoop.hbase.TableName,%20long,%20long,%20
 java.util.List,%20long,%20long,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl)">init</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#readFieldsFromPb(org.apache.hadoop.hbase.protobuf.generated.WALProtos.WALKey,%20org.apache.hadoop.hbase.regionserver.wal.WALCellCodec.ByteStringUncompressor)">readFieldsFromPb</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#readOlderScopes(java.util.NavigableMap)">readOlderScopes</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#setCompressionContext(org.apache.hadoop.hbase.regionserver.wal.CompressionContext)">setCompressionContext</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#setOrigLogSeqNum(long)">setOrigLogSeqNum</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#setScopes(java.util.NavigableMap)">setScopes</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#setSequenceId(long)">setSequenc
 eId</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#setWriteEntry(org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl.WriteEntry)">setWriteEntry</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#toString()">toString</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html#toStringMap()">toStringMap</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/org/apache/hadoop/hbase/regionserver/wal/WALUtil.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/WALUtil.html b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/WALUtil.html
index 49a8907..dcc0b55 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/WALUtil.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/WALUtil.html
@@ -98,9 +98,9 @@
 <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/WALUtil.html#line.45">WALUtil</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">Helper methods to ease Region Server integration with the write ahead log.
+<div class="block">Helper methods to ease Region Server integration with the Write Ahead Log (WAL).
  Note that methods in this class specifically should not require access to anything
- other than the API found in <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal"><code>WAL</code></a>.</div>
+ other than the API found in <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal"><code>WAL</code></a>. For internal use only.</div>
 </li>
 </ul>
 </div>
@@ -158,7 +158,19 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static long</code></td>
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#doFullAppendTransaction(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl,%20boolean)">doFullAppendTransaction</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/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/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;edit,
+                                              <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;mvcc,
+                                              boolean&nbsp;sync)</code>
+<div class="block">A 'full' WAL transaction involves starting an mvcc transaction followed by an append,
+ an optional sync, and then a call to complete the mvcc transaction.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#writeBulkLoadMarkerAndSync(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.protobuf.generated.WALProtos.BulkLoadDescriptor,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl)">writeBulkLoadMarkerAndSync</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/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,
@@ -167,8 +179,8 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <div class="block">Write a log marker that a bulk load has succeeded and is about to be committed.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static long</code></td>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#writeCompactionMarker(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl)">writeCompactionMarker</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/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,
@@ -177,8 +189,8 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <div class="block">Write the marker that a compaction has succeeded and is about to be committed.</div>
 </td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code>static long</code></td>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#writeFlushMarker(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor,%20boolean,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl)">writeFlushMarker</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/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,
@@ -188,23 +200,22 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <div class="block">Write a flush marker indicating a start / abort or a complete of a region flush</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private static long</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#writeMarker(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl,%20boolean)">writeMarker</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal,
+<tr class="altColor">
+<td class="colFirst"><code>private static <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#writeMarker(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl)">writeMarker</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/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/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;edit,
-                      <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;mvcc,
-                      boolean&nbsp;sync)</code>&nbsp;</td>
+                      <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;mvcc)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code>static long</code></td>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#writeRegionEventMarker(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl)">writeRegionEventMarker</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/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,
                                             org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor&nbsp;r,
                                             <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;mvcc)</code>
-<div class="block">Write a region open marker indicating that the region is opened</div>
+<div class="block">Write a region open marker indicating that the region is opened.</div>
 </td>
 </tr>
 </table>
@@ -269,16 +280,18 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>writeCompactionMarker</h4>
-<pre>public static&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#line.59">writeCompactionMarker</a>(<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/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,
-                         org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor&nbsp;c,
-                         <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;mvcc)
-                                  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>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#line.61">writeCompactionMarker</a>(<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/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,
+                           org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor&nbsp;c,
+                           <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;mvcc)
+                                    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">Write the marker that a compaction has succeeded and is about to be committed.
- This provides info to the HMaster to allow it to recover the compaction if
- this regionserver dies in the middle (This part is not yet implemented). It also prevents
- the compaction from finishing if this regionserver has already lost its lease on the log.</div>
+ This provides info to the HMaster to allow it to recover the compaction if this regionserver
+ dies in the middle. It also prevents the compaction from finishing if this regionserver has
+ already lost its lease on the log.
+
+ <p>This write is for internal use only. Not for external client consumption.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>mvcc</code> - Used by WAL to get sequence Id for the waledit.</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>
@@ -290,14 +303,16 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>writeFlushMarker</h4>
-<pre>public static&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#line.72">writeFlushMarker</a>(<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/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,
-                    org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor&nbsp;f,
-                    boolean&nbsp;sync,
-                    <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;mvcc)
-                             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">Write a flush marker indicating a start / abort or a complete of a region flush</div>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#line.76">writeFlushMarker</a>(<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/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,
+                      org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor&nbsp;f,
+                      boolean&nbsp;sync,
+                      <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;mvcc)
+                               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">Write a flush marker indicating a start / abort or a complete of a region flush
+
+ <p>This write is for internal use only. Not for external client consumption.</div>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
 </li>
@@ -308,13 +323,14 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>writeRegionEventMarker</h4>
-<pre>public static&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#line.85">writeRegionEventMarker</a>(<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/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,
-                          org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor&nbsp;r,
-                          <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;mvcc)
-                                   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">Write a region open marker indicating that the region is opened</div>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#line.91">writeRegionEventMarker</a>(<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/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,
+                            org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor&nbsp;r,
+                            <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;mvcc)
+                                     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">Write a region open marker indicating that the region is opened.
+ This write is for internal use only. Not for external client consumption.</div>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
 </li>
@@ -325,36 +341,59 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>writeBulkLoadMarkerAndSync</h4>
-<pre>public static&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#line.105">writeBulkLoadMarkerAndSync</a>(<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/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,
-                              org.apache.hadoop.hbase.protobuf.generated.WALProtos.BulkLoadDescriptor&nbsp;desc,
-                              <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;mvcc)
-                                       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">Write a log marker that a bulk load has succeeded and is about to be committed.</div>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#line.111">writeBulkLoadMarkerAndSync</a>(<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/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,
+                                org.apache.hadoop.hbase.protobuf.generated.WALProtos.BulkLoadDescriptor&nbsp;desc,
+                                <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;mvcc)
+                                         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">Write a log marker that a bulk load has succeeded and is about to be committed.
+ This write is for internal use only. Not for external client consumption.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>wal</code> - The log to write into.</dd><dd><code>htd</code> - A description of the table that we are bulk loading into.</dd><dd><code>hri</code> - A description of the region in the table that we are bulk loading into.</dd><dd><code>desc</code> - A protocol buffers based description of the client's bulk loading request</dd>
-<dt><span class="strong">Returns:</span></dt><dd>txid of this transaction or if nothing to do, the last txid</dd>
+<dt><span class="strong">Returns:</span></dt><dd>walKey with sequenceid filled out for this bulk load marker</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> - We will throw an IOException if we can not append to the HLog.</dd></dl>
 </li>
 </ul>
-<a name="writeMarker(org.apache.hadoop.hbase.wal.WAL, org.apache.hadoop.hbase.HTableDescriptor, org.apache.hadoop.hbase.HRegionInfo, org.apache.hadoop.hbase.regionserver.wal.WALEdit, org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl, boolean)">
+<a name="writeMarker(org.apache.hadoop.hbase.wal.WAL, org.apache.hadoop.hbase.HTableDescriptor, org.apache.hadoop.hbase.HRegionInfo, org.apache.hadoop.hbase.regionserver.wal.WALEdit, org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl)">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>writeMarker</h4>
-<pre>private static&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#line.116">writeMarker</a>(<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/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/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;edit,
-               <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;mvcc,
-               boolean&nbsp;sync)
-                         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>
+<pre>private static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#line.122">writeMarker</a>(<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/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/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;edit,
+                 <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;mvcc)
+                           throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
 </li>
 </ul>
+<a name="doFullAppendTransaction(org.apache.hadoop.hbase.wal.WAL, org.apache.hadoop.hbase.HTableDescriptor, org.apache.hadoop.hbase.HRegionInfo, org.apache.hadoop.hbase.regionserver.wal.WALEdit, org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl, boolean)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>doFullAppendTransaction</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#line.137">doFullAppendTransaction</a>(<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/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/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;edit,
+                             <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;mvcc,
+                             boolean&nbsp;sync)
+                                      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">A 'full' WAL transaction involves starting an mvcc transaction followed by an append,
+ an optional sync, and then a call to complete the mvcc transaction. This method does it all.
+ Good for case of adding a single edit or marker to the WAL.
+
+ <p>This write is for internal use only. Not for external client consumption.</div>
+<dl><dt><span class="strong">Returns:</span></dt><dd>WALKey that was added to the WAL.</dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>


[34/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/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 56a447f..3b0479d 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.5321">HRegion.RowLockImpl</a>
+<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5183">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.5322">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.5184">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.5323">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.5185">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.5325">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.5187">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.5330">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.5192">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.5335">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.5197">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.5340">release</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.5202">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.5346">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.5208">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/358717f6/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html
index 22ccc99..a7e67ee 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html
@@ -99,7 +99,7 @@
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.391">HRegion.WriteState</a>
+<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.375">HRegion.WriteState</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>
@@ -225,7 +225,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>flushing</h4>
-<pre>volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.393">flushing</a></pre>
+<pre>volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.377">flushing</a></pre>
 </li>
 </ul>
 <a name="flushRequested">
@@ -234,7 +234,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>flushRequested</h4>
-<pre>volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.395">flushRequested</a></pre>
+<pre>volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.379">flushRequested</a></pre>
 </li>
 </ul>
 <a name="compacting">
@@ -243,7 +243,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>compacting</h4>
-<pre><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.WriteState.html#line.397">compacting</a></pre>
+<pre><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.WriteState.html#line.381">compacting</a></pre>
 </li>
 </ul>
 <a name="writesEnabled">
@@ -252,7 +252,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>writesEnabled</h4>
-<pre>volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.399">writesEnabled</a></pre>
+<pre>volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.383">writesEnabled</a></pre>
 </li>
 </ul>
 <a name="readOnly">
@@ -261,7 +261,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>readOnly</h4>
-<pre>volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.401">readOnly</a></pre>
+<pre>volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.385">readOnly</a></pre>
 </li>
 </ul>
 <a name="readsEnabled">
@@ -270,7 +270,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>readsEnabled</h4>
-<pre>volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.404">readsEnabled</a></pre>
+<pre>volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.388">readsEnabled</a></pre>
 </li>
 </ul>
 <a name="HEAP_SIZE">
@@ -279,7 +279,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HEAP_SIZE</h4>
-<pre>static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.428">HEAP_SIZE</a></pre>
+<pre>static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.412">HEAP_SIZE</a></pre>
 </li>
 </ul>
 </li>
@@ -296,7 +296,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HRegion.WriteState</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.391">HRegion.WriteState</a>()</pre>
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.375">HRegion.WriteState</a>()</pre>
 </li>
 </ul>
 </li>
@@ -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>setReadOnly</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.411">setReadOnly</a>(boolean&nbsp;onOff)</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.395">setReadOnly</a>(boolean&nbsp;onOff)</pre>
 <div class="block">Set flags that make this region read-only.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>onOff</code> - flip value for region r/o setting</dd></dl>
 </li>
@@ -324,7 +324,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>isReadOnly</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.416">isReadOnly</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.400">isReadOnly</a>()</pre>
 </li>
 </ul>
 <a name="isFlushRequested()">
@@ -333,7 +333,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>isFlushRequested</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.420">isFlushRequested</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.404">isFlushRequested</a>()</pre>
 </li>
 </ul>
 <a name="setReadsEnabled(boolean)">
@@ -342,7 +342,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>setReadsEnabled</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.424">setReadsEnabled</a>(boolean&nbsp;readsEnabled)</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.408">setReadsEnabled</a>(boolean&nbsp;readsEnabled)</pre>
 </li>
 </ul>
 </li>


[28/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/org/apache/hadoop/hbase/wal/WALKey.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/WALKey.html b/devapidocs/org/apache/hadoop/hbase/wal/WALKey.html
index 496e81e..e12a37c 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/WALKey.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/WALKey.html
@@ -104,22 +104,19 @@
 <hr>
 <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>="Replication")
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.77">WALKey</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.70">WALKey</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/SequenceId.html" title="interface in org.apache.hadoop.hbase.regionserver">SequenceId</a>, <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;<a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a>&gt;</pre>
-<div class="block">A Key for an entry in the change log.
+<div class="block">A Key for an entry in the WAL.
 
  The log intermingles edits to many tables and rows, so each log entry
  identifies the appropriate table and row.  Within a table and row, they're
  also sorted.
 
- <p>Some Transactional edits (START, COMMIT, ABORT) will not have an
- associated row.
+ <p>Some Transactional edits (START, COMMIT, ABORT) will not have an associated row.
 
  Note that protected members marked @InterfaceAudience.Private are only protected
- to support the legacy HLogKey class, which is in a different package.
- 
- <p></div>
+ to support the legacy HLogKey class, which is in a different package.</div>
 </li>
 </ul>
 </div>
@@ -178,42 +175,46 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Sequence
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html#LOG">LOG</a></strong></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>protected long</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html#logSeqNum">logSeqNum</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html#mvcc">mvcc</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/wal/WALKey.html#NO_SEQUENCE_ID">NO_SEQUENCE_ID</a></strong></code>
 <div class="block">Used to represent when a particular wal key doesn't know/care about the sequence ordering.</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/wal/WALKey.html#nonce">nonce</a></strong></code>&nbsp;</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/wal/WALKey.html#nonceGroup">nonceGroup</a></strong></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/wal/WALKey.html#origLogSeqNum">origLogSeqNum</a></strong></code>&nbsp;</td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html#origLogSeqNum">origLogSeqNum</a></strong></code>
+<div class="block">Used during WAL replay; the sequenceId of the edit when it came into the system.</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/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/wal/WALKey.html#PREFIX_CLUSTER_KEY">PREFIX_CLUSTER_KEY</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/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/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/wal/WALKey.html#scopes">scopes</a></strong></code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>private long</code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html#sequenceId">sequenceId</a></strong></code>
+<div class="block">SequenceId for this edit.</div>
+</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>private <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></code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html#seqNumAssignedLatch">seqNumAssignedLatch</a></strong></code>&nbsp;</td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html#sequenceIdAssignedLatch">sequenceIdAssignedLatch</a></strong></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a></code></td>
@@ -225,7 +226,9 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Sequence
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a></code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html#writeEntry">writeEntry</a></strong></code>&nbsp;</td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html#writeEntry">writeEntry</a></strong></code>
+<div class="block">Set in a way visible to multiple threads; e.g.</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>protected long</code></td>
@@ -250,7 +253,11 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Sequence
 </tr>
 <tr class="rowColor">
 <td class="colOne"><code><strong><a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html#WALKey(byte[],%20org.apache.hadoop.hbase.TableName)">WALKey</a></strong>(byte[]&nbsp;encodedRegionName,
-            <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tablename)</code>&nbsp;</td>
+            <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tablename)</code>
+<div class="block"><strong>Deprecated.</strong>&nbsp;
+<div class="block"><i>Remove. Useless.</i></div>
+</div>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colOne"><code><strong><a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html#WALKey(byte[],%20org.apache.hadoop.hbase.TableName,%20long)">WALKey</a></strong>(byte[]&nbsp;encodedRegionName,
@@ -346,7 +353,11 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Sequence
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getLogSeqNum()">getLogSeqNum</a></strong>()</code>&nbsp;</td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getLogSeqNum()">getLogSeqNum</a></strong>()</code>
+<div class="block"><strong>Deprecated.</strong>&nbsp;
+<div class="block"><i>Use <a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getSequenceId()"><code>getSequenceId()</code></a></i></div>
+</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a></code></td>
@@ -367,7 +378,8 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Sequence
 <tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getOrigLogSeqNum()">getOrigLogSeqNum</a></strong>()</code>
-<div class="block">Return a positive long if current WALKey is created from a replay edit</div>
+<div class="block">Return a positive long if current WALKey is created from a replay edit; a replay edit is an
+ edit that came in when replaying WALs of a crashed server.</div>
 </td>
 </tr>
 <tr class="altColor">
@@ -377,34 +389,28 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Sequence
 <tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getSequenceId()">getSequenceId</a></strong>()</code>
-<div class="block">Wait for sequence number to be assigned &amp; return the assigned value</div>
+<div class="block">SequenceId is only available post WAL-assign.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getSequenceId(long)">getSequenceId</a></strong>(long&nbsp;maxWaitForSeqId)</code>
-<div class="block">Wait for sequence number to be assigned &amp; return the assigned value.</div>
-</td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getTablename()">getTablename</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getWriteEntry()">getWriteEntry</a></strong>()</code>
-<div class="block">Will block until a write entry has been assigned by they WAL subsystem.</div>
+<div class="block">Use it to complete mvcc transaction.</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/wal/WALKey.html#getWriteTime()">getWriteTime</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html#hashCode()">hashCode</a></strong>()</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/wal/WALKey.html#init(byte[],%20org.apache.hadoop.hbase.TableName,%20long,%20long,%20java.util.List,%20long,%20long,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl)">init</a></strong>(byte[]&nbsp;encodedRegionName,
         <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tablename,
@@ -415,44 +421,37 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Sequence
         long&nbsp;nonce,
         <a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;mvcc)</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/wal/WALKey.html#internEncodedRegionName(byte[])">internEncodedRegionName</a></strong>(byte[]&nbsp;encodedRegionName)</code>
 <div class="block">Drop this instance's region name byte array and instead
  hold a reference to the provided region name.</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/wal/WALKey.html#internTableName(org.apache.hadoop.hbase.TableName)">internTableName</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tablename)</code>
 <div class="block">Drop this instance's tablename byte array and instead
  hold a reference to the provided tablename.</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/wal/WALKey.html#readFieldsFromPb(org.apache.hadoop.hbase.protobuf.generated.WALProtos.WALKey,%20org.apache.hadoop.hbase.regionserver.wal.WALCellCodec.ByteStringUncompressor)">readFieldsFromPb</a></strong>(org.apache.hadoop.hbase.protobuf.generated.WALProtos.WALKey&nbsp;walKey,
                                 <a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.ByteStringUncompressor.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALCellCodec.ByteStringUncompressor</a>&nbsp;uncompressor)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html#readOlderScopes(java.util.NavigableMap)">readOlderScopes</a></strong>(<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/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;scopes)</code>&nbsp;</td>
-</tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html#setCompressionContext(org.apache.hadoop.hbase.regionserver.wal.CompressionContext)">setCompressionContext</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/CompressionContext.html" title="class in org.apache.hadoop.hbase.regionserver.wal">CompressionContext</a>&nbsp;compressionContext)</code>&nbsp;</td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html#readOlderScopes(java.util.NavigableMap)">readOlderScopes</a></strong>(<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/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;scopes)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html#setLogSeqNum(long)">setLogSeqNum</a></strong>(long&nbsp;sequence)</code>
-<div class="block">Allow that the log sequence id to be set post-construction
- Only public for org.apache.hadoop.hbase.regionserver.wal.FSWALEntry</div>
-</td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html#setCompressionContext(org.apache.hadoop.hbase.regionserver.wal.CompressionContext)">setCompressionContext</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/CompressionContext.html" title="class in org.apache.hadoop.hbase.regionserver.wal">CompressionContext</a>&nbsp;compressionContext)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html#setOrigLogSeqNum(long)">setOrigLogSeqNum</a></strong>(long&nbsp;seqId)</code>
-<div class="block">Used to set original seq Id for WALKey during wal replay</div>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html#setOrigLogSeqNum(long)">setOrigLogSeqNum</a></strong>(long&nbsp;sequenceId)</code>
+<div class="block">Used to set original sequenceId for WALKey during WAL replay</div>
 </td>
 </tr>
 <tr class="rowColor">
@@ -460,14 +459,18 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Sequence
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html#setScopes(java.util.NavigableMap)">setScopes</a></strong>(<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/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;scopes)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html#setSequenceId(long)">setSequenceId</a></strong>(long&nbsp;sequenceId)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html#setWriteEntry(org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl.WriteEntry)">setWriteEntry</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a>&nbsp;writeEntry)</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/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/wal/WALKey.html#toString()">toString</a></strong>()</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/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;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html#toStringMap()">toStringMap</a></strong>()</code>
 <div class="block">Produces a string map for this key.</div>
@@ -501,86 +504,88 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Sequence
 <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/wal/WALKey.html#line.78">LOG</a></pre>
+<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.71">LOG</a></pre>
 </li>
 </ul>
-<a name="PREFIX_CLUSTER_KEY">
+<a name="sequenceIdAssignedLatch">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>PREFIX_CLUSTER_KEY</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/wal/WALKey.html#line.159">PREFIX_CLUSTER_KEY</a></pre>
-<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.wal.WALKey.PREFIX_CLUSTER_KEY">Constant Field Values</a></dd></dl>
+<h4>sequenceIdAssignedLatch</h4>
+<pre>private final&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/wal/WALKey.html#line.72">sequenceIdAssignedLatch</a></pre>
 </li>
 </ul>
-<a name="VERSION">
+<a name="NO_SEQUENCE_ID">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>VERSION</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-protected static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.Version.html" title="enum in org.apache.hadoop.hbase.wal">WALKey.Version</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.164">VERSION</a></pre>
+<h4>NO_SEQUENCE_ID</h4>
+<pre>public static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.76">NO_SEQUENCE_ID</a></pre>
+<div class="block">Used to represent when a particular wal key doesn't know/care about the sequence ordering.</div>
+<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.wal.WALKey.NO_SEQUENCE_ID">Constant Field Values</a></dd></dl>
 </li>
 </ul>
-<a name="NO_SEQUENCE_ID">
+<a name="PREFIX_CLUSTER_KEY">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>NO_SEQUENCE_ID</h4>
-<pre>public static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.167">NO_SEQUENCE_ID</a></pre>
-<div class="block">Used to represent when a particular wal key doesn't know/care about the sequence ordering.</div>
-<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.wal.WALKey.NO_SEQUENCE_ID">Constant Field Values</a></dd></dl>
+<h4>PREFIX_CLUSTER_KEY</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/wal/WALKey.html#line.162">PREFIX_CLUSTER_KEY</a></pre>
+<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.wal.WALKey.PREFIX_CLUSTER_KEY">Constant Field Values</a></dd></dl>
 </li>
 </ul>
-<a name="encodedRegionName">
+<a name="VERSION">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>encodedRegionName</h4>
+<h4>VERSION</h4>
 <pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-protected&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.172">encodedRegionName</a></pre>
+protected static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.Version.html" title="enum in org.apache.hadoop.hbase.wal">WALKey.Version</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.167">VERSION</a></pre>
 </li>
 </ul>
-<a name="tablename">
+<a name="encodedRegionName">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>tablename</h4>
+<h4>encodedRegionName</h4>
 <pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.175">tablename</a></pre>
+protected&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.171">encodedRegionName</a></pre>
 </li>
 </ul>
-<a name="logSeqNum">
+<a name="tablename">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>logSeqNum</h4>
+<h4>tablename</h4>
 <pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-protected&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.178">logSeqNum</a></pre>
+protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.174">tablename</a></pre>
 </li>
 </ul>
-<a name="origLogSeqNum">
+<a name="sequenceId">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>origLogSeqNum</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.179">origLogSeqNum</a></pre>
+<h4>sequenceId</h4>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.179">sequenceId</a></pre>
+<div class="block">SequenceId for this edit. Set post-construction at write-to-WAL time. Until then it is
+ NO_SEQUENCE_ID. Change it so multiple threads can read it -- e.g. access is synchronized.</div>
 </li>
 </ul>
-<a name="seqNumAssignedLatch">
+<a name="origLogSeqNum">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>seqNumAssignedLatch</h4>
-<pre>private&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/wal/WALKey.html#line.180">seqNumAssignedLatch</a></pre>
+<h4>origLogSeqNum</h4>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.184">origLogSeqNum</a></pre>
+<div class="block">Used during WAL replay; the sequenceId of the edit when it came into the system.</div>
 </li>
 </ul>
 <a name="writeTime">
@@ -590,7 +595,7 @@ protected&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/wal
 <li class="blockList">
 <h4>writeTime</h4>
 <pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-protected&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.184">writeTime</a></pre>
+protected&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.189">writeTime</a></pre>
 </li>
 </ul>
 <a name="clusterIds">
@@ -600,7 +605,7 @@ protected&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/wal
 <li class="blockList">
 <h4>clusterIds</h4>
 <pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-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="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; <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.189">clusterIds</a></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="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; <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.194">clusterIds</a></pre>
 </li>
 </ul>
 <a name="scopes">
@@ -609,7 +614,7 @@ protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.
 <ul class="blockList">
 <li class="blockList">
 <h4>scopes</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;byte[],<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/wal/WALKey.html#line.191">scopes</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;byte[],<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/wal/WALKey.html#line.196">scopes</a></pre>
 </li>
 </ul>
 <a name="nonceGroup">
@@ -618,7 +623,7 @@ protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.
 <ul class="blockList">
 <li class="blockList">
 <h4>nonceGroup</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.193">nonceGroup</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.198">nonceGroup</a></pre>
 </li>
 </ul>
 <a name="nonce">
@@ -627,7 +632,7 @@ protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.
 <ul class="blockList">
 <li class="blockList">
 <h4>nonce</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.194">nonce</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.199">nonce</a></pre>
 </li>
 </ul>
 <a name="mvcc">
@@ -636,7 +641,7 @@ protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.
 <ul class="blockList">
 <li class="blockList">
 <h4>mvcc</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.195">mvcc</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.200">mvcc</a></pre>
 </li>
 </ul>
 <a name="writeEntry">
@@ -645,7 +650,8 @@ protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.
 <ul class="blockList">
 <li class="blockList">
 <h4>writeEntry</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.196">writeEntry</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.204">writeEntry</a></pre>
+<div class="block">Set in a way visible to multiple threads; e.g. synchronized getter/setters.</div>
 </li>
 </ul>
 <a name="EMPTY_UUIDS">
@@ -654,7 +660,7 @@ protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.
 <ul class="blockList">
 <li class="blockList">
 <h4>EMPTY_UUIDS</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/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.197">EMPTY_UUIDS</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/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.205">EMPTY_UUIDS</a></pre>
 </li>
 </ul>
 <a name="compressionContext">
@@ -664,7 +670,7 @@ protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.
 <li class="blockList">
 <h4>compressionContext</h4>
 <pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/CompressionContext.html" title="class in org.apache.hadoop.hbase.regionserver.wal">CompressionContext</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.201">compressionContext</a></pre>
+protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/CompressionContext.html" title="class in org.apache.hadoop.hbase.regionserver.wal">CompressionContext</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.209">compressionContext</a></pre>
 </li>
 </ul>
 </li>
@@ -681,7 +687,7 @@ protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/
 <ul class="blockList">
 <li class="blockList">
 <h4>WALKey</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.203">WALKey</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.211">WALKey</a>()</pre>
 </li>
 </ul>
 <a name="WALKey(byte[], org.apache.hadoop.hbase.TableName, long, long, java.util.UUID)">
@@ -690,7 +696,7 @@ protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/
 <ul class="blockList">
 <li class="blockList">
 <h4>WALKey</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.209">WALKey</a>(byte[]&nbsp;encodedRegionName,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.217">WALKey</a>(byte[]&nbsp;encodedRegionName,
       <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tablename,
       long&nbsp;logSeqNum,
       long&nbsp;now,
@@ -703,8 +709,10 @@ protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/
 <ul class="blockList">
 <li class="blockList">
 <h4>WALKey</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.218">WALKey</a>(byte[]&nbsp;encodedRegionName,
-      <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tablename)</pre>
+<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
+public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.230">WALKey</a>(byte[]&nbsp;encodedRegionName,
+                 <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tablename)</pre>
+<div class="block"><span class="strong">Deprecated.</span>&nbsp;<i>Remove. Useless.</i></div>
 </li>
 </ul>
 <a name="WALKey(byte[], org.apache.hadoop.hbase.TableName, long)">
@@ -713,7 +721,7 @@ protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/
 <ul class="blockList">
 <li class="blockList">
 <h4>WALKey</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.222">WALKey</a>(byte[]&nbsp;encodedRegionName,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.235">WALKey</a>(byte[]&nbsp;encodedRegionName,
       <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tablename,
       long&nbsp;now)</pre>
 </li>
@@ -724,7 +732,7 @@ protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/
 <ul class="blockList">
 <li class="blockList">
 <h4>WALKey</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.233">WALKey</a>(byte[]&nbsp;encodedRegionName,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.246">WALKey</a>(byte[]&nbsp;encodedRegionName,
       <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tablename,
       long&nbsp;now,
       <a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;mvcc)</pre>
@@ -736,7 +744,7 @@ protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/
 <ul class="blockList">
 <li class="blockList">
 <h4>WALKey</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.260">WALKey</a>(byte[]&nbsp;encodedRegionName,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.274">WALKey</a>(byte[]&nbsp;encodedRegionName,
       <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tablename,
       long&nbsp;logSeqNum,
       long&nbsp;now,
@@ -758,7 +766,7 @@ protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/
 <ul class="blockList">
 <li class="blockList">
 <h4>WALKey</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.285">WALKey</a>(byte[]&nbsp;encodedRegionName,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.299">WALKey</a>(byte[]&nbsp;encodedRegionName,
       <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tablename,
       long&nbsp;now,
       <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;clusterIds,
@@ -778,7 +786,7 @@ protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/
 <ul class="blockListLast">
 <li class="blockList">
 <h4>WALKey</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.303">WALKey</a>(byte[]&nbsp;encodedRegionName,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.318">WALKey</a>(byte[]&nbsp;encodedRegionName,
       <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tablename,
       long&nbsp;logSeqNum,
       long&nbsp;nonceGroup,
@@ -806,7 +814,7 @@ protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/
 <li class="blockList">
 <h4>getMvcc</h4>
 <pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.81">getMvcc</a>()</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.79">getMvcc</a>()</pre>
 </li>
 </ul>
 <a name="getWriteEntry()">
@@ -816,13 +824,14 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVe
 <li class="blockList">
 <h4>getWriteEntry</h4>
 <pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.94">getWriteEntry</a>()
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.93">getWriteEntry</a>()
                                                         throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/InterruptedIOException.html?is-external=true" title="class or interface in java.io">InterruptedIOException</a></pre>
-<div class="block">Will block until a write entry has been assigned by they WAL subsystem.</div>
-<dl><dt><span class="strong">Returns:</span></dt><dd>A WriteEntry gotten from local WAL subsystem. Must be completed by calling
-     <a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html#complete(org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl.WriteEntry)"><code>MultiVersionConcurrencyControl.complete(MultiVersionConcurrencyControl.WriteEntry)</code></a>
-     or
-     <a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html#complete(org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl.WriteEntry)"><code>MultiVersionConcurrencyControl.complete(MultiVersionConcurrencyControl.WriteEntry)</code></a></dd>
+<div class="block">Use it to complete mvcc transaction. This WALKey was part of
+ (the transaction is started when you call append; see the comment on FSHLog#append). To
+ complete call
+ <a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html#complete(org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl.WriteEntry)"><code>MultiVersionConcurrencyControl.complete(MultiVersionConcurrencyControl.WriteEntry)</code></a>
+ or <a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html#complete(org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl.WriteEntry)"><code>MultiVersionConcurrencyControl.complete(MultiVersionConcurrencyControl.WriteEntry)</code></a></div>
+<dl><dt><span class="strong">Returns:</span></dt><dd>A WriteEntry gotten from local WAL subsystem.</dd>
 <dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/InterruptedIOException.html?is-external=true" title="class or interface in java.io">InterruptedIOException</a></code></dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html#setWriteEntry(org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl.WriteEntry)"><code>setWriteEntry(MultiVersionConcurrencyControl.WriteEntry)</code></a></dd></dl>
 </li>
@@ -834,7 +843,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVe
 <li class="blockList">
 <h4>setWriteEntry</h4>
 <pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.114">setWriteEntry</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a>&nbsp;writeEntry)</pre>
+public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.109">setWriteEntry</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a>&nbsp;writeEntry)</pre>
 </li>
 </ul>
 <a name="init(byte[], org.apache.hadoop.hbase.TableName, long, long, java.util.List, long, long, org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl)">
@@ -844,7 +853,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/w
 <li class="blockList">
 <h4>init</h4>
 <pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.320">init</a>(byte[]&nbsp;encodedRegionName,
+protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.335">init</a>(byte[]&nbsp;encodedRegionName,
                                   <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tablename,
                                   long&nbsp;logSeqNum,
                                   long&nbsp;now,
@@ -854,13 +863,23 @@ protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
                                   <a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;mvcc)</pre>
 </li>
 </ul>
+<a name="setSequenceId(long)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setSequenceId</h4>
+<pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
+protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.358">setSequenceId</a>(long&nbsp;sequenceId)</pre>
+</li>
+</ul>
 <a name="setCompressionContext(org.apache.hadoop.hbase.regionserver.wal.CompressionContext)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>setCompressionContext</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.341">setCompressionContext</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/CompressionContext.html" title="class in org.apache.hadoop.hbase.regionserver.wal">CompressionContext</a>&nbsp;compressionContext)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.365">setCompressionContext</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/CompressionContext.html" title="class in org.apache.hadoop.hbase.regionserver.wal">CompressionContext</a>&nbsp;compressionContext)</pre>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>compressionContext</code> - Compression context to use</dd></dl>
 </li>
 </ul>
@@ -870,7 +889,7 @@ protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>getEncodedRegionName</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.346">getEncodedRegionName</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.370">getEncodedRegionName</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>encoded region name</dd></dl>
 </li>
 </ul>
@@ -880,7 +899,7 @@ protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>getTablename</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.351">getTablename</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.375">getTablename</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>table name</dd></dl>
 </li>
 </ul>
@@ -890,32 +909,20 @@ protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>getLogSeqNum</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.356">getLogSeqNum</a>()</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>
+public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.383">getLogSeqNum</a>()</pre>
+<div class="block"><span class="strong">Deprecated.</span>&nbsp;<i>Use <a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getSequenceId()"><code>getSequenceId()</code></a></i></div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>log sequence number</dd></dl>
 </li>
 </ul>
-<a name="setLogSeqNum(long)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>setLogSeqNum</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.366">setLogSeqNum</a>(long&nbsp;sequence)</pre>
-<div class="block">Allow that the log sequence id to be set post-construction
- Only public for org.apache.hadoop.hbase.regionserver.wal.FSWALEntry</div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>sequence</code> - </dd></dl>
-</li>
-</ul>
 <a name="setOrigLogSeqNum(long)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>setOrigLogSeqNum</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.375">setOrigLogSeqNum</a>(long&nbsp;seqId)</pre>
-<div class="block">Used to set original seq Id for WALKey during wal replay</div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>seqId</code> - </dd></dl>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.390">setOrigLogSeqNum</a>(long&nbsp;sequenceId)</pre>
+<div class="block">Used to set original sequenceId for WALKey during WAL replay</div>
 </li>
 </ul>
 <a name="getOrigLogSeqNum()">
@@ -924,8 +931,9 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/w
 <ul class="blockList">
 <li class="blockList">
 <h4>getOrigLogSeqNum</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.383">getOrigLogSeqNum</a>()</pre>
-<div class="block">Return a positive long if current WALKey is created from a replay edit</div>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.399">getOrigLogSeqNum</a>()</pre>
+<div class="block">Return a positive long if current WALKey is created from a replay edit; a replay edit is an
+ edit that came in when replaying WALs of a crashed server.</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>original sequence number of the WALEdit</dd></dl>
 </li>
 </ul>
@@ -935,30 +943,14 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/w
 <ul class="blockList">
 <li class="blockList">
 <h4>getSequenceId</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.393">getSequenceId</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">Wait for sequence number to be assigned &amp; return the assigned value</div>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.410">getSequenceId</a>()</pre>
+<div class="block">SequenceId is only available post WAL-assign. Calls before this will get you a
+ <a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html#NO_SEQUENCE_ID"><code>NO_SEQUENCE_ID</code></a>. See the comment on FSHLog#append and #getWriteNumber in this method
+ for more on when this sequenceId comes available.</div>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/SequenceId.html#getSequenceId()">getSequenceId</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/SequenceId.html" title="interface in org.apache.hadoop.hbase.regionserver">SequenceId</a></code></dd>
-<dt><span class="strong">Returns:</span></dt><dd>long the new assigned sequence number</dd>
-<dt><span class="strong">Throws:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
-</li>
-</ul>
-<a name="getSequenceId(long)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getSequenceId</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.403">getSequenceId</a>(long&nbsp;maxWaitForSeqId)
-                   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">Wait for sequence number to be assigned &amp; return the assigned value.</div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>maxWaitForSeqId</code> - maximum time to wait in milliseconds for sequenceid</dd>
-<dt><span class="strong">Returns:</span></dt><dd>long the new assigned sequence number</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>
+<dt><span class="strong">Returns:</span></dt><dd>long the new assigned sequence number</dd></dl>
 </li>
 </ul>
 <a name="getWriteTime()">
@@ -967,7 +959,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/w
 <ul class="blockList">
 <li class="blockList">
 <h4>getWriteTime</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.430">getWriteTime</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.417">getWriteTime</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the write time</dd></dl>
 </li>
 </ul>
@@ -977,7 +969,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/w
 <ul class="blockList">
 <li class="blockList">
 <h4>getScopes</h4>
-<pre>public&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;byte[],<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/wal/WALKey.html#line.434">getScopes</a>()</pre>
+<pre>public&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;byte[],<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/wal/WALKey.html#line.421">getScopes</a>()</pre>
 </li>
 </ul>
 <a name="getNonceGroup()">
@@ -986,7 +978,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/w
 <ul class="blockList">
 <li class="blockList">
 <h4>getNonceGroup</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.439">getNonceGroup</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.426">getNonceGroup</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>The nonce group</dd></dl>
 </li>
 </ul>
@@ -996,7 +988,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/w
 <ul class="blockList">
 <li class="blockList">
 <h4>getNonce</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.444">getNonce</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.431">getNonce</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>The nonce</dd></dl>
 </li>
 </ul>
@@ -1006,7 +998,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/w
 <ul class="blockList">
 <li class="blockList">
 <h4>setScopes</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.448">setScopes</a>(<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/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;scopes)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.435">setScopes</a>(<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/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;scopes)</pre>
 </li>
 </ul>
 <a name="readOlderScopes(java.util.NavigableMap)">
@@ -1015,7 +1007,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/w
 <ul class="blockList">
 <li class="blockList">
 <h4>readOlderScopes</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.452">readOlderScopes</a>(<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/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;scopes)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.439">readOlderScopes</a>(<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/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;scopes)</pre>
 </li>
 </ul>
 <a name="addClusterId(java.util.UUID)">
@@ -1024,7 +1016,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/w
 <ul class="blockList">
 <li class="blockList">
 <h4>addClusterId</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.474">addClusterId</a>(<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>&nbsp;clusterId)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.461">addClusterId</a>(<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>&nbsp;clusterId)</pre>
 <div class="block">Marks that the cluster with the given clusterId has consumed the change</div>
 </li>
 </ul>
@@ -1034,7 +1026,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/w
 <ul class="blockList">
 <li class="blockList">
 <h4>getClusterIds</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/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/wal/WALKey.html#line.483">getClusterIds</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;<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/wal/WALKey.html#line.470">getClusterIds</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the set of cluster Ids that have consumed the change</dd></dl>
 </li>
 </ul>
@@ -1044,7 +1036,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/w
 <ul class="blockList">
 <li class="blockList">
 <h4>getOriginatingClusterId</h4>
-<pre>public&nbsp;<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>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.491">getOriginatingClusterId</a>()</pre>
+<pre>public&nbsp;<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>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.478">getOriginatingClusterId</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the cluster id on which the change has originated. It there is no such cluster, it
          returns DEFAULT_CLUSTER_ID (cases where replication is not enabled)</dd></dl>
 </li>
@@ -1055,7 +1047,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/w
 <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/wal/WALKey.html#line.496">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/wal/WALKey.html#line.483">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>
@@ -1068,7 +1060,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/w
 <ul class="blockList">
 <li class="blockList">
 <h4>toStringMap</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/wal/WALKey.html#line.508">toStringMap</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/wal/WALKey.html#line.495">toStringMap</a>()</pre>
 <div class="block">Produces a string map for this key. Useful for programmatic use and
  manipulation of the data stored in an WALKey, for example, printing
  as JSON.</div>
@@ -1081,7 +1073,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/w
 <ul class="blockList">
 <li class="blockList">
 <h4>equals</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.517">equals</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;obj)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.504">equals</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;obj)</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#equals(java.lang.Object)" title="class or interface in java.lang">equals</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>
@@ -1094,7 +1086,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/w
 <ul class="blockList">
 <li class="blockList">
 <h4>hashCode</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.528">hashCode</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.515">hashCode</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#hashCode()" title="class or interface in java.lang">hashCode</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>
@@ -1107,7 +1099,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/w
 <ul class="blockList">
 <li class="blockList">
 <h4>compareTo</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.536">compareTo</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a>&nbsp;o)</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.523">compareTo</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a>&nbsp;o)</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true#compareTo(T)" title="class or interface in java.lang">compareTo</a></code>&nbsp;in interface&nbsp;<code><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;<a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a>&gt;</code></dd>
@@ -1120,7 +1112,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/w
 <ul class="blockList">
 <li class="blockList">
 <h4>internTableName</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.562">internTableName</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tablename)</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.551">internTableName</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tablename)</pre>
 <div class="block">Drop this instance's tablename byte array and instead
  hold a reference to the provided tablename. This is not
  meant to be a general purpose setter - it's only used
@@ -1133,7 +1125,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/w
 <ul class="blockList">
 <li class="blockList">
 <h4>internEncodedRegionName</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.575">internEncodedRegionName</a>(byte[]&nbsp;encodedRegionName)</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.564">internEncodedRegionName</a>(byte[]&nbsp;encodedRegionName)</pre>
 <div class="block">Drop this instance's region name byte array and instead
  hold a reference to the provided region name. This is not
  meant to be a general purpose setter - it's only used
@@ -1146,7 +1138,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/w
 <ul class="blockList">
 <li class="blockList">
 <h4>getBuilder</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.WALProtos.WALKey.Builder&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.582">getBuilder</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.ByteStringCompressor.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALCellCodec.ByteStringCompressor</a>&nbsp;compressor)
+<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.WALProtos.WALKey.Builder&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.571">getBuilder</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.ByteStringCompressor.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALCellCodec.ByteStringCompressor</a>&nbsp;compressor)
                                                                                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>
@@ -1158,7 +1150,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/w
 <ul class="blockListLast">
 <li class="blockList">
 <h4>readFieldsFromPb</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.623">readFieldsFromPb</a>(org.apache.hadoop.hbase.protobuf.generated.WALProtos.WALKey&nbsp;walKey,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.612">readFieldsFromPb</a>(org.apache.hadoop.hbase.protobuf.generated.WALProtos.WALKey&nbsp;walKey,
                     <a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.ByteStringUncompressor.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALCellCodec.ByteStringUncompressor</a>&nbsp;uncompressor)
                       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>


[16/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html
index d266952..fbdde18 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html
@@ -7,36 +7,36 @@
 <body>
 <div class="sourceContainer">
 <pre><span class="sourceLineNo">001</span>/*<a name="line.1"></a>
-<span class="sourceLineNo">002</span> *<a name="line.2"></a>
-<span class="sourceLineNo">003</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.3"></a>
-<span class="sourceLineNo">004</span> * or more contributor license agreements.  See the NOTICE file<a name="line.4"></a>
-<span class="sourceLineNo">005</span> * distributed with this work for additional information<a name="line.5"></a>
-<span class="sourceLineNo">006</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.6"></a>
-<span class="sourceLineNo">007</span> * to you under the Apache License, Version 2.0 (the<a name="line.7"></a>
-<span class="sourceLineNo">008</span> * "License"); you may not use this file except in compliance<a name="line.8"></a>
-<span class="sourceLineNo">009</span> * with the License.  You may obtain a copy of the License at<a name="line.9"></a>
-<span class="sourceLineNo">010</span> *<a name="line.10"></a>
-<span class="sourceLineNo">011</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.11"></a>
-<span class="sourceLineNo">012</span> *<a name="line.12"></a>
-<span class="sourceLineNo">013</span> * Unless required by applicable law or agreed to in writing, software<a name="line.13"></a>
-<span class="sourceLineNo">014</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.14"></a>
-<span class="sourceLineNo">015</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.15"></a>
-<span class="sourceLineNo">016</span> * See the License for the specific language governing permissions and<a name="line.16"></a>
-<span class="sourceLineNo">017</span> * limitations under the License.<a name="line.17"></a>
-<span class="sourceLineNo">018</span> */<a name="line.18"></a>
-<span class="sourceLineNo">019</span>package org.apache.hadoop.hbase.regionserver;<a name="line.19"></a>
-<span class="sourceLineNo">020</span><a name="line.20"></a>
-<span class="sourceLineNo">021</span>import java.io.EOFException;<a name="line.21"></a>
-<span class="sourceLineNo">022</span>import java.io.FileNotFoundException;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.io.IOException;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.io.InterruptedIOException;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.lang.reflect.Constructor;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.text.ParseException;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import java.util.AbstractList;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import java.util.ArrayList;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import java.util.Arrays;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import java.util.Collection;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import java.util.Collections;<a name="line.31"></a>
+<span class="sourceLineNo">002</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.2"></a>
+<span class="sourceLineNo">003</span> * or more contributor license agreements.  See the NOTICE file<a name="line.3"></a>
+<span class="sourceLineNo">004</span> * distributed with this work for additional information<a name="line.4"></a>
+<span class="sourceLineNo">005</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.5"></a>
+<span class="sourceLineNo">006</span> * to you under the Apache License, Version 2.0 (the<a name="line.6"></a>
+<span class="sourceLineNo">007</span> * "License"); you may not use this file except in compliance<a name="line.7"></a>
+<span class="sourceLineNo">008</span> * with the License.  You may obtain a copy of the License at<a name="line.8"></a>
+<span class="sourceLineNo">009</span> *<a name="line.9"></a>
+<span class="sourceLineNo">010</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.10"></a>
+<span class="sourceLineNo">011</span> *<a name="line.11"></a>
+<span class="sourceLineNo">012</span> * Unless required by applicable law or agreed to in writing, software<a name="line.12"></a>
+<span class="sourceLineNo">013</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.13"></a>
+<span class="sourceLineNo">014</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.14"></a>
+<span class="sourceLineNo">015</span> * See the License for the specific language governing permissions and<a name="line.15"></a>
+<span class="sourceLineNo">016</span> * limitations under the License.<a name="line.16"></a>
+<span class="sourceLineNo">017</span> */<a name="line.17"></a>
+<span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.regionserver;<a name="line.18"></a>
+<span class="sourceLineNo">019</span><a name="line.19"></a>
+<span class="sourceLineNo">020</span>import java.io.EOFException;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import java.io.FileNotFoundException;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import java.io.IOException;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import java.io.InterruptedIOException;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.lang.reflect.Constructor;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.text.ParseException;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.util.AbstractList;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.util.ArrayList;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import java.util.Arrays;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import java.util.Collection;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import java.util.Collections;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import java.util.Comparator;<a name="line.31"></a>
 <span class="sourceLineNo">032</span>import java.util.HashMap;<a name="line.32"></a>
 <span class="sourceLineNo">033</span>import java.util.HashSet;<a name="line.33"></a>
 <span class="sourceLineNo">034</span>import java.util.Iterator;<a name="line.34"></a>
@@ -49,35 +49,35 @@
 <span class="sourceLineNo">041</span>import java.util.RandomAccess;<a name="line.41"></a>
 <span class="sourceLineNo">042</span>import java.util.Set;<a name="line.42"></a>
 <span class="sourceLineNo">043</span>import java.util.TreeMap;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import java.util.concurrent.Callable;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import java.util.concurrent.CompletionService;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import java.util.concurrent.ConcurrentMap;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import java.util.concurrent.ConcurrentSkipListMap;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import java.util.concurrent.ExecutionException;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import java.util.concurrent.ExecutorCompletionService;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import java.util.concurrent.ExecutorService;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import java.util.concurrent.Executors;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import java.util.concurrent.Future;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import java.util.concurrent.FutureTask;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import java.util.concurrent.ThreadFactory;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import java.util.concurrent.ThreadPoolExecutor;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import java.util.concurrent.TimeUnit;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import java.util.concurrent.TimeoutException;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import java.util.concurrent.atomic.AtomicBoolean;<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.atomic.AtomicLong;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import java.util.concurrent.locks.Lock;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import java.util.concurrent.locks.ReadWriteLock;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import java.util.concurrent.locks.ReentrantReadWriteLock;<a name="line.64"></a>
-<span class="sourceLineNo">065</span><a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.commons.logging.Log;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.commons.logging.LogFactory;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.conf.Configuration;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.fs.FileStatus;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.fs.FileSystem;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.fs.Path;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.ArrayBackedTag;<a name="line.72"></a>
+<span class="sourceLineNo">044</span>import java.util.UUID;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import java.util.concurrent.Callable;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import java.util.concurrent.CompletionService;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import java.util.concurrent.ConcurrentMap;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import java.util.concurrent.ConcurrentSkipListMap;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import java.util.concurrent.ExecutionException;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import java.util.concurrent.ExecutorCompletionService;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import java.util.concurrent.ExecutorService;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import java.util.concurrent.Executors;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import java.util.concurrent.Future;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import java.util.concurrent.FutureTask;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import java.util.concurrent.ThreadFactory;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import java.util.concurrent.ThreadPoolExecutor;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import java.util.concurrent.TimeUnit;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import java.util.concurrent.TimeoutException;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import java.util.concurrent.atomic.AtomicBoolean;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import java.util.concurrent.locks.Lock;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import java.util.concurrent.locks.ReadWriteLock;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import java.util.concurrent.locks.ReentrantReadWriteLock;<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.fs.FileStatus;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.fs.FileSystem;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.fs.Path;<a name="line.72"></a>
 <span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.Cell;<a name="line.73"></a>
 <span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.CellComparator;<a name="line.74"></a>
 <span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.75"></a>
@@ -85,8169 +85,7763 @@
 <span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.CompoundConfiguration;<a name="line.77"></a>
 <span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.78"></a>
 <span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.DroppedSnapshotException;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.HBaseConfiguration;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.HConstants;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.HConstants.OperationStatusCode;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.HDFSBlocksDistribution;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.KeyValue;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.KeyValueUtil;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.RegionTooBusyException;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.ShareableMemory;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.TableName;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.Tag;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.TagRewriteCell;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.TagType;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.TagUtil;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.UnknownScannerException;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.backup.HFileArchiver;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.client.Append;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.client.Durability;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.client.Get;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.client.Increment;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.client.IsolationLevel;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.client.Put;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.client.Result;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.client.RowMutations;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.conf.ConfigurationManager;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.conf.PropagatingConfigurationObserver;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.coprocessor.RegionObserver;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.errorhandling.ForeignExceptionSnare;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.exceptions.FailedSanityCheckException;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.exceptions.RegionInRecoveryException;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.exceptions.UnknownProtocolException;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.filter.ByteArrayComparable;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.filter.FilterWrapper;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.filter.IncompatibleFilterException;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.io.HeapSize;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.io.TimeRange;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.io.hfile.BlockCache;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.io.hfile.CacheConfig;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.io.hfile.HFile;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.ipc.CallerDisconnectedException;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.ipc.RpcCallContext;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.mob.MobUtils;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.monitoring.MonitoredTask;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.protobuf.ResponseConverter;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceCall;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.RegionLoad;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.StoreSequenceId;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor.FlushAction;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor.StoreFlushDescriptor;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor.EventType;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.StoreDescriptor;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.NextState;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.regionserver.compactions.CompactionContext;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.regionserver.throttle.CompactionThroughputControllerFactory;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.regionserver.throttle.NoLimitThroughputController;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.regionserver.throttle.ThroughputController;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.regionserver.wal.HLogKey;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.regionserver.wal.ReplayHLogKey;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.regionserver.wal.WALUtil;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.security.User;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.snapshot.SnapshotDescriptionUtils;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.snapshot.SnapshotManifest;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.util.ByteStringer;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.util.CancelableProgressable;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.util.ClassSize;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.util.CompressionTest;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.util.Counter;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.util.EncryptionTest;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.util.FSTableDescriptors;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.util.HashedBytes;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.Threads;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.wal.WALFactory;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.wal.WALSplitter.MutationReplay;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.io.MultipleIOException;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.util.StringUtils;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.htrace.Trace;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>import org.apache.htrace.TraceScope;<a name="line.186"></a>
-<span class="sourceLineNo">187</span><a name="line.187"></a>
-<span class="sourceLineNo">188</span>import com.google.common.annotations.VisibleForTesting;<a name="line.188"></a>
-<span class="sourceLineNo">189</span>import com.google.common.base.Optional;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>import com.google.common.base.Preconditions;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>import com.google.common.collect.Lists;<a name="line.191"></a>
-<span class="sourceLineNo">192</span>import com.google.common.collect.Maps;<a name="line.192"></a>
-<span class="sourceLineNo">193</span>import com.google.common.io.Closeables;<a name="line.193"></a>
-<span class="sourceLineNo">194</span>import com.google.protobuf.ByteString;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>import com.google.protobuf.Descriptors;<a name="line.195"></a>
-<span class="sourceLineNo">196</span>import com.google.protobuf.Message;<a name="line.196"></a>
-<span class="sourceLineNo">197</span>import com.google.protobuf.RpcCallback;<a name="line.197"></a>
-<span class="sourceLineNo">198</span>import com.google.protobuf.RpcController;<a name="line.198"></a>
-<span class="sourceLineNo">199</span>import com.google.protobuf.Service;<a name="line.199"></a>
-<span class="sourceLineNo">200</span>import com.google.protobuf.TextFormat;<a name="line.200"></a>
-<span class="sourceLineNo">201</span><a name="line.201"></a>
-<span class="sourceLineNo">202</span>@InterfaceAudience.Private<a name="line.202"></a>
-<span class="sourceLineNo">203</span>public class HRegion implements HeapSize, PropagatingConfigurationObserver, Region {<a name="line.203"></a>
-<span class="sourceLineNo">204</span>  private static final Log LOG = LogFactory.getLog(HRegion.class);<a name="line.204"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.HConstants;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.HConstants.OperationStatusCode;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.HDFSBlocksDistribution;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.KeyValue;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.KeyValueUtil;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.RegionTooBusyException;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.ShareableMemory;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.TableName;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.Tag;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.TagRewriteCell;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.TagUtil;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.UnknownScannerException;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.backup.HFileArchiver;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.client.Append;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.client.Durability;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.client.Get;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.client.Increment;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.client.IsolationLevel;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.client.Put;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.client.Result;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.client.RowMutations;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.conf.ConfigurationManager;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.conf.PropagatingConfigurationObserver;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.coprocessor.RegionObserver.MutationType;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.errorhandling.ForeignExceptionSnare;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.exceptions.FailedSanityCheckException;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.exceptions.RegionInRecoveryException;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.exceptions.UnknownProtocolException;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.filter.ByteArrayComparable;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.filter.FilterWrapper;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.filter.IncompatibleFilterException;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.io.HeapSize;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.io.TimeRange;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.io.hfile.HFile;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.ipc.CallerDisconnectedException;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.ipc.RpcCallContext;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.mob.MobUtils;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.monitoring.MonitoredTask;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.protobuf.ResponseConverter;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceCall;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.RegionLoad;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.StoreSequenceId;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor.FlushAction;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor.StoreFlushDescriptor;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor.EventType;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.StoreDescriptor;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl.WriteEntry;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.NextState;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.regionserver.compactions.CompactionContext;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.regionserver.throttle.CompactionThroughputControllerFactory;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.regionserver.throttle.NoLimitThroughputController;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.regionserver.throttle.ThroughputController;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.regionserver.wal.HLogKey;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.regionserver.wal.ReplayHLogKey;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.regionserver.wal.WALUtil;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.security.User;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.snapshot.SnapshotDescriptionUtils;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.snapshot.SnapshotManifest;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.util.ByteStringer;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.util.CancelableProgressable;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.util.ClassSize;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.util.CompressionTest;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.util.Counter;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.util.EncryptionTest;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.util.HashedBytes;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.util.Threads;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.wal.WALFactory;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.wal.WALSplitter.MutationReplay;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>import org.apache.hadoop.io.MultipleIOException;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>import org.apache.hadoop.util.StringUtils;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>import org.apache.htrace.Trace;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.htrace.TraceScope;<a name="line.182"></a>
+<span class="sourceLineNo">183</span><a name="line.183"></a>
+<span class="sourceLineNo">184</span>import com.google.common.annotations.VisibleForTesting;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import com.google.common.base.Optional;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import com.google.common.base.Preconditions;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import com.google.common.collect.Lists;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>import com.google.common.collect.Maps;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>import com.google.common.io.Closeables;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>import com.google.protobuf.ByteString;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>import com.google.protobuf.Descriptors;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>import com.google.protobuf.Message;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>import com.google.protobuf.RpcCallback;<a name="line.193"></a>
+<span class="sourceLineNo">194</span>import com.google.protobuf.RpcController;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>import com.google.protobuf.Service;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>import com.google.protobuf.TextFormat;<a name="line.196"></a>
+<span class="sourceLineNo">197</span><a name="line.197"></a>
+<span class="sourceLineNo">198</span>@SuppressWarnings("deprecation")<a name="line.198"></a>
+<span class="sourceLineNo">199</span>@InterfaceAudience.Private<a name="line.199"></a>
+<span class="sourceLineNo">200</span>public class HRegion implements HeapSize, PropagatingConfigurationObserver, Region {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>  private static final Log LOG = LogFactory.getLog(HRegion.class);<a name="line.201"></a>
+<span class="sourceLineNo">202</span><a name="line.202"></a>
+<span class="sourceLineNo">203</span>  public static final String LOAD_CFS_ON_DEMAND_CONFIG_KEY =<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    "hbase.hregion.scan.loadColumnFamiliesOnDemand";<a name="line.204"></a>
 <span class="sourceLineNo">205</span><a name="line.205"></a>
-<span class="sourceLineNo">206</span>  public static final String LOAD_CFS_ON_DEMAND_CONFIG_KEY =<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    "hbase.hregion.scan.loadColumnFamiliesOnDemand";<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>   * Longest time we'll wait on a sequenceid.<a name="line.210"></a>
-<span class="sourceLineNo">211</span>   * Sequenceid comes up out of the WAL subsystem. WAL subsystem can go bad or a test might use<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   * it without cleaning up previous usage properly; generally, a WAL roll is needed. The timeout<a name="line.212"></a>
-<span class="sourceLineNo">213</span>   * is for a latch in WALKey. There is no global accounting of outstanding WALKeys; intentionally<a name="line.213"></a>
-<span class="sourceLineNo">214</span>   * to avoid contention, but it makes it so if an abort or problem, we could be stuck waiting<a name="line.214"></a>
-<span class="sourceLineNo">215</span>   * on the WALKey latch. Revisit.<a name="line.215"></a>
-<span class="sourceLineNo">216</span>   */<a name="line.216"></a>
-<span class="sourceLineNo">217</span>  private final int maxWaitForSeqId;<a name="line.217"></a>
-<span class="sourceLineNo">218</span>  private static final String MAX_WAIT_FOR_SEQ_ID_KEY = "hbase.hregion.max.wait.for.sequenceid.ms";<a name="line.218"></a>
-<span class="sourceLineNo">219</span>  private static final int DEFAULT_MAX_WAIT_FOR_SEQ_ID = 30000;<a name="line.219"></a>
+<span class="sourceLineNo">206</span>  /**<a name="line.206"></a>
+<span class="sourceLineNo">207</span>   * This is the global default value for durability. All tables/mutations not<a name="line.207"></a>
+<span class="sourceLineNo">208</span>   * defining a durability or using USE_DEFAULT will default to this value.<a name="line.208"></a>
+<span class="sourceLineNo">209</span>   */<a name="line.209"></a>
+<span class="sourceLineNo">210</span>  private static final Durability DEFAULT_DURABILITY = Durability.SYNC_WAL;<a name="line.210"></a>
+<span class="sourceLineNo">211</span><a name="line.211"></a>
+<span class="sourceLineNo">212</span>  final AtomicBoolean closed = new AtomicBoolean(false);<a name="line.212"></a>
+<span class="sourceLineNo">213</span><a name="line.213"></a>
+<span class="sourceLineNo">214</span>  /* Closing can take some time; use the closing flag if there is stuff we don't<a name="line.214"></a>
+<span class="sourceLineNo">215</span>   * want to do while in closing state; e.g. like offer this region up to the<a name="line.215"></a>
+<span class="sourceLineNo">216</span>   * master as a region to close if the carrying regionserver is overloaded.<a name="line.216"></a>
+<span class="sourceLineNo">217</span>   * Once set, it is never cleared.<a name="line.217"></a>
+<span class="sourceLineNo">218</span>   */<a name="line.218"></a>
+<span class="sourceLineNo">219</span>  final AtomicBoolean closing = new AtomicBoolean(false);<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>   * This is the global default value for durability. All tables/mutations not<a name="line.222"></a>
-<span class="sourceLineNo">223</span>   * defining a durability or using USE_DEFAULT will default to this value.<a name="line.223"></a>
+<span class="sourceLineNo">222</span>   * The max sequence id of flushed data on this region. There is no edit in memory that is<a name="line.222"></a>
+<span class="sourceLineNo">223</span>   * less that this sequence id.<a name="line.223"></a>
 <span class="sourceLineNo">224</span>   */<a name="line.224"></a>
-<span class="sourceLineNo">225</span>  private static final Durability DEFAULT_DURABILITY = Durability.SYNC_WAL;<a name="line.225"></a>
+<span class="sourceLineNo">225</span>  private volatile long maxFlushedSeqId = HConstants.NO_SEQNUM;<a name="line.225"></a>
 <span class="sourceLineNo">226</span><a name="line.226"></a>
-<span class="sourceLineNo">227</span>  final AtomicBoolean closed = new AtomicBoolean(false);<a name="line.227"></a>
-<span class="sourceLineNo">228</span><a name="line.228"></a>
-<span class="sourceLineNo">229</span>  /* Closing can take some time; use the closing flag if there is stuff we don't<a name="line.229"></a>
-<span class="sourceLineNo">230</span>   * want to do while in closing state; e.g. like offer this region up to the<a name="line.230"></a>
-<span class="sourceLineNo">231</span>   * master as a region to close if the carrying regionserver is overloaded.<a name="line.231"></a>
-<span class="sourceLineNo">232</span>   * Once set, it is never cleared.<a name="line.232"></a>
-<span class="sourceLineNo">233</span>   */<a name="line.233"></a>
-<span class="sourceLineNo">234</span>  final AtomicBoolean closing = new AtomicBoolean(false);<a name="line.234"></a>
-<span class="sourceLineNo">235</span><a name="line.235"></a>
-<span class="sourceLineNo">236</span>  /**<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   * The max sequence id of flushed data on this region. There is no edit in memory that is<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   * less that this sequence id.<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   */<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  private volatile long maxFlushedSeqId = HConstants.NO_SEQNUM;<a name="line.240"></a>
+<span class="sourceLineNo">227</span>  /**<a name="line.227"></a>
+<span class="sourceLineNo">228</span>   * Record the sequence id of last flush operation. Can be in advance of<a name="line.228"></a>
+<span class="sourceLineNo">229</span>   * {@link #maxFlushedSeqId} when flushing a single column family. In this case,<a name="line.229"></a>
+<span class="sourceLineNo">230</span>   * {@link #maxFlushedSeqId} will be older than the oldest edit in memory.<a name="line.230"></a>
+<span class="sourceLineNo">231</span>   */<a name="line.231"></a>
+<span class="sourceLineNo">232</span>  private volatile long lastFlushOpSeqId = HConstants.NO_SEQNUM;<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>   * The sequence id of the last replayed open region event from the primary region. This is used<a name="line.235"></a>
+<span class="sourceLineNo">236</span>   * to skip entries before this due to the possibility of replay edits coming out of order from<a name="line.236"></a>
+<span class="sourceLineNo">237</span>   * replication.<a name="line.237"></a>
+<span class="sourceLineNo">238</span>   */<a name="line.238"></a>
+<span class="sourceLineNo">239</span>  protected volatile long lastReplayedOpenRegionSeqId = -1L;<a name="line.239"></a>
+<span class="sourceLineNo">240</span>  protected volatile long lastReplayedCompactionSeqId = -1L;<a name="line.240"></a>
 <span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>  /**<a name="line.242"></a>
-<span class="sourceLineNo">243</span>   * Record the sequence id of last flush operation. Can be in advance of<a name="line.243"></a>
-<span class="sourceLineNo">244</span>   * {@link #maxFlushedSeqId} when flushing a single column family. In this case,<a name="line.244"></a>
-<span class="sourceLineNo">245</span>   * {@link #maxFlushedSeqId} will be older than the oldest edit in memory.<a name="line.245"></a>
-<span class="sourceLineNo">246</span>   */<a name="line.246"></a>
-<span class="sourceLineNo">247</span>  private volatile long lastFlushOpSeqId = HConstants.NO_SEQNUM;<a name="line.247"></a>
-<span class="sourceLineNo">248</span><a name="line.248"></a>
-<span class="sourceLineNo">249</span>  /**<a name="line.249"></a>
-<span class="sourceLineNo">250</span>   * The sequence id of the last replayed open region event from the primary region. This is used<a name="line.250"></a>
-<span class="sourceLineNo">251</span>   * to skip entries before this due to the possibility of replay edits coming out of order from<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * replication.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  protected volatile long lastReplayedOpenRegionSeqId = -1L;<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  protected volatile long lastReplayedCompactionSeqId = -1L;<a name="line.255"></a>
+<span class="sourceLineNo">242</span>  //////////////////////////////////////////////////////////////////////////////<a name="line.242"></a>
+<span class="sourceLineNo">243</span>  // Members<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>  // map from a locked row to the context for that lock including:<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  // - CountDownLatch for threads waiting on that row<a name="line.247"></a>
+<span class="sourceLineNo">248</span>  // - the thread that owns the lock (allow reentrancy)<a name="line.248"></a>
+<span class="sourceLineNo">249</span>  // - reference count of (reentrant) locks held by the thread<a name="line.249"></a>
+<span class="sourceLineNo">250</span>  // - the row itself<a name="line.250"></a>
+<span class="sourceLineNo">251</span>  private final ConcurrentHashMap&lt;HashedBytes, RowLockContext&gt; lockedRows =<a name="line.251"></a>
+<span class="sourceLineNo">252</span>      new ConcurrentHashMap&lt;HashedBytes, RowLockContext&gt;();<a name="line.252"></a>
+<span class="sourceLineNo">253</span><a name="line.253"></a>
+<span class="sourceLineNo">254</span>  protected final Map&lt;byte[], Store&gt; stores = new ConcurrentSkipListMap&lt;byte[], Store&gt;(<a name="line.254"></a>
+<span class="sourceLineNo">255</span>      Bytes.BYTES_RAWCOMPARATOR);<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>  // Members<a name="line.258"></a>
-<span class="sourceLineNo">259</span>  //////////////////////////////////////////////////////////////////////////////<a name="line.259"></a>
-<span class="sourceLineNo">260</span><a name="line.260"></a>
-<span class="sourceLineNo">261</span>  // map from a locked row to the context for that lock including:<a name="line.261"></a>
-<span class="sourceLineNo">262</span>  // - CountDownLatch for threads waiting on that row<a name="line.262"></a>
-<span class="sourceLineNo">263</span>  // - the thread that owns the lock (allow reentrancy)<a name="line.263"></a>
-<span class="sourceLineNo">264</span>  // - reference count of (reentrant) locks held by the thread<a name="line.264"></a>
-<span class="sourceLineNo">265</span>  // - the row itself<a name="line.265"></a>
-<span class="sourceLineNo">266</span>  private final ConcurrentHashMap&lt;HashedBytes, RowLockContext&gt; lockedRows =<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      new ConcurrentHashMap&lt;HashedBytes, RowLockContext&gt;();<a name="line.267"></a>
-<span class="sourceLineNo">268</span><a name="line.268"></a>
-<span class="sourceLineNo">269</span>  protected final Map&lt;byte[], Store&gt; stores = new ConcurrentSkipListMap&lt;byte[], Store&gt;(<a name="line.269"></a>
-<span class="sourceLineNo">270</span>      Bytes.BYTES_RAWCOMPARATOR);<a name="line.270"></a>
-<span class="sourceLineNo">271</span><a name="line.271"></a>
-<span class="sourceLineNo">272</span>  // TODO: account for each registered handler in HeapSize computation<a name="line.272"></a>
-<span class="sourceLineNo">273</span>  private Map&lt;String, Service&gt; coprocessorServiceHandlers = Maps.newHashMap();<a name="line.273"></a>
+<span class="sourceLineNo">257</span>  // TODO: account for each registered handler in HeapSize computation<a name="line.257"></a>
+<span class="sourceLineNo">258</span>  private Map&lt;String, Service&gt; coprocessorServiceHandlers = Maps.newHashMap();<a name="line.258"></a>
+<span class="sourceLineNo">259</span><a name="line.259"></a>
+<span class="sourceLineNo">260</span>  private final AtomicLong memstoreSize = new AtomicLong(0);<a name="line.260"></a>
+<span class="sourceLineNo">261</span><a name="line.261"></a>
+<span class="sourceLineNo">262</span>  // Debug possible data loss due to WAL off<a name="line.262"></a>
+<span class="sourceLineNo">263</span>  final Counter numMutationsWithoutWAL = new Counter();<a name="line.263"></a>
+<span class="sourceLineNo">264</span>  final Counter dataInMemoryWithoutWAL = new Counter();<a name="line.264"></a>
+<span class="sourceLineNo">265</span><a name="line.265"></a>
+<span class="sourceLineNo">266</span>  // Debug why CAS operations are taking a while.<a name="line.266"></a>
+<span class="sourceLineNo">267</span>  final Counter checkAndMutateChecksPassed = new Counter();<a name="line.267"></a>
+<span class="sourceLineNo">268</span>  final Counter checkAndMutateChecksFailed = new Counter();<a name="line.268"></a>
+<span class="sourceLineNo">269</span><a name="line.269"></a>
+<span class="sourceLineNo">270</span>  // Number of requests<a name="line.270"></a>
+<span class="sourceLineNo">271</span>  final Counter readRequestsCount = new Counter();<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  final Counter filteredReadRequestsCount = new Counter();<a name="line.272"></a>
+<span class="sourceLineNo">273</span>  final Counter writeRequestsCount = new Counter();<a name="line.273"></a>
 <span class="sourceLineNo">274</span><a name="line.274"></a>
-<span class="sourceLineNo">275</span>  private final AtomicLong memstoreSize = new AtomicLong(0);<a name="line.275"></a>
-<span class="sourceLineNo">276</span><a name="line.276"></a>
-<span class="sourceLineNo">277</span>  // Debug possible data loss due to WAL off<a name="line.277"></a>
-<span class="sourceLineNo">278</span>  final Counter numMutationsWithoutWAL = new Counter();<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  final Counter dataInMemoryWithoutWAL = new Counter();<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  // Debug why CAS operations are taking a while.<a name="line.281"></a>
-<span class="sourceLineNo">282</span>  final Counter checkAndMutateChecksPassed = new Counter();<a name="line.282"></a>
-<span class="sourceLineNo">283</span>  final Counter checkAndMutateChecksFailed = new Counter();<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>  //Number of requests<a name="line.285"></a>
-<span class="sourceLineNo">286</span>  final Counter readRequestsCount = new Counter();<a name="line.286"></a>
-<span class="sourceLineNo">287</span>  final Counter filteredReadRequestsCount = new Counter();<a name="line.287"></a>
-<span class="sourceLineNo">288</span>  final Counter writeRequestsCount = new Counter();<a name="line.288"></a>
-<span class="sourceLineNo">289</span><a name="line.289"></a>
-<span class="sourceLineNo">290</span>  // Number of requests blocked by memstore size.<a name="line.290"></a>
-<span class="sourceLineNo">291</span>  private final Counter blockedRequestsCount = new Counter();<a name="line.291"></a>
-<span class="sourceLineNo">292</span><a name="line.292"></a>
-<span class="sourceLineNo">293</span>  // Compaction counters<a name="line.293"></a>
-<span class="sourceLineNo">294</span>  final AtomicLong compactionsFinished = new AtomicLong(0L);<a name="line.294"></a>
-<span class="sourceLineNo">295</span>  final AtomicLong compactionNumFilesCompacted = new AtomicLong(0L);<a name="line.295"></a>
-<span class="sourceLineNo">296</span>  final AtomicLong compactionNumBytesCompacted = new AtomicLong(0L);<a name="line.296"></a>
-<span class="sourceLineNo">297</span><a name="line.297"></a>
-<span class="sourceLineNo">298</span>  private final WAL wal;<a name="line.298"></a>
-<span class="sourceLineNo">299</span>  private final HRegionFileSystem fs;<a name="line.299"></a>
-<span class="sourceLineNo">300</span>  protected final Configuration conf;<a name="line.300"></a>
-<span class="sourceLineNo">301</span>  private final Configuration baseConf;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  private final int rowLockWaitDuration;<a name="line.302"></a>
-<span class="sourceLineNo">303</span>  private CompactedHFilesDischarger compactedFileDischarger;<a name="line.303"></a>
-<span class="sourceLineNo">304</span>  static final int DEFAULT_ROWLOCK_WAIT_DURATION = 30000;<a name="line.304"></a>
-<span class="sourceLineNo">305</span><a name="line.305"></a>
-<span class="sourceLineNo">306</span>  // The internal wait duration to acquire a lock before read/update<a name="line.306"></a>
-<span class="sourceLineNo">307</span>  // from the region. It is not per row. The purpose of this wait time<a name="line.307"></a>
-<span class="sourceLineNo">308</span>  // is to avoid waiting a long time while the region is busy, so that<a name="line.308"></a>
-<span class="sourceLineNo">309</span>  // we can release the IPC handler soon enough to improve the<a name="line.309"></a>
-<span class="sourceLineNo">310</span>  // availability of the region server. It can be adjusted by<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  // tuning configuration "hbase.busy.wait.duration".<a name="line.311"></a>
-<span class="sourceLineNo">312</span>  final long busyWaitDuration;<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  static final long DEFAULT_BUSY_WAIT_DURATION = HConstants.DEFAULT_HBASE_RPC_TIMEOUT;<a name="line.313"></a>
+<span class="sourceLineNo">275</span>  // Number of requests blocked by memstore size.<a name="line.275"></a>
+<span class="sourceLineNo">276</span>  private final Counter blockedRequestsCount = new Counter();<a name="line.276"></a>
+<span class="sourceLineNo">277</span><a name="line.277"></a>
+<span class="sourceLineNo">278</span>  // Compaction counters<a name="line.278"></a>
+<span class="sourceLineNo">279</span>  final AtomicLong compactionsFinished = new AtomicLong(0L);<a name="line.279"></a>
+<span class="sourceLineNo">280</span>  final AtomicLong compactionNumFilesCompacted = new AtomicLong(0L);<a name="line.280"></a>
+<span class="sourceLineNo">281</span>  final AtomicLong compactionNumBytesCompacted = new AtomicLong(0L);<a name="line.281"></a>
+<span class="sourceLineNo">282</span><a name="line.282"></a>
+<span class="sourceLineNo">283</span>  private final WAL wal;<a name="line.283"></a>
+<span class="sourceLineNo">284</span>  private final HRegionFileSystem fs;<a name="line.284"></a>
+<span class="sourceLineNo">285</span>  protected final Configuration conf;<a name="line.285"></a>
+<span class="sourceLineNo">286</span>  private final Configuration baseConf;<a name="line.286"></a>
+<span class="sourceLineNo">287</span>  private final int rowLockWaitDuration;<a name="line.287"></a>
+<span class="sourceLineNo">288</span>  private CompactedHFilesDischarger compactedFileDischarger;<a name="line.288"></a>
+<span class="sourceLineNo">289</span>  static final int DEFAULT_ROWLOCK_WAIT_DURATION = 30000;<a name="line.289"></a>
+<span class="sourceLineNo">290</span><a name="line.290"></a>
+<span class="sourceLineNo">291</span>  // The internal wait duration to acquire a lock before read/update<a name="line.291"></a>
+<span class="sourceLineNo">292</span>  // from the region. It is not per row. The purpose of this wait time<a name="line.292"></a>
+<span class="sourceLineNo">293</span>  // is to avoid waiting a long time while the region is busy, so that<a name="line.293"></a>
+<span class="sourceLineNo">294</span>  // we can release the IPC handler soon enough to improve the<a name="line.294"></a>
+<span class="sourceLineNo">295</span>  // availability of the region server. It can be adjusted by<a name="line.295"></a>
+<span class="sourceLineNo">296</span>  // tuning configuration "hbase.busy.wait.duration".<a name="line.296"></a>
+<span class="sourceLineNo">297</span>  final long busyWaitDuration;<a name="line.297"></a>
+<span class="sourceLineNo">298</span>  static final long DEFAULT_BUSY_WAIT_DURATION = HConstants.DEFAULT_HBASE_RPC_TIMEOUT;<a name="line.298"></a>
+<span class="sourceLineNo">299</span><a name="line.299"></a>
+<span class="sourceLineNo">300</span>  // If updating multiple rows in one call, wait longer,<a name="line.300"></a>
+<span class="sourceLineNo">301</span>  // i.e. waiting for busyWaitDuration * # of rows. However,<a name="line.301"></a>
+<span class="sourceLineNo">302</span>  // we can limit the max multiplier.<a name="line.302"></a>
+<span class="sourceLineNo">303</span>  final int maxBusyWaitMultiplier;<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span>  // Max busy wait duration. There is no point to wait longer than the RPC<a name="line.305"></a>
+<span class="sourceLineNo">306</span>  // purge timeout, when a RPC call will be terminated by the RPC engine.<a name="line.306"></a>
+<span class="sourceLineNo">307</span>  final long maxBusyWaitDuration;<a name="line.307"></a>
+<span class="sourceLineNo">308</span><a name="line.308"></a>
+<span class="sourceLineNo">309</span>  // negative number indicates infinite timeout<a name="line.309"></a>
+<span class="sourceLineNo">310</span>  static final long DEFAULT_ROW_PROCESSOR_TIMEOUT = 60 * 1000L;<a name="line.310"></a>
+<span class="sourceLineNo">311</span>  final ExecutorService rowProcessorExecutor = Executors.newCachedThreadPool();<a name="line.311"></a>
+<span class="sourceLineNo">312</span><a name="line.312"></a>
+<span class="sourceLineNo">313</span>  private final ConcurrentHashMap&lt;RegionScanner, Long&gt; scannerReadPoints;<a name="line.313"></a>
 <span class="sourceLineNo">314</span><a name="line.314"></a>
-<span class="sourceLineNo">315</span>  // If updating multiple rows in one call, wait longer,<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  // i.e. waiting for busyWaitDuration * # of rows. However,<a name="line.316"></a>
-<span class="sourceLineNo">317</span>  // we can limit the max multiplier.<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  final int maxBusyWaitMultiplier;<a name="line.318"></a>
+<span class="sourceLineNo">315</span>  /**<a name="line.315"></a>
+<span class="sourceLineNo">316</span>   * The sequence ID that was encountered when this region was opened.<a name="line.316"></a>
+<span class="sourceLineNo">317</span>   */<a name="line.317"></a>
+<span class="sourceLineNo">318</span>  private long openSeqNum = HConstants.NO_SEQNUM;<a name="line.318"></a>
 <span class="sourceLineNo">319</span><a name="line.319"></a>
-<span class="sourceLineNo">320</span>  // Max busy wait duration. There is no point to wait longer than the RPC<a name="line.320"></a>
-<span class="sourceLineNo">321</span>  // purge timeout, when a RPC call will be terminated by the RPC engine.<a name="line.321"></a>
-<span class="sourceLineNo">322</span>  final long maxBusyWaitDuration;<a name="line.322"></a>
-<span class="sourceLineNo">323</span><a name="line.323"></a>
-<span class="sourceLineNo">324</span>  // negative number indicates infinite timeout<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  static final long DEFAULT_ROW_PROCESSOR_TIMEOUT = 60 * 1000L;<a name="line.325"></a>
-<span class="sourceLineNo">326</span>  final ExecutorService rowProcessorExecutor = Executors.newCachedThreadPool();<a name="line.326"></a>
-<span class="sourceLineNo">327</span><a name="line.327"></a>
-<span class="sourceLineNo">328</span>  private final ConcurrentHashMap&lt;RegionScanner, Long&gt; scannerReadPoints;<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>   * The sequence ID that was encountered when this region was opened.<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   */<a name="line.332"></a>
-<span class="sourceLineNo">333</span>  private long openSeqNum = HConstants.NO_SEQNUM;<a name="line.333"></a>
-<span class="sourceLineNo">334</span><a name="line.334"></a>
-<span class="sourceLineNo">335</span>  /**<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   * The default setting for whether to enable on-demand CF loading for<a name="line.336"></a>
-<span class="sourceLineNo">337</span>   * scan requests to this region. Requests can override it.<a name="line.337"></a>
-<span class="sourceLineNo">338</span>   */<a name="line.338"></a>
-<span class="sourceLineNo">339</span>  private boolean isLoadingCfsOnDemandDefault = false;<a name="line.339"></a>
-<span class="sourceLineNo">340</span><a name="line.340"></a>
-<span class="sourceLineNo">341</span>  private final AtomicInteger majorInProgress = new AtomicInteger(0);<a name="line.341"></a>
-<span class="sourceLineNo">342</span>  private final AtomicInteger minorInProgress = new AtomicInteger(0);<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>  // Context: During replay we want to ensure that we do not lose any data. So, we<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  // have to be conservative in how we replay wals. For each store, we calculate<a name="line.346"></a>
-<span class="sourceLineNo">347</span>  // the maxSeqId up to which the store was flushed. And, skip the edits which<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  // are equal to or lower than maxSeqId for each store.<a name="line.348"></a>
-<span class="sourceLineNo">349</span>  // The following map is populated when opening the region<a name="line.349"></a>
-<span class="sourceLineNo">350</span>  Map&lt;byte[], Long&gt; maxSeqIdInStores = new TreeMap&lt;byte[], Long&gt;(Bytes.BYTES_COMPARATOR);<a name="line.350"></a>
-<span class="sourceLineNo">351</span><a name="line.351"></a>
-<span class="sourceLineNo">352</span>  /** Saved state from replaying prepare flush cache */<a name="line.352"></a>
-<span class="sourceLineNo">353</span>  private PrepareFlushResult prepareFlushResult = null;<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>   * Config setting for whether to allow writes when a region is in recovering or not.<a name="line.356"></a>
-<span class="sourceLineNo">357</span>   */<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  private boolean disallowWritesInRecovering = false;<a name="line.358"></a>
-<span class="sourceLineNo">359</span><a name="line.359"></a>
-<span class="sourceLineNo">360</span>  // when a region is in recovering state, it can only accept writes not reads<a name="line.360"></a>
-<span class="sourceLineNo">361</span>  private volatile boolean recovering = false;<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>  private volatile Optional&lt;ConfigurationManager&gt; configurationManager;<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>   * @return The smallest mvcc readPoint across all the scanners in this<a name="line.366"></a>
-<span class="sourceLineNo">367</span>   * region. Writes older than this readPoint, are included in every<a name="line.367"></a>
-<span class="sourceLineNo">368</span>   * read operation.<a name="line.368"></a>
-<span class="sourceLineNo">369</span>   */<a name="line.369"></a>
-<span class="sourceLineNo">370</span>  public long getSmallestReadPoint() {<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    long minimumReadPoint;<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    // We need to ensure that while we are calculating the smallestReadPoint<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    // no new RegionScanners can grab a readPoint that we are unaware of.<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    // We achieve this by synchronizing on the scannerReadPoints object.<a name="line.374"></a>
-<span class="sourceLineNo">375</span>    synchronized(scannerReadPoints) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>      minimumReadPoint = mvcc.getReadPoint();<a name="line.376"></a>
-<span class="sourceLineNo">377</span><a name="line.377"></a>
-<span class="sourceLineNo">378</span>      for (Long readPoint: this.scannerReadPoints.values()) {<a name="line.378"></a>
-<span class="sourceLineNo">379</span>        if (readPoint &lt; minimumReadPoint) {<a name="line.379"></a>
-<span class="sourceLineNo">380</span>          minimumReadPoint = readPoint;<a name="line.380"></a>
-<span class="sourceLineNo">381</span>        }<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      }<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    }<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    return minimumReadPoint;<a name="line.384"></a>
-<span class="sourceLineNo">385</span>  }<a name="line.385"></a>
-<span class="sourceLineNo">386</span><a name="line.386"></a>
-<span class="sourceLineNo">387</span>  /*<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * Data structure of write state flags used coordinating flushes,<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   * compactions and closes.<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   */<a name="line.390"></a>
-<span class="sourceLineNo">391</span>  static class WriteState {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    // Set while a memstore flush is happening.<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    volatile boolean flushing = false;<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    // Set when a flush has been requested.<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    volatile boolean flushRequested = false;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    // Number of compactions running.<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    AtomicInteger compacting = new AtomicInteger(0);<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    // Gets set in close. If set, cannot compact or flush again.<a name="line.398"></a>
-<span class="sourceLineNo">399</span>    volatile boolean writesEnabled = true;<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    // Set if region is read-only<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    volatile boolean readOnly = false;<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    // whether the reads are enabled. This is different than readOnly, because readOnly is<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    // static in the lifetime of the region, while readsEnabled is dynamic<a name="line.403"></a>
-<span class="sourceLineNo">404</span>    volatile boolean readsEnabled = true;<a name="line.404"></a>
-<span class="sourceLineNo">405</span><a name="line.405"></a>
-<span class="sourceLineNo">406</span>    /**<a name="line.406"></a>
-<span class="sourceLineNo">407</span>     * Set flags that make this region read-only.<a name="line.407"></a>
-<span class="sourceLineNo">408</span>     *<a name="line.408"></a>
-<span class="sourceLineNo">409</span>     * @param onOff flip value for region r/o setting<a name="line.409"></a>
-<span class="sourceLineNo">410</span>     */<a name="line.410"></a>
-<span class="sourceLineNo">411</span>    synchronized void setReadOnly(final boolean onOff) {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      this.writesEnabled = !onOff;<a name="line.412"></a>
-<span class="sourceLineNo">413</span>      this.readOnly = onOff;<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    }<a name="line.414"></a>
+<span class="sourceLineNo">320</span>  /**<a name="line.320"></a>
+<span class="sourceLineNo">321</span>   * The default setting for whether to enable on-demand CF loading for<a name="line.321"></a>
+<span class="sourceLineNo">322</span>   * scan requests to this region. Requests can override it.<a name="line.322"></a>
+<span class="sourceLineNo">323</span>   */<a name="line.323"></a>
+<span class="sourceLineNo">324</span>  private boolean isLoadingCfsOnDemandDefault = false;<a name="line.324"></a>
+<span class="sourceLineNo">325</span><a name="line.325"></a>
+<span class="sourceLineNo">326</span>  private final AtomicInteger majorInProgress = new AtomicInteger(0);<a name="line.326"></a>
+<span class="sourceLineNo">327</span>  private final AtomicInteger minorInProgress = new AtomicInteger(0);<a name="line.327"></a>
+<span class="sourceLineNo">328</span><a name="line.328"></a>
+<span class="sourceLineNo">329</span>  //<a name="line.329"></a>
+<span class="sourceLineNo">330</span>  // Context: During replay we want to ensure that we do not lose any data. So, we<a name="line.330"></a>
+<span class="sourceLineNo">331</span>  // have to be conservative in how we replay wals. For each store, we calculate<a name="line.331"></a>
+<span class="sourceLineNo">332</span>  // the maxSeqId up to which the store was flushed. And, skip the edits which<a name="line.332"></a>
+<span class="sourceLineNo">333</span>  // are equal to or lower than maxSeqId for each store.<a name="line.333"></a>
+<span class="sourceLineNo">334</span>  // The following map is populated when opening the region<a name="line.334"></a>
+<span class="sourceLineNo">335</span>  Map&lt;byte[], Long&gt; maxSeqIdInStores = new TreeMap&lt;byte[], Long&gt;(Bytes.BYTES_COMPARATOR);<a name="line.335"></a>
+<span class="sourceLineNo">336</span><a name="line.336"></a>
+<span class="sourceLineNo">337</span>  /** Saved state from replaying prepare flush cache */<a name="line.337"></a>
+<span class="sourceLineNo">338</span>  private PrepareFlushResult prepareFlushResult = null;<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>   * Config setting for whether to allow writes when a region is in recovering or not.<a name="line.341"></a>
+<span class="sourceLineNo">342</span>   */<a name="line.342"></a>
+<span class="sourceLineNo">343</span>  private boolean disallowWritesInRecovering = false;<a name="line.343"></a>
+<span class="sourceLineNo">344</span><a name="line.344"></a>
+<span class="sourceLineNo">345</span>  // When a region is in recovering state, it can only accept writes not reads<a name="line.345"></a>
+<span class="sourceLineNo">346</span>  private volatile boolean recovering = false;<a name="line.346"></a>
+<span class="sourceLineNo">347</span><a name="line.347"></a>
+<span class="sourceLineNo">348</span>  private volatile Optional&lt;ConfigurationManager&gt; configurationManager;<a name="line.348"></a>
+<span class="sourceLineNo">349</span><a name="line.349"></a>
+<span class="sourceLineNo">350</span>  /**<a name="line.350"></a>
+<span class="sourceLineNo">351</span>   * @return The smallest mvcc readPoint across all the scanners in this<a name="line.351"></a>
+<span class="sourceLineNo">352</span>   * region. Writes older than this readPoint, are included in every<a name="line.352"></a>
+<span class="sourceLineNo">353</span>   * read operation.<a name="line.353"></a>
+<span class="sourceLineNo">354</span>   */<a name="line.354"></a>
+<span class="sourceLineNo">355</span>  public long getSmallestReadPoint() {<a name="line.355"></a>
+<span class="sourceLineNo">356</span>    long minimumReadPoint;<a name="line.356"></a>
+<span class="sourceLineNo">357</span>    // We need to ensure that while we are calculating the smallestReadPoint<a name="line.357"></a>
+<span class="sourceLineNo">358</span>    // no new RegionScanners can grab a readPoint that we are unaware of.<a name="line.358"></a>
+<span class="sourceLineNo">359</span>    // We achieve this by synchronizing on the scannerReadPoints object.<a name="line.359"></a>
+<span class="sourceLineNo">360</span>    synchronized(scannerReadPoints) {<a name="line.360"></a>
+<span class="sourceLineNo">361</span>      minimumReadPoint = mvcc.getReadPoint();<a name="line.361"></a>
+<span class="sourceLineNo">362</span>      for (Long readPoint: this.scannerReadPoints.values()) {<a name="line.362"></a>
+<span class="sourceLineNo">363</span>        if (readPoint &lt; minimumReadPoint) {<a name="line.363"></a>
+<span class="sourceLineNo">364</span>          minimumReadPoint = readPoint;<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>    return minimumReadPoint;<a name="line.368"></a>
+<span class="sourceLineNo">369</span>  }<a name="line.369"></a>
+<span class="sourceLineNo">370</span><a name="line.370"></a>
+<span class="sourceLineNo">371</span>  /*<a name="line.371"></a>
+<span class="sourceLineNo">372</span>   * Data structure of write state flags used coordinating flushes,<a name="line.372"></a>
+<span class="sourceLineNo">373</span>   * compactions and closes.<a name="line.373"></a>
+<span class="sourceLineNo">374</span>   */<a name="line.374"></a>
+<span class="sourceLineNo">375</span>  static class WriteState {<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    // Set while a memstore flush is happening.<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    volatile boolean flushing = false;<a name="line.377"></a>
+<span class="sourceLineNo">378</span>    // Set when a flush has been requested.<a name="line.378"></a>
+<span class="sourceLineNo">379</span>    volatile boolean flushRequested = false;<a name="line.379"></a>
+<span class="sourceLineNo">380</span>    // Number of compactions running.<a name="line.380"></a>
+<span class="sourceLineNo">381</span>    AtomicInteger compacting = new AtomicInteger(0);<a name="line.381"></a>
+<span class="sourceLineNo">382</span>    // Gets set in close. If set, cannot compact or flush again.<a name="line.382"></a>
+<span class="sourceLineNo">383</span>    volatile boolean writesEnabled = true;<a name="line.383"></a>
+<span class="sourceLineNo">384</span>    // Set if region is read-only<a name="line.384"></a>
+<span class="sourceLineNo">385</span>    volatile boolean readOnly = false;<a name="line.385"></a>
+<span class="sourceLineNo">386</span>    // whether the reads are enabled. This is different than readOnly, because readOnly is<a name="line.386"></a>
+<span class="sourceLineNo">387</span>    // static in the lifetime of the region, while readsEnabled is dynamic<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    volatile boolean readsEnabled = true;<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>     * Set flags that make this region read-only.<a name="line.391"></a>
+<span class="sourceLineNo">392</span>     *<a name="line.392"></a>
+<span class="sourceLineNo">393</span>     * @param onOff flip value for region r/o setting<a name="line.393"></a>
+<span class="sourceLineNo">394</span>     */<a name="line.394"></a>
+<span class="sourceLineNo">395</span>    synchronized void setReadOnly(final boolean onOff) {<a name="line.395"></a>
+<span class="sourceLineNo">396</span>      this.writesEnabled = !onOff;<a name="line.396"></a>
+<span class="sourceLineNo">397</span>      this.readOnly = onOff;<a name="line.397"></a>
+<span class="sourceLineNo">398</span>    }<a name="line.398"></a>
+<span class="sourceLineNo">399</span><a name="line.399"></a>
+<span class="sourceLineNo">400</span>    boolean isReadOnly() {<a name="line.400"></a>
+<span class="sourceLineNo">401</span>      return this.readOnly;<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>    boolean isFlushRequested() {<a name="line.404"></a>
+<span class="sourceLineNo">405</span>      return this.flushRequested;<a name="line.405"></a>
+<span class="sourceLineNo">406</span>    }<a name="line.406"></a>
+<span class="sourceLineNo">407</span><a name="line.407"></a>
+<span class="sourceLineNo">408</span>    void setReadsEnabled(boolean readsEnabled) {<a name="line.408"></a>
+<span class="sourceLineNo">409</span>      this.readsEnabled = readsEnabled;<a name="line.409"></a>
+<span class="sourceLineNo">410</span>    }<a name="line.410"></a>
+<span class="sourceLineNo">411</span><a name="line.411"></a>
+<span class="sourceLineNo">412</span>    static final long HEAP_SIZE = ClassSize.align(<a name="line.412"></a>
+<span class="sourceLineNo">413</span>        ClassSize.OBJECT + 5 * Bytes.SIZEOF_BOOLEAN);<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>    boolean isReadOnly() {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      return this.readOnly;<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>    boolean isFlushRequested() {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>      return this.flushRequested;<a name="line.421"></a>
-<span class="sourceLineNo">422</span>    }<a name="line.422"></a>
-<span class="sourceLineNo">423</span><a name="line.423"></a>
-<span class="sourceLineNo">424</span>    void setReadsEnabled(boolean readsEnabled) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span>      this.readsEnabled = readsEnabled;<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    }<a name="line.426"></a>
+<span class="sourceLineNo">416</span>  /**<a name="line.416"></a>
+<span class="sourceLineNo">417</span>   * Objects from this class are created when flushing to describe all the different states that<a name="line.417"></a>
+<span class="sourceLineNo">418</span>   * that method ends up in. The Result enum describes those states. The sequence id should only<a name="line.418"></a>
+<span class="sourceLineNo">419</span>   * be specified if the flush was successful, and the failure message should only be specified<a name="line.419"></a>
+<span class="sourceLineNo">420</span>   * if it didn't flush.<a name="line.420"></a>
+<span class="sourceLineNo">421</span>   */<a name="line.421"></a>
+<span class="sourceLineNo">422</span>  public static class FlushResultImpl implements FlushResult {<a name="line.422"></a>
+<span class="sourceLineNo">423</span>    final Result result;<a name="line.423"></a>
+<span class="sourceLineNo">424</span>    final String failureReason;<a name="line.424"></a>
+<span class="sourceLineNo">425</span>    final long flushSequenceId;<a name="line.425"></a>
+<span class="sourceLineNo">426</span>    final boolean wroteFlushWalMarker;<a name="line.426"></a>
 <span class="sourceLineNo">427</span><a name="line.427"></a>
-<span class="sourceLineNo">428</span>    static final long HEAP_SIZE = ClassSize.align(<a name="line.428"></a>
-<span class="sourceLineNo">429</span>        ClassSize.OBJECT + 5 * Bytes.SIZEOF_BOOLEAN);<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  }<a name="line.430"></a>
-<span class="sourceLineNo">431</span><a name="line.431"></a>
-<span class="sourceLineNo">432</span>  /**<a name="line.432"></a>
-<span class="sourceLineNo">433</span>   * Objects from this class are created when flushing to describe all the different states that<a name="line.433"></a>
-<span class="sourceLineNo">434</span>   * that method ends up in. The Result enum describes those states. The sequence id should only<a name="line.434"></a>
-<span class="sourceLineNo">435</span>   * be specified if the flush was successful, and the failure message should only be specified<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   * if it didn't flush.<a name="line.436"></a>
-<span class="sourceLineNo">437</span>   */<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  public static class FlushResultImpl implements FlushResult {<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    final Result result;<a name="line.439"></a>
-<span class="sourceLineNo">440</span>    final String failureReason;<a name="line.440"></a>
-<span class="sourceLineNo">441</span>    final long flushSequenceId;<a name="line.441"></a>
-<span class="sourceLineNo">442</span>    final boolean wroteFlushWalMarker;<a name="line.442"></a>
-<span class="sourceLineNo">443</span><a name="line.443"></a>
-<span class="sourceLineNo">444</span>    /**<a name="line.444"></a>
-<span class="sourceLineNo">445</span>     * Convenience constructor to use when the flush is successful, the failure message is set to<a name="line.445"></a>
-<span class="sourceLineNo">446</span>     * null.<a name="line.446"></a>
-<span class="sourceLineNo">447</span>     * @param result Expecting FLUSHED_NO_COMPACTION_NEEDED or FLUSHED_COMPACTION_NEEDED.<a name="line.447"></a>
-<span class="sourceLineNo">448</span>     * @param flushSequenceId Generated sequence id that comes right after the edits in the<a name="line.448"></a>
-<span class="sourceLineNo">449</span>     *                        memstores.<a name="line.449"></a>
-<span class="sourceLineNo">450</span>     */<a name="lin

<TRUNCATED>

[22/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html
index 6cf6743..1b54cf8 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html
@@ -27,572 +27,649 @@
 <span class="sourceLineNo">019</span> */<a name="line.19"></a>
 <span class="sourceLineNo">020</span>package org.apache.hadoop.hbase.client;<a name="line.20"></a>
 <span class="sourceLineNo">021</span><a name="line.21"></a>
-<span class="sourceLineNo">022</span>import java.io.IOException;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.util.AbstractMap.SimpleEntry;<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.Collections;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.util.HashMap;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import java.util.List;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import java.util.Map;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import java.util.concurrent.ExecutorService;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import java.util.concurrent.Executors;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import java.util.concurrent.LinkedBlockingQueue;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import java.util.concurrent.ScheduledExecutorService;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import java.util.concurrent.TimeUnit;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.36"></a>
-<span class="sourceLineNo">037</span><a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.commons.logging.Log;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.commons.logging.LogFactory;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.conf.Configuration;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.HBaseConfiguration;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.HConstants;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.ServerName;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.TableName;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.client.AsyncProcess.AsyncRequestFuture;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.ipc.RpcControllerFactory;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.51"></a>
-<span class="sourceLineNo">052</span><a name="line.52"></a>
-<span class="sourceLineNo">053</span>import com.google.common.util.concurrent.ThreadFactoryBuilder;<a name="line.53"></a>
-<span class="sourceLineNo">054</span><a name="line.54"></a>
-<span class="sourceLineNo">055</span>/**<a name="line.55"></a>
-<span class="sourceLineNo">056</span> * HTableMultiplexer provides a thread-safe non blocking PUT API across all the tables.<a name="line.56"></a>
-<span class="sourceLineNo">057</span> * Each put will be sharded into different buffer queues based on its destination region server.<a name="line.57"></a>
-<span class="sourceLineNo">058</span> * So each region server buffer queue will only have the puts which share the same destination.<a name="line.58"></a>
-<span class="sourceLineNo">059</span> * And each queue will have a flush worker thread to flush the puts request to the region server.<a name="line.59"></a>
-<span class="sourceLineNo">060</span> * If any queue is full, the HTableMultiplexer starts to drop the Put requests for that<a name="line.60"></a>
-<span class="sourceLineNo">061</span> * particular queue.<a name="line.61"></a>
-<span class="sourceLineNo">062</span> *<a name="line.62"></a>
-<span class="sourceLineNo">063</span> * Also all the puts will be retried as a configuration number before dropping.<a name="line.63"></a>
-<span class="sourceLineNo">064</span> * And the HTableMultiplexer can report the number of buffered requests and the number of the<a name="line.64"></a>
-<span class="sourceLineNo">065</span> * failed (dropped) requests in total or on per region server basis.<a name="line.65"></a>
-<span class="sourceLineNo">066</span> *<a name="line.66"></a>
-<span class="sourceLineNo">067</span> * This class is thread safe.<a name="line.67"></a>
-<span class="sourceLineNo">068</span> */<a name="line.68"></a>
-<span class="sourceLineNo">069</span>@InterfaceAudience.Public<a name="line.69"></a>
-<span class="sourceLineNo">070</span>@InterfaceStability.Evolving<a name="line.70"></a>
-<span class="sourceLineNo">071</span>public class HTableMultiplexer {<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  private static final Log LOG = LogFactory.getLog(HTableMultiplexer.class.getName());<a name="line.72"></a>
-<span class="sourceLineNo">073</span><a name="line.73"></a>
-<span class="sourceLineNo">074</span>  public static final String TABLE_MULTIPLEXER_FLUSH_PERIOD_MS =<a name="line.74"></a>
-<span class="sourceLineNo">075</span>      "hbase.tablemultiplexer.flush.period.ms";<a name="line.75"></a>
-<span class="sourceLineNo">076</span>  public static final String TABLE_MULTIPLEXER_INIT_THREADS = "hbase.tablemultiplexer.init.threads";<a name="line.76"></a>
-<span class="sourceLineNo">077</span>  public static final String TABLE_MULTIPLEXER_MAX_RETRIES_IN_QUEUE =<a name="line.77"></a>
-<span class="sourceLineNo">078</span>      "hbase.client.max.retries.in.queue";<a name="line.78"></a>
-<span class="sourceLineNo">079</span><a name="line.79"></a>
-<span class="sourceLineNo">080</span>  /** The map between each region server to its flush worker */<a name="line.80"></a>
-<span class="sourceLineNo">081</span>  private final Map&lt;HRegionLocation, FlushWorker&gt; serverToFlushWorkerMap =<a name="line.81"></a>
-<span class="sourceLineNo">082</span>      new ConcurrentHashMap&lt;&gt;();<a name="line.82"></a>
-<span class="sourceLineNo">083</span><a name="line.83"></a>
-<span class="sourceLineNo">084</span>  private final Configuration workerConf;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>  private final ClusterConnection conn;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>  private final ExecutorService pool;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>  private final int maxAttempts;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>  private final int perRegionServerBufferQueueSize;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>  private final int maxKeyValueSize;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>  private final ScheduledExecutorService executor;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>  private final long flushPeriod;<a name="line.91"></a>
-<span class="sourceLineNo">092</span><a name="line.92"></a>
-<span class="sourceLineNo">093</span>  /**<a name="line.93"></a>
-<span class="sourceLineNo">094</span>   * @param conf The HBaseConfiguration<a name="line.94"></a>
-<span class="sourceLineNo">095</span>   * @param perRegionServerBufferQueueSize determines the max number of the buffered Put ops for<a name="line.95"></a>
-<span class="sourceLineNo">096</span>   *          each region server before dropping the request.<a name="line.96"></a>
-<span class="sourceLineNo">097</span>   */<a name="line.97"></a>
-<span class="sourceLineNo">098</span>  public HTableMultiplexer(Configuration conf, int perRegionServerBufferQueueSize)<a name="line.98"></a>
-<span class="sourceLineNo">099</span>      throws IOException {<a name="line.99"></a>
-<span class="sourceLineNo">100</span>    this.conn = (ClusterConnection) ConnectionFactory.createConnection(conf);<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    this.pool = HTable.getDefaultExecutor(conf);<a name="line.101"></a>
-<span class="sourceLineNo">102</span>    // how many times we could try in total, one more than retry number<a name="line.102"></a>
-<span class="sourceLineNo">103</span>    this.maxAttempts = conf.getInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER,<a name="line.103"></a>
-<span class="sourceLineNo">104</span>        HConstants.DEFAULT_HBASE_CLIENT_RETRIES_NUMBER) + 1;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    this.perRegionServerBufferQueueSize = perRegionServerBufferQueueSize;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    this.maxKeyValueSize = HTable.getMaxKeyValueSize(conf);<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    this.flushPeriod = conf.getLong(TABLE_MULTIPLEXER_FLUSH_PERIOD_MS, 100);<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    int initThreads = conf.getInt(TABLE_MULTIPLEXER_INIT_THREADS, 10);<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    this.executor =<a name="line.109"></a>
-<span class="sourceLineNo">110</span>        Executors.newScheduledThreadPool(initThreads,<a name="line.110"></a>
-<span class="sourceLineNo">111</span>          new ThreadFactoryBuilder().setDaemon(true).setNameFormat("HTableFlushWorker-%d").build());<a name="line.111"></a>
-<span class="sourceLineNo">112</span><a name="line.112"></a>
-<span class="sourceLineNo">113</span>    this.workerConf = HBaseConfiguration.create(conf);<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    // We do not do the retry because we need to reassign puts to different queues if regions are<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    // moved.<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    this.workerConf.setInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER, 0);<a name="line.116"></a>
-<span class="sourceLineNo">117</span>  }<a name="line.117"></a>
-<span class="sourceLineNo">118</span><a name="line.118"></a>
-<span class="sourceLineNo">119</span>  /**<a name="line.119"></a>
-<span class="sourceLineNo">120</span>   * The put request will be buffered by its corresponding buffer queue. Return false if the queue<a name="line.120"></a>
-<span class="sourceLineNo">121</span>   * is already full.<a name="line.121"></a>
-<span class="sourceLineNo">122</span>   * @param tableName<a name="line.122"></a>
-<span class="sourceLineNo">123</span>   * @param put<a name="line.123"></a>
-<span class="sourceLineNo">124</span>   * @return true if the request can be accepted by its corresponding buffer queue.<a name="line.124"></a>
-<span class="sourceLineNo">125</span>   */<a name="line.125"></a>
-<span class="sourceLineNo">126</span>  public boolean put(TableName tableName, final Put put) {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    return put(tableName, put, this.maxAttempts);<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 name="line.130"></a>
-<span class="sourceLineNo">131</span>   * The puts request will be buffered by their corresponding buffer queue.<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   * Return the list of puts which could not be queued.<a name="line.132"></a>
-<span class="sourceLineNo">133</span>   * @param tableName<a name="line.133"></a>
-<span class="sourceLineNo">134</span>   * @param puts<a name="line.134"></a>
-<span class="sourceLineNo">135</span>   * @return the list of puts which could not be queued<a name="line.135"></a>
-<span class="sourceLineNo">136</span>   */<a name="line.136"></a>
-<span class="sourceLineNo">137</span>  public List&lt;Put&gt; put(TableName tableName, final List&lt;Put&gt; puts) {<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    if (puts == null)<a name="line.138"></a>
-<span class="sourceLineNo">139</span>      return null;<a name="line.139"></a>
-<span class="sourceLineNo">140</span><a name="line.140"></a>
-<span class="sourceLineNo">141</span>    List &lt;Put&gt; failedPuts = null;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    boolean result;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    for (Put put : puts) {<a name="line.143"></a>
-<span class="sourceLineNo">144</span>      result = put(tableName, put, this.maxAttempts);<a name="line.144"></a>
-<span class="sourceLineNo">145</span>      if (result == false) {<a name="line.145"></a>
-<span class="sourceLineNo">146</span><a name="line.146"></a>
-<span class="sourceLineNo">147</span>        // Create the failed puts list if necessary<a name="line.147"></a>
-<span class="sourceLineNo">148</span>        if (failedPuts == null) {<a name="line.148"></a>
-<span class="sourceLineNo">149</span>          failedPuts = new ArrayList&lt;Put&gt;();<a name="line.149"></a>
-<span class="sourceLineNo">150</span>        }<a name="line.150"></a>
-<span class="sourceLineNo">151</span>        // Add the put to the failed puts list<a name="line.151"></a>
-<span class="sourceLineNo">152</span>        failedPuts.add(put);<a name="line.152"></a>
-<span class="sourceLineNo">153</span>      }<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    }<a name="line.154"></a>
-<span class="sourceLineNo">155</span>    return failedPuts;<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>   * @deprecated Use {@link #put(TableName, List) } instead.<a name="line.159"></a>
+<span class="sourceLineNo">022</span>import com.google.common.annotations.VisibleForTesting;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import com.google.common.util.concurrent.ThreadFactoryBuilder;<a name="line.23"></a>
+<span class="sourceLineNo">024</span><a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.io.IOException;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.util.AbstractMap.SimpleEntry;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.util.ArrayList;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import java.util.Collections;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import java.util.HashMap;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import java.util.List;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import java.util.Map;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import java.util.concurrent.ExecutorService;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import java.util.concurrent.Executors;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import java.util.concurrent.LinkedBlockingQueue;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import java.util.concurrent.ScheduledExecutorService;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import java.util.concurrent.TimeUnit;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.39"></a>
+<span class="sourceLineNo">040</span><a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.commons.logging.Log;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.commons.logging.LogFactory;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.conf.Configuration;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.HBaseConfiguration;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.HConstants;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.ServerName;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.TableName;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.client.AsyncProcess.AsyncRequestFuture;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.ipc.RpcControllerFactory;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.54"></a>
+<span class="sourceLineNo">055</span><a name="line.55"></a>
+<span class="sourceLineNo">056</span>/**<a name="line.56"></a>
+<span class="sourceLineNo">057</span> * HTableMultiplexer provides a thread-safe non blocking PUT API across all the tables.<a name="line.57"></a>
+<span class="sourceLineNo">058</span> * Each put will be sharded into different buffer queues based on its destination region server.<a name="line.58"></a>
+<span class="sourceLineNo">059</span> * So each region server buffer queue will only have the puts which share the same destination.<a name="line.59"></a>
+<span class="sourceLineNo">060</span> * And each queue will have a flush worker thread to flush the puts request to the region server.<a name="line.60"></a>
+<span class="sourceLineNo">061</span> * If any queue is full, the HTableMultiplexer starts to drop the Put requests for that<a name="line.61"></a>
+<span class="sourceLineNo">062</span> * particular queue.<a name="line.62"></a>
+<span class="sourceLineNo">063</span> *<a name="line.63"></a>
+<span class="sourceLineNo">064</span> * Also all the puts will be retried as a configuration number before dropping.<a name="line.64"></a>
+<span class="sourceLineNo">065</span> * And the HTableMultiplexer can report the number of buffered requests and the number of the<a name="line.65"></a>
+<span class="sourceLineNo">066</span> * failed (dropped) requests in total or on per region server basis.<a name="line.66"></a>
+<span class="sourceLineNo">067</span> *<a name="line.67"></a>
+<span class="sourceLineNo">068</span> * This class is thread safe.<a name="line.68"></a>
+<span class="sourceLineNo">069</span> */<a name="line.69"></a>
+<span class="sourceLineNo">070</span>@InterfaceAudience.Public<a name="line.70"></a>
+<span class="sourceLineNo">071</span>@InterfaceStability.Evolving<a name="line.71"></a>
+<span class="sourceLineNo">072</span>public class HTableMultiplexer {<a name="line.72"></a>
+<span class="sourceLineNo">073</span>  private static final Log LOG = LogFactory.getLog(HTableMultiplexer.class.getName());<a name="line.73"></a>
+<span class="sourceLineNo">074</span><a name="line.74"></a>
+<span class="sourceLineNo">075</span>  public static final String TABLE_MULTIPLEXER_FLUSH_PERIOD_MS =<a name="line.75"></a>
+<span class="sourceLineNo">076</span>      "hbase.tablemultiplexer.flush.period.ms";<a name="line.76"></a>
+<span class="sourceLineNo">077</span>  public static final String TABLE_MULTIPLEXER_INIT_THREADS = "hbase.tablemultiplexer.init.threads";<a name="line.77"></a>
+<span class="sourceLineNo">078</span>  public static final String TABLE_MULTIPLEXER_MAX_RETRIES_IN_QUEUE =<a name="line.78"></a>
+<span class="sourceLineNo">079</span>      "hbase.client.max.retries.in.queue";<a name="line.79"></a>
+<span class="sourceLineNo">080</span><a name="line.80"></a>
+<span class="sourceLineNo">081</span>  /** The map between each region server to its flush worker */<a name="line.81"></a>
+<span class="sourceLineNo">082</span>  private final Map&lt;HRegionLocation, FlushWorker&gt; serverToFlushWorkerMap =<a name="line.82"></a>
+<span class="sourceLineNo">083</span>      new ConcurrentHashMap&lt;&gt;();<a name="line.83"></a>
+<span class="sourceLineNo">084</span><a name="line.84"></a>
+<span class="sourceLineNo">085</span>  private final Configuration workerConf;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>  private final ClusterConnection conn;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>  private final ExecutorService pool;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>  private final int maxAttempts;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>  private final int perRegionServerBufferQueueSize;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>  private final int maxKeyValueSize;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>  private final ScheduledExecutorService executor;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>  private final long flushPeriod;<a name="line.92"></a>
+<span class="sourceLineNo">093</span><a name="line.93"></a>
+<span class="sourceLineNo">094</span>  /**<a name="line.94"></a>
+<span class="sourceLineNo">095</span>   * @param conf The HBaseConfiguration<a name="line.95"></a>
+<span class="sourceLineNo">096</span>   * @param perRegionServerBufferQueueSize determines the max number of the buffered Put ops for<a name="line.96"></a>
+<span class="sourceLineNo">097</span>   *          each region server before dropping the request.<a name="line.97"></a>
+<span class="sourceLineNo">098</span>   */<a name="line.98"></a>
+<span class="sourceLineNo">099</span>  public HTableMultiplexer(Configuration conf, int perRegionServerBufferQueueSize)<a name="line.99"></a>
+<span class="sourceLineNo">100</span>      throws IOException {<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    this(ConnectionFactory.createConnection(conf), conf, perRegionServerBufferQueueSize);<a name="line.101"></a>
+<span class="sourceLineNo">102</span>  }<a name="line.102"></a>
+<span class="sourceLineNo">103</span><a name="line.103"></a>
+<span class="sourceLineNo">104</span>  /**<a name="line.104"></a>
+<span class="sourceLineNo">105</span>   * @param conn The HBase connection.<a name="line.105"></a>
+<span class="sourceLineNo">106</span>   * @param conf The HBase configuration<a name="line.106"></a>
+<span class="sourceLineNo">107</span>   * @param perRegionServerBufferQueueSize determines the max number of the buffered Put ops for<a name="line.107"></a>
+<span class="sourceLineNo">108</span>   *          each region server before dropping the request.<a name="line.108"></a>
+<span class="sourceLineNo">109</span>   */<a name="line.109"></a>
+<span class="sourceLineNo">110</span>  public HTableMultiplexer(Connection conn, Configuration conf,<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      int perRegionServerBufferQueueSize) {<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    this.conn = (ClusterConnection) conn;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>    this.pool = HTable.getDefaultExecutor(conf);<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    // how many times we could try in total, one more than retry number<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    this.maxAttempts = conf.getInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER,<a name="line.115"></a>
+<span class="sourceLineNo">116</span>        HConstants.DEFAULT_HBASE_CLIENT_RETRIES_NUMBER) + 1;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    this.perRegionServerBufferQueueSize = perRegionServerBufferQueueSize;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    this.maxKeyValueSize = HTable.getMaxKeyValueSize(conf);<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    this.flushPeriod = conf.getLong(TABLE_MULTIPLEXER_FLUSH_PERIOD_MS, 100);<a name="line.119"></a>
+<span class="sourceLineNo">120</span>    int initThreads = conf.getInt(TABLE_MULTIPLEXER_INIT_THREADS, 10);<a name="line.120"></a>
+<span class="sourceLineNo">121</span>    this.executor =<a name="line.121"></a>
+<span class="sourceLineNo">122</span>        Executors.newScheduledThreadPool(initThreads,<a name="line.122"></a>
+<span class="sourceLineNo">123</span>          new ThreadFactoryBuilder().setDaemon(true).setNameFormat("HTableFlushWorker-%d").build());<a name="line.123"></a>
+<span class="sourceLineNo">124</span><a name="line.124"></a>
+<span class="sourceLineNo">125</span>    this.workerConf = HBaseConfiguration.create(conf);<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    // We do not do the retry because we need to reassign puts to different queues if regions are<a name="line.126"></a>
+<span class="sourceLineNo">127</span>    // moved.<a name="line.127"></a>
+<span class="sourceLineNo">128</span>    this.workerConf.setInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER, 0);<a name="line.128"></a>
+<span class="sourceLineNo">129</span>  }<a name="line.129"></a>
+<span class="sourceLineNo">130</span><a name="line.130"></a>
+<span class="sourceLineNo">131</span>  /**<a name="line.131"></a>
+<span class="sourceLineNo">132</span>   * Closes the internal {@link Connection}. Does nothing if the {@link Connection} has already<a name="line.132"></a>
+<span class="sourceLineNo">133</span>   * been closed.<a name="line.133"></a>
+<span class="sourceLineNo">134</span>   * @throws IOException If there is an error closing the connection.<a name="line.134"></a>
+<span class="sourceLineNo">135</span>   */<a name="line.135"></a>
+<span class="sourceLineNo">136</span>  @SuppressWarnings("deprecation")<a name="line.136"></a>
+<span class="sourceLineNo">137</span>  public synchronized void close() throws IOException {<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    if (!getConnection().isClosed()) {<a name="line.138"></a>
+<span class="sourceLineNo">139</span>      getConnection().close();<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    }<a name="line.140"></a>
+<span class="sourceLineNo">141</span>  }<a name="line.141"></a>
+<span class="sourceLineNo">142</span><a name="line.142"></a>
+<span class="sourceLineNo">143</span>  /**<a name="line.143"></a>
+<span class="sourceLineNo">144</span>   * The put request will be buffered by its corresponding buffer queue. Return false if the queue<a name="line.144"></a>
+<span class="sourceLineNo">145</span>   * is already full.<a name="line.145"></a>
+<span class="sourceLineNo">146</span>   * @param tableName<a name="line.146"></a>
+<span class="sourceLineNo">147</span>   * @param put<a name="line.147"></a>
+<span class="sourceLineNo">148</span>   * @return true if the request can be accepted by its corresponding buffer queue.<a name="line.148"></a>
+<span class="sourceLineNo">149</span>   */<a name="line.149"></a>
+<span class="sourceLineNo">150</span>  public boolean put(TableName tableName, final Put put) {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    return put(tableName, put, this.maxAttempts);<a name="line.151"></a>
+<span class="sourceLineNo">152</span>  }<a name="line.152"></a>
+<span class="sourceLineNo">153</span><a name="line.153"></a>
+<span class="sourceLineNo">154</span>  /**<a name="line.154"></a>
+<span class="sourceLineNo">155</span>   * The puts request will be buffered by their corresponding buffer queue.<a name="line.155"></a>
+<span class="sourceLineNo">156</span>   * Return the list of puts which could not be queued.<a name="line.156"></a>
+<span class="sourceLineNo">157</span>   * @param tableName<a name="line.157"></a>
+<span class="sourceLineNo">158</span>   * @param puts<a name="line.158"></a>
+<span class="sourceLineNo">159</span>   * @return the list of puts which could not be queued<a name="line.159"></a>
 <span class="sourceLineNo">160</span>   */<a name="line.160"></a>
-<span class="sourceLineNo">161</span>  @Deprecated<a name="line.161"></a>
-<span class="sourceLineNo">162</span>  public List&lt;Put&gt; put(byte[] tableName, final List&lt;Put&gt; puts) {<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    return put(TableName.valueOf(tableName), puts);<a name="line.163"></a>
-<span class="sourceLineNo">164</span>  }<a name="line.164"></a>
-<span class="sourceLineNo">165</span><a name="line.165"></a>
-<span class="sourceLineNo">166</span>  /**<a name="line.166"></a>
-<span class="sourceLineNo">167</span>   * The put request will be buffered by its corresponding buffer queue. And the put request will be<a name="line.167"></a>
-<span class="sourceLineNo">168</span>   * retried before dropping the request.<a name="line.168"></a>
-<span class="sourceLineNo">169</span>   * Return false if the queue is already full.<a name="line.169"></a>
-<span class="sourceLineNo">170</span>   * @return true if the request can be accepted by its corresponding buffer queue.<a name="line.170"></a>
-<span class="sourceLineNo">171</span>   */<a name="line.171"></a>
-<span class="sourceLineNo">172</span>  public boolean put(final TableName tableName, final Put put, int maxAttempts) {<a name="line.172"></a>
-<span class="sourceLineNo">173</span>    if (maxAttempts &lt;= 0) {<a name="line.173"></a>
-<span class="sourceLineNo">174</span>      return false;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    }<a name="line.175"></a>
-<span class="sourceLineNo">176</span><a name="line.176"></a>
-<span class="sourceLineNo">177</span>    try {<a name="line.177"></a>
-<span class="sourceLineNo">178</span>      HTable.validatePut(put, maxKeyValueSize);<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      HRegionLocation loc = conn.getRegionLocation(tableName, put.getRow(), false);<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      if (loc != null) {<a name="line.180"></a>
-<span class="sourceLineNo">181</span>        // Add the put pair into its corresponding queue.<a name="line.181"></a>
-<span class="sourceLineNo">182</span>        LinkedBlockingQueue&lt;PutStatus&gt; queue = getQueue(loc);<a name="line.182"></a>
-<span class="sourceLineNo">183</span><a name="line.183"></a>
-<span class="sourceLineNo">184</span>        // Generate a MultiPutStatus object and offer it into the queue<a name="line.184"></a>
-<span class="sourceLineNo">185</span>        PutStatus s = new PutStatus(loc.getRegionInfo(), put, maxAttempts);<a name="line.185"></a>
-<span class="sourceLineNo">186</span><a name="line.186"></a>
-<span class="sourceLineNo">187</span>        return queue.offer(s);<a name="line.187"></a>
-<span class="sourceLineNo">188</span>      }<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    } catch (IOException e) {<a name="line.189"></a>
-<span class="sourceLineNo">190</span>      LOG.debug("Cannot process the put " + put, e);<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    }<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    return false;<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>  /**<a name="line.195"></a>
-<span class="sourceLineNo">196</span>   * @deprecated Use {@link #put(TableName, Put) } instead.<a name="line.196"></a>
-<span class="sourceLineNo">197</span>   */<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  @Deprecated<a name="line.198"></a>
-<span class="sourceLineNo">199</span>  public boolean put(final byte[] tableName, final Put put, int retry) {<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    return put(TableName.valueOf(tableName), put, retry);<a name="line.200"></a>
-<span class="sourceLineNo">201</span>  }<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>  /**<a name="line.203"></a>
-<span class="sourceLineNo">204</span>   * @deprecated Use {@link #put(TableName, Put)} instead.<a name="line.204"></a>
-<span class="sourceLineNo">205</span>   */<a name="line.205"></a>
-<span class="sourceLineNo">206</span>  @Deprecated<a name="line.206"></a>
-<span class="sourceLineNo">207</span>  public boolean put(final byte[] tableName, Put put) {<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    return put(TableName.valueOf(tableName), put);<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>  /**<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   * @return the current HTableMultiplexerStatus<a name="line.212"></a>
-<span class="sourceLineNo">213</span>   */<a name="line.213"></a>
-<span class="sourceLineNo">214</span>  public HTableMultiplexerStatus getHTableMultiplexerStatus() {<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    return new HTableMultiplexerStatus(serverToFlushWorkerMap);<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span>  private LinkedBlockingQueue&lt;PutStatus&gt; getQueue(HRegionLocation addr) {<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    FlushWorker worker = serverToFlushWorkerMap.get(addr);<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    if (worker == null) {<a name="line.220"></a>
-<span class="sourceLineNo">221</span>      synchronized (this.serverToFlushWorkerMap) {<a name="line.221"></a>
-<span class="sourceLineNo">222</span>        worker = serverToFlushWorkerMap.get(addr);<a name="line.222"></a>
-<span class="sourceLineNo">223</span>        if (worker == null) {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>          // Create the flush worker<a name="line.224"></a>
-<span class="sourceLineNo">225</span>          worker = new FlushWorker(workerConf, this.conn, addr, this,<a name="line.225"></a>
-<span class="sourceLineNo">226</span>              perRegionServerBufferQueueSize, pool, executor);<a name="line.226"></a>
-<span class="sourceLineNo">227</span>          this.serverToFlushWorkerMap.put(addr, worker);<a name="line.227"></a>
-<span class="sourceLineNo">228</span>          executor.scheduleAtFixedRate(worker, flushPeriod, flushPeriod, TimeUnit.MILLISECONDS);<a name="line.228"></a>
-<span class="sourceLineNo">229</span>        }<a name="line.229"></a>
-<span class="sourceLineNo">230</span>      }<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    }<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    return worker.getQueue();<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  }<a name="line.233"></a>
-<span class="sourceLineNo">234</span><a name="line.234"></a>
-<span class="sourceLineNo">235</span>  /**<a name="line.235"></a>
-<span class="sourceLineNo">236</span>   * HTableMultiplexerStatus keeps track of the current status of the HTableMultiplexer.<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   * report the number of buffered requests and the number of the failed (dropped) requests<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   * in total or on per region server basis.<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   */<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  @InterfaceAudience.Public<a name="line.240"></a>
-<span class="sourceLineNo">241</span>  @InterfaceStability.Evolving<a name="line.241"></a>
-<span class="sourceLineNo">242</span>  public static class HTableMultiplexerStatus {<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    private long totalFailedPutCounter;<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    private long totalBufferedPutCounter;<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    private long maxLatency;<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    private long overallAverageLatency;<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    private Map&lt;String, Long&gt; serverToFailedCounterMap;<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    private Map&lt;String, Long&gt; serverToBufferedCounterMap;<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    private Map&lt;String, Long&gt; serverToAverageLatencyMap;<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    private Map&lt;String, Long&gt; serverToMaxLatencyMap;<a name="line.250"></a>
-<span class="sourceLineNo">251</span><a name="line.251"></a>
-<span class="sourceLineNo">252</span>    public HTableMultiplexerStatus(<a name="line.252"></a>
-<span class="sourceLineNo">253</span>        Map&lt;HRegionLocation, FlushWorker&gt; serverToFlushWorkerMap) {<a name="line.253"></a>
-<span class="sourceLineNo">254</span>      this.totalBufferedPutCounter = 0;<a name="line.254"></a>
-<span class="sourceLineNo">255</span>      this.totalFailedPutCounter = 0;<a name="line.255"></a>
-<span class="sourceLineNo">256</span>      this.maxLatency = 0;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>      this.overallAverageLatency = 0;<a name="line.257"></a>
-<span class="sourceLineNo">258</span>      this.serverToBufferedCounterMap = new HashMap&lt;String, Long&gt;();<a name="line.258"></a>
-<span class="sourceLineNo">259</span>      this.serverToFailedCounterMap = new HashMap&lt;String, Long&gt;();<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      this.serverToAverageLatencyMap = new HashMap&lt;String, Long&gt;();<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      this.serverToMaxLatencyMap = new HashMap&lt;String, Long&gt;();<a name="line.261"></a>
-<span class="sourceLineNo">262</span>      this.initialize(serverToFlushWorkerMap);<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>    private void initialize(<a name="line.265"></a>
-<span class="sourceLineNo">266</span>        Map&lt;HRegionLocation, FlushWorker&gt; serverToFlushWorkerMap) {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      if (serverToFlushWorkerMap == null) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>        return;<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>      long averageCalcSum = 0;<a name="line.271"></a>
-<span class="sourceLineNo">272</span>      int averageCalcCount = 0;<a name="line.272"></a>
-<span class="sourceLineNo">273</span>      for (Map.Entry&lt;HRegionLocation, FlushWorker&gt; entry : serverToFlushWorkerMap<a name="line.273"></a>
-<span class="sourceLineNo">274</span>          .entrySet()) {<a name="line.274"></a>
-<span class="sourceLineNo">275</span>        HRegionLocation addr = entry.getKey();<a name="line.275"></a>
-<span class="sourceLineNo">276</span>        FlushWorker worker = entry.getValue();<a name="line.276"></a>
-<span class="sourceLineNo">277</span><a name="line.277"></a>
-<span class="sourceLineNo">278</span>        long bufferedCounter = worker.getTotalBufferedCount();<a name="line.278"></a>
-<span class="sourceLineNo">279</span>        long failedCounter = worker.getTotalFailedCount();<a name="line.279"></a>
-<span class="sourceLineNo">280</span>        long serverMaxLatency = worker.getMaxLatency();<a name="line.280"></a>
-<span class="sourceLineNo">281</span>        AtomicAverageCounter averageCounter = worker.getAverageLatencyCounter();<a name="line.281"></a>
-<span class="sourceLineNo">282</span>        // Get sum and count pieces separately to compute overall average<a name="line.282"></a>
-<span class="sourceLineNo">283</span>        SimpleEntry&lt;Long, Integer&gt; averageComponents = averageCounter<a name="line.283"></a>
-<span class="sourceLineNo">284</span>            .getComponents();<a name="line.284"></a>
-<span class="sourceLineNo">285</span>        long serverAvgLatency = averageCounter.getAndReset();<a name="line.285"></a>
-<span class="sourceLineNo">286</span><a name="line.286"></a>
-<span class="sourceLineNo">287</span>        this.totalBufferedPutCounter += bufferedCounter;<a name="line.287"></a>
-<span class="sourceLineNo">288</span>        this.totalFailedPutCounter += failedCounter;<a name="line.288"></a>
-<span class="sourceLineNo">289</span>        if (serverMaxLatency &gt; this.maxLatency) {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>          this.maxLatency = serverMaxLatency;<a name="line.290"></a>
-<span class="sourceLineNo">291</span>        }<a name="line.291"></a>
-<span class="sourceLineNo">292</span>        averageCalcSum += averageComponents.getKey();<a name="line.292"></a>
-<span class="sourceLineNo">293</span>        averageCalcCount += averageComponents.getValue();<a name="line.293"></a>
-<span class="sourceLineNo">294</span><a name="line.294"></a>
-<span class="sourceLineNo">295</span>        this.serverToBufferedCounterMap.put(addr.getHostnamePort(),<a name="line.295"></a>
-<span class="sourceLineNo">296</span>            bufferedCounter);<a name="line.296"></a>
-<span class="sourceLineNo">297</span>        this.serverToFailedCounterMap<a name="line.297"></a>
-<span class="sourceLineNo">298</span>            .put(addr.getHostnamePort(),<a name="line.298"></a>
-<span class="sourceLineNo">299</span>            failedCounter);<a name="line.299"></a>
-<span class="sourceLineNo">300</span>        this.serverToAverageLatencyMap.put(addr.getHostnamePort(),<a name="line.300"></a>
-<span class="sourceLineNo">301</span>            serverAvgLatency);<a name="line.301"></a>
-<span class="sourceLineNo">302</span>        this.serverToMaxLatencyMap<a name="line.302"></a>
-<span class="sourceLineNo">303</span>            .put(addr.getHostnamePort(),<a name="line.303"></a>
-<span class="sourceLineNo">304</span>            serverMaxLatency);<a name="line.304"></a>
-<span class="sourceLineNo">305</span>      }<a name="line.305"></a>
-<span class="sourceLineNo">306</span>      this.overallAverageLatency = averageCalcCount != 0 ? averageCalcSum<a name="line.306"></a>
-<span class="sourceLineNo">307</span>          / averageCalcCount : 0;<a name="line.307"></a>
+<span class="sourceLineNo">161</span>  public List&lt;Put&gt; put(TableName tableName, final List&lt;Put&gt; puts) {<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    if (puts == null)<a name="line.162"></a>
+<span class="sourceLineNo">163</span>      return null;<a name="line.163"></a>
+<span class="sourceLineNo">164</span><a name="line.164"></a>
+<span class="sourceLineNo">165</span>    List &lt;Put&gt; failedPuts = null;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>    boolean result;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    for (Put put : puts) {<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      result = put(tableName, put, this.maxAttempts);<a name="line.168"></a>
+<span class="sourceLineNo">169</span>      if (result == false) {<a name="line.169"></a>
+<span class="sourceLineNo">170</span><a name="line.170"></a>
+<span class="sourceLineNo">171</span>        // Create the failed puts list if necessary<a name="line.171"></a>
+<span class="sourceLineNo">172</span>        if (failedPuts == null) {<a name="line.172"></a>
+<span class="sourceLineNo">173</span>          failedPuts = new ArrayList&lt;Put&gt;();<a name="line.173"></a>
+<span class="sourceLineNo">174</span>        }<a name="line.174"></a>
+<span class="sourceLineNo">175</span>        // Add the put to the failed puts list<a name="line.175"></a>
+<span class="sourceLineNo">176</span>        failedPuts.add(put);<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>    return failedPuts;<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>  /**<a name="line.182"></a>
+<span class="sourceLineNo">183</span>   * @deprecated Use {@link #put(TableName, List) } instead.<a name="line.183"></a>
+<span class="sourceLineNo">184</span>   */<a name="line.184"></a>
+<span class="sourceLineNo">185</span>  @Deprecated<a name="line.185"></a>
+<span class="sourceLineNo">186</span>  public List&lt;Put&gt; put(byte[] tableName, final List&lt;Put&gt; puts) {<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    return put(TableName.valueOf(tableName), puts);<a name="line.187"></a>
+<span class="sourceLineNo">188</span>  }<a name="line.188"></a>
+<span class="sourceLineNo">189</span><a name="line.189"></a>
+<span class="sourceLineNo">190</span>  /**<a name="line.190"></a>
+<span class="sourceLineNo">191</span>   * The put request will be buffered by its corresponding buffer queue. And the put request will be<a name="line.191"></a>
+<span class="sourceLineNo">192</span>   * retried before dropping the request.<a name="line.192"></a>
+<span class="sourceLineNo">193</span>   * Return false if the queue is already full.<a name="line.193"></a>
+<span class="sourceLineNo">194</span>   * @return true if the request can be accepted by its corresponding buffer queue.<a name="line.194"></a>
+<span class="sourceLineNo">195</span>   */<a name="line.195"></a>
+<span class="sourceLineNo">196</span>  public boolean put(final TableName tableName, final Put put, int maxAttempts) {<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    return _put(tableName, put, maxAttempts, false);<a name="line.197"></a>
+<span class="sourceLineNo">198</span>  }<a name="line.198"></a>
+<span class="sourceLineNo">199</span><a name="line.199"></a>
+<span class="sourceLineNo">200</span>  /**<a name="line.200"></a>
+<span class="sourceLineNo">201</span>   * Internal "put" which exposes a boolean flag to control whether or not the region location<a name="line.201"></a>
+<span class="sourceLineNo">202</span>   * cache should be reloaded when trying to queue the {@link Put}.<a name="line.202"></a>
+<span class="sourceLineNo">203</span>   * @param tableName Destination table for the Put<a name="line.203"></a>
+<span class="sourceLineNo">204</span>   * @param put The Put to send<a name="line.204"></a>
+<span class="sourceLineNo">205</span>   * @param maxAttempts Number of attempts to retry the {@code put}<a name="line.205"></a>
+<span class="sourceLineNo">206</span>   * @param reloadCache Should the region location cache be reloaded<a name="line.206"></a>
+<span class="sourceLineNo">207</span>   * @return true if the request was accepted in the queue, otherwise false<a name="line.207"></a>
+<span class="sourceLineNo">208</span>   */<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  boolean _put(final TableName tableName, final Put put, int maxAttempts, boolean reloadCache) {<a name="line.209"></a>
+<span class="sourceLineNo">210</span>    if (maxAttempts &lt;= 0) {<a name="line.210"></a>
+<span class="sourceLineNo">211</span>      return false;<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    }<a name="line.212"></a>
+<span class="sourceLineNo">213</span><a name="line.213"></a>
+<span class="sourceLineNo">214</span>    try {<a name="line.214"></a>
+<span class="sourceLineNo">215</span>      HTable.validatePut(put, maxKeyValueSize);<a name="line.215"></a>
+<span class="sourceLineNo">216</span>      // Allow mocking to get at the connection, but don't expose the connection to users.<a name="line.216"></a>
+<span class="sourceLineNo">217</span>      ClusterConnection conn = (ClusterConnection) getConnection();<a name="line.217"></a>
+<span class="sourceLineNo">218</span>      HRegionLocation loc = conn.getRegionLocation(tableName, put.getRow(), reloadCache);<a name="line.218"></a>
+<span class="sourceLineNo">219</span>      if (loc != null) {<a name="line.219"></a>
+<span class="sourceLineNo">220</span>        // Add the put pair into its corresponding queue.<a name="line.220"></a>
+<span class="sourceLineNo">221</span>        LinkedBlockingQueue&lt;PutStatus&gt; queue = getQueue(loc);<a name="line.221"></a>
+<span class="sourceLineNo">222</span><a name="line.222"></a>
+<span class="sourceLineNo">223</span>        // Generate a MultiPutStatus object and offer it into the queue<a name="line.223"></a>
+<span class="sourceLineNo">224</span>        PutStatus s = new PutStatus(loc.getRegionInfo(), put, maxAttempts);<a name="line.224"></a>
+<span class="sourceLineNo">225</span><a name="line.225"></a>
+<span class="sourceLineNo">226</span>        return queue.offer(s);<a name="line.226"></a>
+<span class="sourceLineNo">227</span>      }<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    } catch (IOException e) {<a name="line.228"></a>
+<span class="sourceLineNo">229</span>      LOG.debug("Cannot process the put " + put, e);<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    }<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    return false;<a name="line.231"></a>
+<span class="sourceLineNo">232</span>  }<a name="line.232"></a>
+<span class="sourceLineNo">233</span><a name="line.233"></a>
+<span class="sourceLineNo">234</span>  /**<a name="line.234"></a>
+<span class="sourceLineNo">235</span>   * @deprecated Use {@link #put(TableName, Put) } instead.<a name="line.235"></a>
+<span class="sourceLineNo">236</span>   */<a name="line.236"></a>
+<span class="sourceLineNo">237</span>  @Deprecated<a name="line.237"></a>
+<span class="sourceLineNo">238</span>  public boolean put(final byte[] tableName, final Put put, int retry) {<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    return put(TableName.valueOf(tableName), put, retry);<a name="line.239"></a>
+<span class="sourceLineNo">240</span>  }<a name="line.240"></a>
+<span class="sourceLineNo">241</span><a name="line.241"></a>
+<span class="sourceLineNo">242</span>  /**<a name="line.242"></a>
+<span class="sourceLineNo">243</span>   * @deprecated Use {@link #put(TableName, Put)} instead.<a name="line.243"></a>
+<span class="sourceLineNo">244</span>   */<a name="line.244"></a>
+<span class="sourceLineNo">245</span>  @Deprecated<a name="line.245"></a>
+<span class="sourceLineNo">246</span>  public boolean put(final byte[] tableName, Put put) {<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    return put(TableName.valueOf(tableName), put);<a name="line.247"></a>
+<span class="sourceLineNo">248</span>  }<a name="line.248"></a>
+<span class="sourceLineNo">249</span><a name="line.249"></a>
+<span class="sourceLineNo">250</span>  /**<a name="line.250"></a>
+<span class="sourceLineNo">251</span>   * @return the current HTableMultiplexerStatus<a name="line.251"></a>
+<span class="sourceLineNo">252</span>   */<a name="line.252"></a>
+<span class="sourceLineNo">253</span>  public HTableMultiplexerStatus getHTableMultiplexerStatus() {<a name="line.253"></a>
+<span class="sourceLineNo">254</span>    return new HTableMultiplexerStatus(serverToFlushWorkerMap);<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>  @VisibleForTesting<a name="line.257"></a>
+<span class="sourceLineNo">258</span>  LinkedBlockingQueue&lt;PutStatus&gt; getQueue(HRegionLocation addr) {<a name="line.258"></a>
+<span class="sourceLineNo">259</span>    FlushWorker worker = serverToFlushWorkerMap.get(addr);<a name="line.259"></a>
+<span class="sourceLineNo">260</span>    if (worker == null) {<a name="line.260"></a>
+<span class="sourceLineNo">261</span>      synchronized (this.serverToFlushWorkerMap) {<a name="line.261"></a>
+<span class="sourceLineNo">262</span>        worker = serverToFlushWorkerMap.get(addr);<a name="line.262"></a>
+<span class="sourceLineNo">263</span>        if (worker == null) {<a name="line.263"></a>
+<span class="sourceLineNo">264</span>          // Create the flush worker<a name="line.264"></a>
+<span class="sourceLineNo">265</span>          worker = new FlushWorker(workerConf, this.conn, addr, this,<a name="line.265"></a>
+<span class="sourceLineNo">266</span>              perRegionServerBufferQueueSize, pool, executor);<a name="line.266"></a>
+<span class="sourceLineNo">267</span>          this.serverToFlushWorkerMap.put(addr, worker);<a name="line.267"></a>
+<span class="sourceLineNo">268</span>          executor.scheduleAtFixedRate(worker, flushPeriod, flushPeriod, TimeUnit.MILLISECONDS);<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>    }<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    return worker.getQueue();<a name="line.272"></a>
+<span class="sourceLineNo">273</span>  }<a name="line.273"></a>
+<span class="sourceLineNo">274</span><a name="line.274"></a>
+<span class="sourceLineNo">275</span>  @VisibleForTesting<a name="line.275"></a>
+<span class="sourceLineNo">276</span>  ClusterConnection getConnection() {<a name="line.276"></a>
+<span class="sourceLineNo">277</span>    return this.conn;<a name="line.277"></a>
+<span class="sourceLineNo">278</span>  }<a name="line.278"></a>
+<span class="sourceLineNo">279</span><a name="line.279"></a>
+<span class="sourceLineNo">280</span>  /**<a name="line.280"></a>
+<span class="sourceLineNo">281</span>   * HTableMultiplexerStatus keeps track of the current status of the HTableMultiplexer.<a name="line.281"></a>
+<span class="sourceLineNo">282</span>   * report the number of buffered requests and the number of the failed (dropped) requests<a name="line.282"></a>
+<span class="sourceLineNo">283</span>   * in total or on per region server basis.<a name="line.283"></a>
+<span class="sourceLineNo">284</span>   */<a name="line.284"></a>
+<span class="sourceLineNo">285</span>  @InterfaceAudience.Public<a name="line.285"></a>
+<span class="sourceLineNo">286</span>  @InterfaceStability.Evolving<a name="line.286"></a>
+<span class="sourceLineNo">287</span>  public static class HTableMultiplexerStatus {<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    private long totalFailedPutCounter;<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    private long totalBufferedPutCounter;<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    private long maxLatency;<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    private long overallAverageLatency;<a name="line.291"></a>
+<span class="sourceLineNo">292</span>    private Map&lt;String, Long&gt; serverToFailedCounterMap;<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    private Map&lt;String, Long&gt; serverToBufferedCounterMap;<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    private Map&lt;String, Long&gt; serverToAverageLatencyMap;<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    private Map&lt;String, Long&gt; serverToMaxLatencyMap;<a name="line.295"></a>
+<span class="sourceLineNo">296</span><a name="line.296"></a>
+<span class="sourceLineNo">297</span>    public HTableMultiplexerStatus(<a name="line.297"></a>
+<span class="sourceLineNo">298</span>        Map&lt;HRegionLocation, FlushWorker&gt; serverToFlushWorkerMap) {<a name="line.298"></a>
+<span class="sourceLineNo">299</span>      this.totalBufferedPutCounter = 0;<a name="line.299"></a>
+<span class="sourceLineNo">300</span>      this.totalFailedPutCounter = 0;<a name="line.300"></a>
+<span class="sourceLineNo">301</span>      this.maxLatency = 0;<a name="line.301"></a>
+<span class="sourceLineNo">302</span>      this.overallAverageLatency = 0;<a name="line.302"></a>
+<span class="sourceLineNo">303</span>      this.serverToBufferedCounterMap = new HashMap&lt;String, Long&gt;();<a name="line.303"></a>
+<span class="sourceLineNo">304</span>      this.serverToFailedCounterMap = new HashMap&lt;String, Long&gt;();<a name="line.304"></a>
+<span class="sourceLineNo">305</span>      this.serverToAverageLatencyMap = new HashMap&lt;String, Long&gt;();<a name="line.305"></a>
+<span class="sourceLineNo">306</span>      this.serverToMaxLatencyMap = new HashMap&lt;String, Long&gt;();<a name="line.306"></a>
+<span class="sourceLineNo">307</span>      this.initialize(serverToFlushWorkerMap);<a name="line.307"></a>
 <span class="sourceLineNo">308</span>    }<a name="line.308"></a>
 <span class="sourceLineNo">309</span><a name="line.309"></a>
-<span class="sourceLineNo">310</span>    public long getTotalBufferedCounter() {<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      return this.totalBufferedPutCounter;<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    }<a name="line.312"></a>
-<span class="sourceLineNo">313</span><a name="line.313"></a>
-<span class="sourceLineNo">314</span>    public long getTotalFailedCounter() {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>      return this.totalFailedPutCounter;<a name="line.315"></a>
-<span class="sourceLineNo">316</span>    }<a name="line.316"></a>
-<span class="sourceLineNo">317</span><a name="line.317"></a>
-<span class="sourceLineNo">318</span>    public long getMaxLatency() {<a name="line.318"></a>
-<span class="sourceLineNo">319</span>      return this.maxLatency;<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    }<a name="line.320"></a>
-<span class="sourceLineNo">321</span><a name="line.321"></a>
-<span class="sourceLineNo">322</span>    public long getOverallAverageLatency() {<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      return this.overallAverageLatency;<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>    public Map&lt;String, Long&gt; getBufferedCounterForEachRegionServer() {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>      return this.serverToBufferedCounterMap;<a name="line.327"></a>
-<span class="sourceLineNo">328</span>    }<a name="line.328"></a>
-<span class="sourceLineNo">329</span><a name="line.329"></a>
-<span class="sourceLineNo">330</span>    public Map&lt;String, Long&gt; getFailedCounterForEachRegionServer() {<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      return this.serverToFailedCounterMap;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    }<a name="line.332"></a>
-<span class="sourceLineNo">333</span><a name="line.333"></a>
-<span class="sourceLineNo">334</span>    public Map&lt;String, Long&gt; getMaxLatencyForEachRegionServer() {<a name="line.334"></a>
-<span class="sourceLineNo">335</span>      return this.serverToMaxLatencyMap;<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    }<a name="line.336"></a>
-<span class="sourceLineNo">337</span><a name="line.337"></a>
-<span class="sourceLineNo">338</span>    public Map&lt;String, Long&gt; getAverageLatencyForEachRegionServer() {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>      return this.serverToAverageLatencyMap;<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    }<a name="line.340"></a>
-<span class="sourceLineNo">341</span>  }<a name="line.341"></a>
-<span class="sourceLineNo">342</span><a name="line.342"></a>
-<span class="sourceLineNo">343</span>  private static class PutStatus {<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    private final HRegionInfo regionInfo;<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    private final Put put;<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    private final int maxAttempCount;<a name="line.346"></a>
-<span class="sourceLineNo">347</span><a name="line.347"></a>
-<span class="sourceLineNo">348</span>    public PutStatus(HRegionInfo regionInfo, Put put, int maxAttempCount) {<a name="line.348"></a>
-<span class="sourceLineNo">349</span>      this.regionInfo = regionInfo;<a name="line.349"></a>
-<span class="sourceLineNo">350</span>      this.put = put;<a name="line.350"></a>
-<span class="sourceLineNo">351</span>      this.maxAttempCount = maxAttempCount;<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    }<a name="line.352"></a>
-<span class="sourceLineNo">353</span>  }<a name="line.353"></a>
+<span class="sourceLineNo">310</span>    private void initialize(<a name="line.310"></a>
+<span class="sourceLineNo">311</span>        Map&lt;HRegionLocation, FlushWorker&gt; serverToFlushWorkerMap) {<a name="line.311"></a>
+<span class="sourceLineNo">312</span>      if (serverToFlushWorkerMap == null) {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>        return;<a name="line.313"></a>
+<span class="sourceLineNo">314</span>      }<a name="line.314"></a>
+<span class="sourceLineNo">315</span><a name="line.315"></a>
+<span class="sourceLineNo">316</span>      long averageCalcSum = 0;<a name="line.316"></a>
+<span class="sourceLineNo">317</span>      int averageCalcCount = 0;<a name="line.317"></a>
+<span class="sourceLineNo">318</span>      for (Map.Entry&lt;HRegionLocation, FlushWorker&gt; entry : serverToFlushWorkerMap<a name="line.318"></a>
+<span class="sourceLineNo">319</span>          .entrySet()) {<a name="line.319"></a>
+<span class="sourceLineNo">320</span>        HRegionLocation addr = entry.getKey();<a name="line.320"></a>
+<span class="sourceLineNo">321</span>        FlushWorker worker = entry.getValue();<a name="line.321"></a>
+<span class="sourceLineNo">322</span><a name="line.322"></a>
+<span class="sourceLineNo">323</span>        long bufferedCounter = worker.getTotalBufferedCount();<a name="line.323"></a>
+<span class="sourceLineNo">324</span>        long failedCounter = worker.getTotalFailedCount();<a name="line.324"></a>
+<span class="sourceLineNo">325</span>        long serverMaxLatency = worker.getMaxLatency();<a name="line.325"></a>
+<span class="sourceLineNo">326</span>        AtomicAverageCounter averageCounter = worker.getAverageLatencyCounter();<a name="line.326"></a>
+<span class="sourceLineNo">327</span>        // Get sum and count pieces separately to compute overall average<a name="line.327"></a>
+<span class="sourceLineNo">328</span>        SimpleEntry&lt;Long, Integer&gt; averageComponents = averageCounter<a name="line.328"></a>
+<span class="sourceLineNo">329</span>            .getComponents();<a name="line.329"></a>
+<span class="sourceLineNo">330</span>        long serverAvgLatency = averageCounter.getAndReset();<a name="line.330"></a>
+<span class="sourceLineNo">331</span><a name="line.331"></a>
+<span class="sourceLineNo">332</span>        this.totalBufferedPutCounter += bufferedCounter;<a name="line.332"></a>
+<span class="sourceLineNo">333</span>        this.totalFailedPutCounter += failedCounter;<a name="line.333"></a>
+<span class="sourceLineNo">334</span>        if (serverMaxLatency &gt; this.maxLatency) {<a name="line.334"></a>
+<span class="sourceLineNo">335</span>          this.maxLatency = serverMaxLatency;<a name="line.335"></a>
+<span class="sourceLineNo">336</span>        }<a name="line.336"></a>
+<span class="sourceLineNo">337</span>        averageCalcSum += averageComponents.getKey();<a name="line.337"></a>
+<span class="sourceLineNo">338</span>        averageCalcCount += averageComponents.getValue();<a name="line.338"></a>
+<span class="sourceLineNo">339</span><a name="line.339"></a>
+<span class="sourceLineNo">340</span>        this.serverToBufferedCounterMap.put(addr.getHostnamePort(),<a name="line.340"></a>
+<span class="sourceLineNo">341</span>            bufferedCounter);<a name="line.341"></a>
+<span class="sourceLineNo">342</span>        this.serverToFailedCounterMap<a name="line.342"></a>
+<span class="sourceLineNo">343</span>            .put(addr.getHostnamePort(),<a name="line.343"></a>
+<span class="sourceLineNo">344</span>            failedCounter);<a name="line.344"></a>
+<span class="sourceLineNo">345</span>        this.serverToAverageLatencyMap.put(addr.getHostnamePort(),<a name="line.345"></a>
+<span class="sourceLineNo">346</span>            serverAvgLatency);<a name="line.346"></a>
+<span class="sourceLineNo">347</span>        this.serverToMaxLatencyMap<a name="line.347"></a>
+<span class="sourceLineNo">348</span>            .put(addr.getHostnamePort(),<a name="line.348"></a>
+<span class="sourceLineNo">349</span>            serverMaxLatency);<a name="line.349"></a>
+<span class="sourceLineNo">350</span>      }<a name="line.350"></a>
+<span class="sourceLineNo">351</span>      this.overallAverageLatency = averageCalcCount != 0 ? averageCalcSum<a name="line.351"></a>
+<span class="sourceLineNo">352</span>          / averageCalcCount : 0;<a name="line.352"></a>
+<span class="sourceLineNo">353</span>    }<a name="line.353"></a>
 <span class="sourceLineNo">354</span><a name="line.354"></a>
-<span class="sourceLineNo">355</span>  /**<a name="line.355"></a>
-<span class="sourceLineNo">356</span>   * Helper to count the average over an interval until reset.<a name="line.356"></a>
-<span class="sourceLineNo">357</span>   */<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  private static class AtomicAverageCounter {<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    private long sum;<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    private int count;<a name="line.360"></a>
-<span class="sourceLineNo">361</span><a name="line.361"></a>
-<span class="sourceLineNo">362</span>    public AtomicAverageCounter() {<a name="line.362"></a>
-<span class="sourceLineNo">363</span>      this.sum = 0L;<a name="line.363"></a>
-<span class="sourceLineNo">364</span>      this.count = 0;<a name="line.364"></a>
+<span class="sourceLineNo">355</span>    public long getTotalBufferedCounter() {<a name="line.355"></a>
+<span class="sourceLineNo">356</span>      return this.totalBufferedPutCounter;<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>    public long getTotalFailedCounter() {<a name="line.359"></a>
+<span class="sourceLineNo">360</span>      return this.totalFailedPutCounter;<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>    public long getMaxLatency() {<a name="line.363"></a>
+<span class="sourceLineNo">364</span>      return this.maxLatency;<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>    public synchronized long getAndReset() {<a name="line.367"></a>
-<span class="sourceLineNo">368</span>      long result = this.get();<a name="line.368"></a>
-<span class="sourceLineNo">369</span>      this.reset();<a name="line.369"></a>
-<span class="sourceLineNo">370</span>      return result;<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>    public synchronized long get() {<a name="line.373"></a>
-<span class="sourceLineNo">374</span>      if (this.count == 0) {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>        return 0;<a name="line.375"></a>
-<span class="sourceLineNo">376</span>      }<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      return this.sum / this.count;<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>    public synchronized SimpleEntry&lt;Long, Integer&gt; getComponents() {<a name="line.380"></a>
-<span class="sourceLineNo">381</span>      return new SimpleEntry&lt;Long, Integer&gt;(sum, count);<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    }<a name="line.382"></a>
-<span class="sourceLineNo">383</span><a name="line.383"></a>
-<span class="sourceLineNo">384</span>    public synchronized void reset() {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>      this.sum = 0L;<a name="line.385"></a>
-<span class="sourceLineNo">386</span>      this.count = 0;<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    }<a name="line.387"></a>
-<span class="sourceLineNo">388</span><a name="line.388"></a>
-<span class="sourceLineNo">389</span>    public synchronized void add(long value) {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>      this.sum += value;<a name="line.390"></a>
-<span class="sourceLineNo">391</span>      this.count++;<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    }<a name="line.392"></a>
-<span class="sourceLineNo">393</span>  }<a name="line.393"></a>
-<span class="sourceLineNo">394</span><a name="line.394"></a>
-<span class="sourceLineNo">395</span>  private static class FlushWorker implements Runnable {<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    private final HRegionLocation addr;<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    private final LinkedBlockingQueue&lt;PutStatus&gt; queue;<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    private final HTableMultiplexer multiplexer;<a name="line.398"></a>
-<span class="sourceLineNo">399</span>    private final AtomicLong totalFailedPutCount = new AtomicLong(0);<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    private final AtomicInteger currentProcessingCount = new AtomicInteger(0);<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    private final AtomicAverageCounter averageLatency = new AtomicAverageCounter();<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    private final AtomicLong maxLatency = new AtomicLong(0);<a name="line.402"></a>
-<span class="sourceLineNo">403</span><a name="line.403"></a>
-<span class="sourceLineNo">404</span>    private final AsyncProcess ap;<a name="line.404"></a>
-<span class="sourceLineNo">405</span>    private final List&lt;PutStatus&gt; processingList = new ArrayList&lt;&gt;();<a name="line.405"></a>
-<span class="sourceLineNo">406</span>    private final ScheduledExecutorService executor;<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    private final int maxRetryInQueue;<a name="line.407"></a>
-<span class="sourceLineNo">408</span>    private final AtomicInteger retryInQueue = new AtomicInteger(0);<a name="line.408"></a>
-<span class="sourceLineNo">409</span><a name="line.409"></a>
-<span class="sourceLineNo">410</span>    public FlushWorker(Configuration conf, ClusterConnection conn, HRegionLocation addr,<a name="line.410"></a>
-<span class="sourceLineNo">411</span>        HTableMultiplexer htableMultiplexer, int perRegionServerBufferQueueSize,<a name="line.411"></a>
-<span class="sourceLineNo">412</span>        ExecutorService pool, ScheduledExecutorService executor) {<a name="line.412"></a>
-<span class="sourceLineNo">413</span>      this.addr = addr;<a name="line.413"></a>
-<span class="sourceLineNo">414</span>      this.multiplexer = htableMultiplexer;<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      this.queue = new LinkedBlockingQueue&lt;&gt;(perRegionServerBufferQueueSize);<a name="line.415"></a>
-<span class="sourceLineNo">416</span>      RpcRetryingCallerFactory rpcCallerFactory = RpcRetryingCallerFactory.instantiate(conf);<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      RpcControllerFactory rpcControllerFactory = RpcControllerFactory.instantiate(conf);<a name="line.417"></a>
-<span class="sourceLineNo">418</span>      this.ap = new AsyncProcess(conn, conf, pool, rpcCallerFactory, false, rpcControllerFactory);<a name="line.418"></a>
-<span class="sourceLineNo">419</span>      this.executor = executor;<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      this.maxRetryInQueue = conf.getInt(TABLE_MULTIPLEXER_MAX_RETRIES_IN_QUEUE, 10000);<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    }<a name="line.421"></a>
-<span class="sourceLineNo">422</span><a name="line.422"></a>
-<span class="sourceLineNo">423</span>    protected LinkedBlockingQueue&lt;PutStatus&gt; getQueue() {<a name="line.423"></a>
-<span class="sourceLineNo">424</span>      return this.queue;<a name="line.424"></a>
-<span class="sourceLineNo">425</span>    }<a name="line.425"></a>
-<span class="sourceLineNo">426</span><a name="line.426"></a>
-<span class="sourceLineNo">427</span>    public long getTotalFailedCount() {<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      return totalFailedPutCount.get();<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>    public long getTotalBufferedCount() {<a name="line.431"></a>
-<span class="sourceLineNo">432</span>      return queue.size() + currentProcessingCount.get();<a name="line.432"></a>
+<span class="sourceLineNo">367</span>    public long getOverallAverageLatency() {<a name="line.367"></a>
+<span class="sourceLineNo">368</span>      return this.overallAverageLatency;<a name="line.368"></a>
+<span class="sourceLineNo">369</span>    }<a name="line.369"></a>
+<span class="sourceLineNo">370</span><a name="line.370"></a>
+<span class="sourceLineNo">371</span>    public Map&lt;String, Long&gt; getBufferedCounterForEachRegionServer() {<a name="line.371"></a>
+<span class="sourceLineNo">372</span>      return this.serverToBufferedCounterMap;<a name="line.372"></a>
+<span class="sourceLineNo">373</span>    }<a name="line.373"></a>
+<span class="sourceLineNo">374</span><a name="line.374"></a>
+<span class="sourceLineNo">375</span>    public Map&lt;String, Long&gt; getFailedCounterForEachRegionServer() {<a name="line.375"></a>
+<span class="sourceLineNo">376</span>      return this.serverToFailedCounterMap;<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    }<a name="line.377"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>    public Map&lt;String, Long&gt; getMaxLatencyForEachRegionServer() {<a name="line.379"></a>
+<span class="sourceLineNo">380</span>      return this.serverToMaxLatencyMap;<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>    public Map&lt;String, Long&gt; getAverageLatencyForEachRegionServer() {<a name="line.383"></a>
+<span class="sourceLineNo">384</span>      return this.serverToAverageLatencyMap;<a name="line.384"></a>
+<span class="sourceLineNo">385</span>    }<a name="line.385"></a>
+<span class="sourceLineNo">386</span>  }<a name="line.386"></a>
+<span class="sourceLineNo">387</span><a name="line.387"></a>
+<span class="sourceLineNo">388</span>  @VisibleForTesting<a name="line.388"></a>
+<span class="sourceLineNo">389</span>  static class PutStatus {<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    final HRegionInfo regionInfo;<a name="line.390"></a>
+<span class="sourceLineNo">391</span>    final Put put;<a name="line.391"></a>
+<span class="sourceLineNo">392</span>    final int maxAttempCount;<a name="line.392"></a>
+<span class="sourceLineNo">393</span><a name="line.393"></a>
+<span class="sourceLineNo">394</span>    public PutStatus(HRegionInfo regionInfo, Put put, int maxAttempCount) {<a name="line.394"></a>
+<span class="sourceLineNo">395</span>      this.regionInfo = regionInfo;<a name="line.395"></a>
+<span class="sourceLineNo">396</span>      this.put = put;<a name="line.396"></a>
+<span class="sourceLineNo">397</span>      this.maxAttempCount = maxAttempCount;<a name="line.397"></a>
+<span class="sourceLineNo">398</span>    }<a name="line.398"></a>
+<span class="sourceLineNo">399</span>  }<a name="line.399"></a>
+<span class="sourceLineNo">400</span><a name="line.400"></a>
+<span class="sourceLineNo">401</span>  /**<a name="line.401"></a>
+<span class="sourceLineNo">402</span>   * Helper to count the average over an interval until reset.<a name="line.402"></a>
+<span class="sourceLineNo">403</span>   */<a name="line.403"></a>
+<span class="sourceLineNo">404</span>  private static class AtomicAverageCounter {<a name="line.404"></a>
+<span class="sourceLineNo">405</span>    private long sum;<a name="line.405"></a>
+<span class="sourceLineNo">406</span>    private int count;<a name="line.406"></a>
+<span class="sourceLineNo">407</span><a name="line.407"></a>
+<span class="sourceLineNo">408</span>    public AtomicAverageCounter() {<a name="line.408"></a>
+<span class="sourceLineNo">409</span>      this.sum = 0L;<a name="line.409"></a>
+<span class="sourceLineNo">410</span>      this.count = 0;<a name="line.410"></a>
+<span class="sourceLineNo">411</span>    }<a name="line.411"></a>
+<span class="sourceLineNo">412</span><a name="line.412"></a>
+<span class="sourceLineNo">413</span>    public synchronized long getAndReset() {<a name="line.413"></a>
+<span class="sourceLineNo">414</span>      long result = this.get();<a name="line.414"></a>
+<span class="sourceLineNo">415</span>      this.reset();<a name="line.415"></a>
+<span class="sourceLineNo">416</span>      return result;<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>    public synchronized long get() {<a name="line.419"></a>
+<span class="sourceLineNo">420</span>      if (this.count == 0) {<a name="line.420"></a>
+<span class="sourceLineNo">421</span>        return 0;<a name="line.421"></a>
+<span class="sourceLineNo">422</span>      }<a name="line.422"></a>
+<span class="sourceLineNo">423</span>      return this.sum / this.count;<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>    public synchronized SimpleEntry&lt;Long, Integer&gt; getComponents() {<a name="line.426"></a>
+<span class="sourceLineNo">427</span>      return new SimpleEntry&lt;Long, Integer&gt;(sum, count);<a name="line.427"></a>
+<span class="sourceLineNo">428</span>    }<a name="line.428"></a>
+<span class="sourceLineNo">429</span><a name="line.429"></a>
+<span class="sourceLineNo">430</span>    public synchronized void reset() {<a name="line.430"></a>
+<span class="sourceLineNo">431</span>      this.sum = 0L;<a name="line.431"></a>
+<span class="sourceLineNo">432</span>      this.count = 0;<a name="line.432"></a>
 <span class="sourceLineNo">433</span>    }<a name="line.433"></a>
 <span class="sourceLineNo">434</span><a name="line.434"></a>
-<span class="sourceLineNo">435</span>    public AtomicAverageCounter getAverageLatencyCounter() {<a name="line.435"></a>
-<span class="sourceLineNo">436</span>      return this.averageLatency;<a name="line.436"></a>
-<span class="sourceLineNo">437</span>    }<a name="line.437"></a>
-<span class="sourceLineNo">438</span><a name="line.438"></a>
-<span class="sourceLineNo">439</span>    public long getMaxLatency() {<a name="line.439"></a>
-<span class="sourceLineNo">440</span>      return this.maxLatency.getAndSet(0);<a name="line.440"></a>
-<span class="sourceLineNo">441</span>    }<a name="line.441"></a>
-<span class="sourceLineNo">442</span><a name="line.442"></a>
-<span class="sourceLineNo">443</span>    private boolean resubmitFailedPut(PutStatus ps, HRegionLocation oldLoc) throws IOException {<a name="line.443"></a>
-<span class="sourceLineNo">444</span>      // Decrease the retry count<a name="line.444"></a>
-<span class="sourceLineNo">445</span>      final int retryCount = ps.maxAttempCount - 1;<a name="line.445"></a>
-<span class="sourceLineNo">446</span><a name="line.446"></a>
-<span class="sourceLineNo">447</span>      if (retryCount &lt;= 0) {<a name="line.447"></a>
-<span class="sourceLineNo">448</span>        // Update the failed counter and no retry any more.<a name="line.448"></a>
-<span class="sourceLineNo">449</span>        return false;<a name="line.449"></a>
-<span class="sourceLineNo">450</span>      }<a name="line.450"></a>
-<span class="sourceLineNo">451</span><a name="line.451"></a>
-<span class="sourceLineNo">452</span>      int cnt = retryInQueue.incrementAndGet();<a name="line.452"></a>
-<span class="sourceLineNo">453</span>      if (cnt &gt; maxRetryInQueue) {<a name="line.453"></a>
-<span class="sourceLineNo">454</span>        // Too many Puts in queue for resubmit, give up this<a name="line.454"></a>
-<span class="sourceLineNo">455</span>        retryInQueue.decrementAndGet();<a name="line.455"></a>
-<span class="sourceLineNo">456</span>        return false;<a name="line.456"></a>
-<span class="sourceLineNo">457</span>      }<a name="line.457"></a>
-<span class="sourceLineNo">458</span><a name="line.458"></a>
-<span class="sourceLineNo">459</span>      final Put failedPut = ps.put;<a name="line.459"></a>
-<span class="sourceLineNo">460</span>      // The currentPut is failed. So get the table name for the currentPut.<a name="line.460"></a>
-<span class="sourceLineNo">461</span>      final TableName tableName = ps.regionInfo.getTable();<a name="line.461"></a>
-<span class="sourceLineNo">462</span><a name="line.462"></a>
-<span class="sourceLineNo">463</span>      long delayMs = ConnectionUtils.getPauseTime(multiplexer.flushPeriod,<a name="line.463"></a>
-<span class="sourceLineNo">464</span>        multiplexer.maxAttempts - retryCount - 1);<a name="line.464"></a>
-<span class="sourceLineNo">465</span>      if (LOG.isDebugEnabled()) {<a name="line.465"></a>
-<span class="sourceLineNo">466</span>        LOG.debug("resubmitting after " + delayMs + "ms: " + retryCount);<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>      executor.schedule(new Runnable() {<a name="line.469"></a>
-<span class="sourceLineNo">470</span>        @Override<a name="line.470"></a>
-<span class="sourceLineNo">471</span>        public void run() {<a name="line.471"></a>
-<span class="sourceLineNo">472</span>          boolean succ = false;<a name="line.472"></a>
-<span class="sourceLineNo">473</span>          try {<a name="line.473"></a>
-<span class="sourceLineNo">474</span>            succ = FlushWorker.this.multiplexer.put(tableName, failedPut, retryCount);<a name="line.474"></a>
-<span class="sourceLineNo">475</span>          } finally {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>            FlushWorker.this.retryInQueue.decrementAndGet();<a name="line.476"></a>
-<span class="sourceLineNo">477</span>            if (!succ) {<a name="line.477"></a>
-<span class="sourceLineNo">478</span>              FlushWorker.this.totalFailedPutCount.incrementAndGet();<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>      }, delayMs, TimeUnit.MILLISECONDS);<a name="line.482"></a>
-<span class="sourceLineNo">483</span>      return true;<a name="line.483"></a>
+<span class="sourceLineNo">435</span>    public synchronized void add(long value) {<a name="line.435"></a>
+<span class="sourceLineNo">436</span>      this.sum += value;<a name="line.436"></a>
+<span class="sourceLineNo">437</span>      this.count++;<a name="line.437"></a>
+<span class="sourceLineNo">438</span>    }<a name="line.438"></a>
+<span class="sourceLineNo">439</span>  }<a name="line.439"></a>
+<span class="sourceLineNo">440</span><a name="line.440"></a>
+<span class="sourceLineNo">441</span>  @VisibleForTesting<a name="line.441"></a>
+<span class="sourceLineNo">442</span>  static class FlushWorker implements Runnable {<a name="line.442"></a>
+<span class="sourceLineNo">443</span>    private final HRegionLocation addr;<a name="line.443"></a>
+<span class="sourceLineNo">444</span>    private final LinkedBlockingQueue&lt;PutStatus&gt; queue;<a name="line.444"></a>
+<span class="sourceLineNo">445</span>    private final HTableMultiplexer multiplexer;<a name="line.445"></a>
+<span class="sourceLineNo">446</span>    private final AtomicLong totalFailedPutCount = new AtomicLong(0);<a name="line.446"></a>
+<span class="sourceLineNo">447</span>    private final AtomicInteger currentProcessingCount = new AtomicInteger(0);<a name="line.447"></a>
+<span class="sourceLineNo">448</span>    private final AtomicAverageCounter averageLatency = new AtomicAverageCounter();<a name="line.448"></a>
+<span class="sourceLineNo">449</span>    private final AtomicLong maxLatency = new AtomicLong(0);<a name="line.449"></a>
+<span class="sourceLineNo">450</span><a name="line.450"></a>
+<span class="sourceLineNo">451</span>    private final AsyncProcess ap;<a name="line.451"></a>
+<span class="sourceLineNo">452</span>    private final List&lt;PutStatus&gt; processingList = new ArrayList&lt;&gt;();<a name="line.452"></a>
+<span class="sourceLineNo">453</span>    private final ScheduledExecutorService executor;<a name="line.453"></a>
+<span class="sourceLineNo">454</span>    private final int maxRetryInQueue;<a name="line.454"></a>
+<span class="sourceLineNo">455</span>    private final AtomicInteger retryInQueue = new AtomicInteger(0);<a name="line.455"></a>
+<span class="sourceLineNo">456</span><a name="line.456"></a>
+<span class="sourceLineNo">457</span>    public FlushWorker(Configuration conf, ClusterConnection conn, HRegionLocation addr,<a name="line.457"></a>
+<span class="sourceLineNo">458</span>        HTableMultiplexer htableMultiplexer, int perRegionServerBufferQueueSize,<a name="line.458"></a>
+<span class="sourceLineNo">459</span>        ExecutorService pool, ScheduledExecutorService executor) {<a name="line.459"></a>
+<span class="sourceLineNo">460</span>      this.addr = addr;<a name="line.460"></a>
+<span class="sourceLineNo">461</span>      this.multiplexer = htableMultiplexer;<a name="line.461"></a>
+<span class="sourceLineNo">462</span>      this.queue = new LinkedBlockingQueue&lt;&gt;(perRegionServerBufferQueueSize);<a name="line.462"></a>
+<span class="sourceLineNo">463</span>      RpcRetryingCallerFactory rpcCallerFactory = RpcRetryingCallerFactory.instantiate(conf);<a name="line.463"></a>
+<span class="sourceLineNo">464</span>      RpcControllerFactory rpcControllerFactory = RpcControllerFactory.instantiate(conf);<a name="line.464"></a>
+<span class="sourceLineNo">465</span>      this.ap = new AsyncProcess(conn, conf, pool, rpcCallerFactory, false, rpcControllerFactory);<a name="line.465"></a>
+<span class="sourceLineNo">466</span>      this.executor = executor;<a name="line.466"></a>
+<span class="sourceLineNo">467</span>      this.maxRetryInQueue = conf.getInt(TABLE_MULTIPLEXER_MAX_RETRIES_IN_QUEUE, 10000);<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>    protected LinkedBlockingQueue&lt;PutStatus&gt; getQueue() {<a name="line.470"></a>
+<span class="sourceLineNo">471</span>      return this.queue;<a name="line.471"></a>
+<span class="sourceLine

<TRUNCATED>

[47/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/apidocs/src-html/org/apache/hadoop/hbase/client/TableState.State.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/client/TableState.State.html b/apidocs/src-html/org/apache/hadoop/hbase/client/TableState.State.html
deleted file mode 100644
index 9423718..0000000
--- a/apidocs/src-html/org/apache/hadoop/hbase/client/TableState.State.html
+++ /dev/null
@@ -1,292 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html lang="en">
-<head>
-<title>Source code</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-</head>
-<body>
-<div class="sourceContainer">
-<pre><span class="sourceLineNo">001</span>/**<a name="line.1"></a>
-<span class="sourceLineNo">002</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.2"></a>
-<span class="sourceLineNo">003</span> * or more contributor license agreements.  See the NOTICE file<a name="line.3"></a>
-<span class="sourceLineNo">004</span> * distributed with this work for additional information<a name="line.4"></a>
-<span class="sourceLineNo">005</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.5"></a>
-<span class="sourceLineNo">006</span> * to you under the Apache License, Version 2.0 (the<a name="line.6"></a>
-<span class="sourceLineNo">007</span> * "License"); you may not use this file except in compliance<a name="line.7"></a>
-<span class="sourceLineNo">008</span> * with the License.  You may obtain a copy of the License at<a name="line.8"></a>
-<span class="sourceLineNo">009</span> *<a name="line.9"></a>
-<span class="sourceLineNo">010</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.10"></a>
-<span class="sourceLineNo">011</span> *<a name="line.11"></a>
-<span class="sourceLineNo">012</span> * Unless required by applicable law or agreed to in writing, software<a name="line.12"></a>
-<span class="sourceLineNo">013</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.13"></a>
-<span class="sourceLineNo">014</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.14"></a>
-<span class="sourceLineNo">015</span> * See the License for the specific language governing permissions and<a name="line.15"></a>
-<span class="sourceLineNo">016</span> * limitations under the License.<a name="line.16"></a>
-<span class="sourceLineNo">017</span> */<a name="line.17"></a>
-<span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.client;<a name="line.18"></a>
-<span class="sourceLineNo">019</span><a name="line.19"></a>
-<span class="sourceLineNo">020</span>import com.google.protobuf.InvalidProtocolBufferException;<a name="line.20"></a>
-<span class="sourceLineNo">021</span>import org.apache.hadoop.hbase.TableName;<a name="line.21"></a>
-<span class="sourceLineNo">022</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos;<a name="line.25"></a>
-<span class="sourceLineNo">026</span><a name="line.26"></a>
-<span class="sourceLineNo">027</span>/**<a name="line.27"></a>
-<span class="sourceLineNo">028</span> * Represents table state.<a name="line.28"></a>
-<span class="sourceLineNo">029</span> */<a name="line.29"></a>
-<span class="sourceLineNo">030</span>@InterfaceAudience.Private<a name="line.30"></a>
-<span class="sourceLineNo">031</span>public class TableState {<a name="line.31"></a>
-<span class="sourceLineNo">032</span><a name="line.32"></a>
-<span class="sourceLineNo">033</span>  @InterfaceAudience.Public<a name="line.33"></a>
-<span class="sourceLineNo">034</span>  @InterfaceStability.Evolving<a name="line.34"></a>
-<span class="sourceLineNo">035</span>  public static enum State {<a name="line.35"></a>
-<span class="sourceLineNo">036</span>    ENABLED,<a name="line.36"></a>
-<span class="sourceLineNo">037</span>    DISABLED,<a name="line.37"></a>
-<span class="sourceLineNo">038</span>    DISABLING,<a name="line.38"></a>
-<span class="sourceLineNo">039</span>    ENABLING;<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>     * Covert from PB version of State<a name="line.42"></a>
-<span class="sourceLineNo">043</span>     *<a name="line.43"></a>
-<span class="sourceLineNo">044</span>     * @param state convert from<a name="line.44"></a>
-<span class="sourceLineNo">045</span>     * @return POJO<a name="line.45"></a>
-<span class="sourceLineNo">046</span>     */<a name="line.46"></a>
-<span class="sourceLineNo">047</span>    public static State convert(HBaseProtos.TableState.State state) {<a name="line.47"></a>
-<span class="sourceLineNo">048</span>      State ret;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>      switch (state) {<a name="line.49"></a>
-<span class="sourceLineNo">050</span>      case ENABLED:<a name="line.50"></a>
-<span class="sourceLineNo">051</span>        ret = State.ENABLED;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>        break;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>      case DISABLED:<a name="line.53"></a>
-<span class="sourceLineNo">054</span>        ret = State.DISABLED;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>        break;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>      case DISABLING:<a name="line.56"></a>
-<span class="sourceLineNo">057</span>        ret = State.DISABLING;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>        break;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>      case ENABLING:<a name="line.59"></a>
-<span class="sourceLineNo">060</span>        ret = State.ENABLING;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>        break;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>      default:<a name="line.62"></a>
-<span class="sourceLineNo">063</span>        throw new IllegalStateException(state.toString());<a name="line.63"></a>
-<span class="sourceLineNo">064</span>      }<a name="line.64"></a>
-<span class="sourceLineNo">065</span>      return ret;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    }<a name="line.66"></a>
-<span class="sourceLineNo">067</span><a name="line.67"></a>
-<span class="sourceLineNo">068</span>    /**<a name="line.68"></a>
-<span class="sourceLineNo">069</span>     * Covert to PB version of State<a name="line.69"></a>
-<span class="sourceLineNo">070</span>     *<a name="line.70"></a>
-<span class="sourceLineNo">071</span>     * @return PB<a name="line.71"></a>
-<span class="sourceLineNo">072</span>     */<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    public HBaseProtos.TableState.State convert() {<a name="line.73"></a>
-<span class="sourceLineNo">074</span>      HBaseProtos.TableState.State state;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>      switch (this) {<a name="line.75"></a>
-<span class="sourceLineNo">076</span>      case ENABLED:<a name="line.76"></a>
-<span class="sourceLineNo">077</span>        state = HBaseProtos.TableState.State.ENABLED;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>        break;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>      case DISABLED:<a name="line.79"></a>
-<span class="sourceLineNo">080</span>        state = HBaseProtos.TableState.State.DISABLED;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>        break;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>      case DISABLING:<a name="line.82"></a>
-<span class="sourceLineNo">083</span>        state = HBaseProtos.TableState.State.DISABLING;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>        break;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>      case ENABLING:<a name="line.85"></a>
-<span class="sourceLineNo">086</span>        state = HBaseProtos.TableState.State.ENABLING;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>        break;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>      default:<a name="line.88"></a>
-<span class="sourceLineNo">089</span>        throw new IllegalStateException(this.toString());<a name="line.89"></a>
-<span class="sourceLineNo">090</span>      }<a name="line.90"></a>
-<span class="sourceLineNo">091</span>      return state;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>    }<a name="line.92"></a>
-<span class="sourceLineNo">093</span><a name="line.93"></a>
-<span class="sourceLineNo">094</span>  }<a name="line.94"></a>
-<span class="sourceLineNo">095</span><a name="line.95"></a>
-<span class="sourceLineNo">096</span>  private final TableName tableName;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>  private final State state;<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>   * Create instance of TableState.<a name="line.100"></a>
-<span class="sourceLineNo">101</span>   * @param tableName name of the table<a name="line.101"></a>
-<span class="sourceLineNo">102</span>   * @param state table state<a name="line.102"></a>
-<span class="sourceLineNo">103</span>   */<a name="line.103"></a>
-<span class="sourceLineNo">104</span>  public TableState(TableName tableName, State state) {<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    this.tableName = tableName;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    this.state = state;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>  }<a name="line.107"></a>
-<span class="sourceLineNo">108</span><a name="line.108"></a>
-<span class="sourceLineNo">109</span>  /**<a name="line.109"></a>
-<span class="sourceLineNo">110</span>   * @return table state<a name="line.110"></a>
-<span class="sourceLineNo">111</span>   */<a name="line.111"></a>
-<span class="sourceLineNo">112</span>  public State getState() {<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    return state;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>  }<a name="line.114"></a>
-<span class="sourceLineNo">115</span><a name="line.115"></a>
-<span class="sourceLineNo">116</span>  /**<a name="line.116"></a>
-<span class="sourceLineNo">117</span>   * Table name for state<a name="line.117"></a>
-<span class="sourceLineNo">118</span>   *<a name="line.118"></a>
-<span class="sourceLineNo">119</span>   * @return milliseconds<a name="line.119"></a>
-<span class="sourceLineNo">120</span>   */<a name="line.120"></a>
-<span class="sourceLineNo">121</span>  public TableName getTableName() {<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    return tableName;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>  }<a name="line.123"></a>
-<span class="sourceLineNo">124</span><a name="line.124"></a>
-<span class="sourceLineNo">125</span>  /**<a name="line.125"></a>
-<span class="sourceLineNo">126</span>   * Check that table in given states<a name="line.126"></a>
-<span class="sourceLineNo">127</span>   * @param state state<a name="line.127"></a>
-<span class="sourceLineNo">128</span>   * @return true if satisfies<a name="line.128"></a>
-<span class="sourceLineNo">129</span>   */<a name="line.129"></a>
-<span class="sourceLineNo">130</span>  public boolean inStates(State state) {<a name="line.130"></a>
-<span class="sourceLineNo">131</span>    return this.state.equals(state);<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>  /**<a name="line.134"></a>
-<span class="sourceLineNo">135</span>   * Check that table in given states<a name="line.135"></a>
-<span class="sourceLineNo">136</span>   * @param states state list<a name="line.136"></a>
-<span class="sourceLineNo">137</span>   * @return true if satisfies<a name="line.137"></a>
-<span class="sourceLineNo">138</span>   */<a name="line.138"></a>
-<span class="sourceLineNo">139</span>  public boolean inStates(State... states) {<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    for (State s : states) {<a name="line.140"></a>
-<span class="sourceLineNo">141</span>      if (s.equals(this.state))<a name="line.141"></a>
-<span class="sourceLineNo">142</span>        return true;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    }<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    return false;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>  }<a name="line.145"></a>
-<span class="sourceLineNo">146</span><a name="line.146"></a>
-<span class="sourceLineNo">147</span><a name="line.147"></a>
-<span class="sourceLineNo">148</span>  /**<a name="line.148"></a>
-<span class="sourceLineNo">149</span>   * Covert to PB version of TableState<a name="line.149"></a>
-<span class="sourceLineNo">150</span>   * @return PB<a name="line.150"></a>
-<span class="sourceLineNo">151</span>   */<a name="line.151"></a>
-<span class="sourceLineNo">152</span>  public HBaseProtos.TableState convert() {<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    return HBaseProtos.TableState.newBuilder()<a name="line.153"></a>
-<span class="sourceLineNo">154</span>        .setState(this.state.convert()).build();<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>   * Covert from PB version of TableState<a name="line.158"></a>
-<span class="sourceLineNo">159</span>   *<a name="line.159"></a>
-<span class="sourceLineNo">160</span>   * @param tableName table this state of<a name="line.160"></a>
-<span class="sourceLineNo">161</span>   * @param tableState convert from<a name="line.161"></a>
-<span class="sourceLineNo">162</span>   * @return POJO<a name="line.162"></a>
-<span class="sourceLineNo">163</span>   */<a name="line.163"></a>
-<span class="sourceLineNo">164</span>  public static TableState convert(TableName tableName, HBaseProtos.TableState tableState) {<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    TableState.State state = State.convert(tableState.getState());<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    return new TableState(tableName, state);<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>  public static TableState parseFrom(TableName tableName, byte[] bytes)<a name="line.169"></a>
-<span class="sourceLineNo">170</span>      throws DeserializationException {<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    try {<a name="line.171"></a>
-<span class="sourceLineNo">172</span>      return convert(tableName, HBaseProtos.TableState.parseFrom(bytes));<a name="line.172"></a>
-<span class="sourceLineNo">173</span>    } catch (InvalidProtocolBufferException e) {<a name="line.173"></a>
-<span class="sourceLineNo">174</span>      throw new DeserializationException(e);<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    }<a name="line.175"></a>
-<span class="sourceLineNo">176</span>  }<a name="line.176"></a>
-<span class="sourceLineNo">177</span><a name="line.177"></a>
-<span class="sourceLineNo">178</span>  /**<a name="line.178"></a>
-<span class="sourceLineNo">179</span>   * Static version of state checker<a name="line.179"></a>
-<span class="sourceLineNo">180</span>   * @param state desired<a name="line.180"></a>
-<span class="sourceLineNo">181</span>   * @param target equals to any of<a name="line.181"></a>
-<span class="sourceLineNo">182</span>   * @return true if satisfies<a name="line.182"></a>
-<span class="sourceLineNo">183</span>   */<a name="line.183"></a>
-<span class="sourceLineNo">184</span>  public static boolean isInStates(State state, State... target) {<a name="line.184"></a>
-<span class="sourceLineNo">185</span>    for (State tableState : target) {<a name="line.185"></a>
-<span class="sourceLineNo">186</span>      if (state.equals(tableState))<a name="line.186"></a>
-<span class="sourceLineNo">187</span>        return true;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    }<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    return false;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>  }<a name="line.190"></a>
-<span class="sourceLineNo">191</span><a name="line.191"></a>
-<span class="sourceLineNo">192</span>  @Override<a name="line.192"></a>
-<span class="sourceLineNo">193</span>  public boolean equals(Object o) {<a name="line.193"></a>
-<span class="sourceLineNo">194</span>    if (this == o) return true;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    if (o == null || getClass() != o.getClass()) return false;<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>    TableState that = (TableState) o;<a name="line.197"></a>
-<span class="sourceLineNo">198</span><a name="line.198"></a>
-<span class="sourceLineNo">199</span>    if (state != that.state) return false;<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    if (tableName != null ? !tableName.equals(that.tableName) : that.tableName != null)<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      return false;<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>    return true;<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>  @Override<a name="line.206"></a>
-<span class="sourceLineNo">207</span>  public int hashCode() {<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    int result = (tableName != null ? tableName.hashCode() : 0);<a name="line.208"></a>
-<span class="sourceLineNo">209</span>    result = 31 * result + (state != null ? state.hashCode() : 0);<a name="line.209"></a>
-<span class="sourceLineNo">210</span>    return result;<a name="line.210"></a>
-<span class="sourceLineNo">211</span>  }<a name="line.211"></a>
-<span class="sourceLineNo">212</span><a name="line.212"></a>
-<span class="sourceLineNo">213</span>  @Override<a name="line.213"></a>
-<span class="sourceLineNo">214</span>  public String toString() {<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    return "TableState{" +<a name="line.215"></a>
-<span class="sourceLineNo">216</span>        ", tableName=" + tableName +<a name="line.216"></a>
-<span class="sourceLineNo">217</span>        ", state=" + state +<a name="line.217"></a>
-<span class="sourceLineNo">218</span>        '}';<a name="line.218"></a>
-<span class="sourceLineNo">219</span>  }<a name="line.219"></a>
-<span class="sourceLineNo">220</span>}<a name="line.220"></a>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</pre>
-</div>
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/book.html
----------------------------------------------------------------------
diff --git a/book.html b/book.html
index 7a94d84..e2df3f4 100644
--- a/book.html
+++ b/book.html
@@ -33059,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-02-07 14:48:49 UTC
+Last updated 2016-02-09 14:46:24 UTC
 </div>
 </div>
 </body>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/bulk-loads.html
----------------------------------------------------------------------
diff --git a/bulk-loads.html b/bulk-loads.html
index 893075e..a4615f1 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="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <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-02-07</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-09</li>
             </p>
                 </div>
 


[46/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/checkstyle-aggregate.html
----------------------------------------------------------------------
diff --git a/checkstyle-aggregate.html b/checkstyle-aggregate.html
index b2efc87..5fcb932 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="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <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>1673</td>
 <td>0</td>
 <td>0</td>
-<td>12850</td></tr></table></div>
+<td>12772</td></tr></table></div>
 <div class="section">
 <h2><a name="Files"></a>Files</h2>
 <table border="0" class="table table-striped">
@@ -751,7 +751,7 @@
 <td><a href="#org.apache.hadoop.hbase.client.HTableMultiplexer.java">org/apache/hadoop/hbase/client/HTableMultiplexer.java</a></td>
 <td>0</td>
 <td>0</td>
-<td>6</td></tr>
+<td>5</td></tr>
 <tr class="b">
 <td><a href="#org.apache.hadoop.hbase.client.HTableWrapper.java">org/apache/hadoop/hbase/client/HTableWrapper.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>19</td></tr>
+<td>18</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>279</td></tr>
+<td>211</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>
@@ -4226,7 +4226,7 @@
 <td><a href="#org.apache.hadoop.hbase.regionserver.wal.WALUtil.java">org/apache/hadoop/hbase/regionserver/wal/WALUtil.java</a></td>
 <td>0</td>
 <td>0</td>
-<td>4</td></tr>
+<td>2</td></tr>
 <tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.wal.WriterBase.java">org/apache/hadoop/hbase/regionserver/wal/WriterBase.java</a></td>
 <td>0</td>
@@ -5836,7 +5836,7 @@
 <td><a href="#org.apache.hadoop.hbase.wal.WALKey.java">org/apache/hadoop/hbase/wal/WALKey.java</a></td>
 <td>0</td>
 <td>0</td>
-<td>15</td></tr>
+<td>9</td></tr>
 <tr class="a">
 <td><a href="#org.apache.hadoop.hbase.wal.WALPrettyPrinter.java">org/apache/hadoop/hbase/wal/WALPrettyPrinter.java</a></td>
 <td>0</td>
@@ -6033,7 +6033,7 @@
 <tr class="a">
 <td></td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_blocks.html#NeedBraces">NeedBraces</a></td>
-<td>1794</td>
+<td>1790</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
 <tr class="b">
 <td>coding</td>
@@ -6094,7 +6094,7 @@
 <ul>
 <li>ordered: <tt>&quot;true&quot;</tt></li>
 <li>sortStaticImportsAlphabetically: <tt>&quot;true&quot;</tt></li></ul></td>
-<td>964</td>
+<td>961</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
 <tr class="a">
 <td></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>4663</td>
+<td>4598</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>759</td>
+<td>766</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>3423</td>
+<td>3414</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
 <tr class="b">
 <td>misc</td>
@@ -6152,7 +6152,7 @@
 <tr class="a">
 <td></td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_sizes.html#MethodLength">MethodLength</a></td>
-<td>36</td>
+<td>32</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
 <tr class="b">
 <td>whitespace</td>
@@ -15185,68 +15185,62 @@
 <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 'com.google.common.util.concurrent.ThreadFactoryBuilder' import.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/client/HTableMultiplexer.html#L53">53</a></td></tr>
+<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/HTableMultiplexer.html#L146">146</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/HTableMultiplexer.html#L122">122</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/client/HTableMultiplexer.html#L147">147</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/HTableMultiplexer.html#L123">123</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/client/HTableMultiplexer.html#L157">157</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/HTableMultiplexer.html#L133">133</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/client/HTableMultiplexer.html#L158">158</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/HTableMultiplexer.html#L134">134</a></td></tr>
-<tr class="b">
-<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/client/HTableMultiplexer.html#L138">138</a></td></tr></table></div>
+<td><a href="./xref/org/apache/hadoop/hbase/client/HTableMultiplexer.html#L162">162</a></td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.HTableWrapper.java">org/apache/hadoop/hbase/client/HTableWrapper.java</h3>
 <table border="0" class="table table-striped">
-<tr class="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.Descriptors.MethodDescriptor' import.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/HTableWrapper.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/client/HTableWrapper.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>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/HTableWrapper.html#L137">137</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>
@@ -15255,13 +15249,13 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.Increment.java">org/apache/hadoop/hbase/client/Increment.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
@@ -15270,13 +15264,13 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.MasterCallable.java">org/apache/hadoop/hbase/client/MasterCallable.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
@@ -15285,13 +15279,13 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.MasterKeepAliveConnection.java">org/apache/hadoop/hbase/client/MasterKeepAliveConnection.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
@@ -15300,61 +15294,61 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.MetaCache.java">org/apache/hadoop/hbase/client/MetaCache.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'cachedRegionLocations' have incorrect indentation level 2, expected level should be 4.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetaCache.html#L52">52</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>'new' have incorrect indentation level 2, expected level should be 4.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetaCache.html#L53">53</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/client/MetaCache.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>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetaCache.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>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetaCache.html#L106">106</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/client/MetaCache.html#L191">191</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/client/MetaCache.html#L299">299</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/client/MetaCache.html#L327">327</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>
@@ -15363,289 +15357,289 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.MetricsConnection.java">org/apache/hadoop/hbase/client/MetricsConnection.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'com.codahale.metrics.Counter' import.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetricsConnection.html#L23">23</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'com.codahale.metrics.JmxReporter' import.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetricsConnection.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>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'java.util.concurrent.ConcurrentHashMap' import.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetricsConnection.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>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'java.util.concurrent.ConcurrentMap' import.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetricsConnection.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>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/client/MetricsConnection.html#L383">383</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 8, expected level should be 10.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetricsConnection.html#L385">385</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 call' child have incorrect indentation level 8, expected level should be 10.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetricsConnection.html#L385">385</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 8, expected level should be 10.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetricsConnection.html#L386">386</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 6, expected level should be 8.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetricsConnection.html#L387">387</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 8, expected level should be 10.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetricsConnection.html#L389">389</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 8, expected level should be 10.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetricsConnection.html#L389">389</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>'switch' have incorrect indentation level 8, expected level should be 10.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetricsConnection.html#L390">390</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 12.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetricsConnection.html#L391">391</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 14.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetricsConnection.html#L392">392</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 call' child have incorrect indentation level 10, expected level should be 14.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetricsConnection.html#L392">392</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 14.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetricsConnection.html#L393">393</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 12.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetricsConnection.html#L394">394</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 14.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetricsConnection.html#L395">395</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 call' child have incorrect indentation level 10, expected level should be 14.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetricsConnection.html#L395">395</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 14.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetricsConnection.html#L396">396</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 12.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetricsConnection.html#L397">397</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 14.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetricsConnection.html#L398">398</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 call' child have incorrect indentation level 10, expected level should be 14.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetricsConnection.html#L398">398</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 14.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetricsConnection.html#L399">399</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 12.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetricsConnection.html#L400">400</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 14.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetricsConnection.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>indentation</td>
 <td>Indentation</td>
 <td>'method call' child have incorrect indentation level 10, expected level should be 14.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetricsConnection.html#L401">401</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 14.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetricsConnection.html#L402">402</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 12.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetricsConnection.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>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 10, expected level should be 14.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetricsConnection.html#L404">404</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>'switch rcurly' have incorrect indentation level 8, expected level should be 10.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetricsConnection.html#L405">405</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 6, expected level should be 8.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetricsConnection.html#L406">406</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 8, expected level should be 10.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetricsConnection.html#L408">408</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 call' child have incorrect indentation level 8, expected level should be 10.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetricsConnection.html#L408">408</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 8, expected level should be 10.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetricsConnection.html#L409">409</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 6, expected level should be 8.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetricsConnection.html#L410">410</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 8, expected level should be 10.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetricsConnection.html#L413">413</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 6, expected level should be 8.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetricsConnection.html#L414">414</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 8, expected level should be 10.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetricsConnection.html#L417">417</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 6, expected level should be 8.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetricsConnection.html#L418">418</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 8, expected level should be 10.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetricsConnection.html#L421">421</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 6, expected level should be 8.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetricsConnection.html#L422">422</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 8, expected level should be 10.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetricsConnection.html#L424">424</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 call' child have incorrect indentation level 8, expected level should be 10.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetricsConnection.html#L424">424</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 8, expected level should be 10.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetricsConnection.html#L425">425</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 6, expected level should be 8.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MetricsConnection.html#L426">426</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>
@@ -15654,25 +15648,25 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.MultiAction.java">org/apache/hadoop/hbase/client/MultiAction.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#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/MultiAction.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>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MultiAction.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>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
@@ -15681,13 +15675,13 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.MultiResponse.java">org/apache/hadoop/hbase/client/MultiResponse.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
@@ -15696,61 +15690,61 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.MultiServerCallable.java">org/apache/hadoop/hbase/client/MultiServerCallable.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#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/client/MultiServerCallable.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/client/MultiServerCallable.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>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MultiServerCallable.html#L88">88</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/client/MultiServerCallable.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>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MultiServerCallable.html#L123">123</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/client/MultiServerCallable.html#L133">133</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/client/MultiServerCallable.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>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/MultiServerCallable.html#L155">155</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>
@@ -15759,91 +15753,91 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.Mutation.java">org/apache/hadoop/hbase/client/Mutation.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'com.google.common.collect.ArrayListMultimap' import.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/Mutation.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>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/Mutation.html#L124">124</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/client/Mutation.html#L125">125</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/client/Mutation.html#L126">126</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/client/Mutation.html#L127">127</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/client/Mutation.html#L236">236</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/client/Mutation.html#L330">330</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/client/Mutation.html#L340">340</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/client/Mutation.html#L344">344</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/client/Mutation.html#L434">434</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/client/Mutation.html#L466">466</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/client/Mutation.html#L475">475</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/client/Mutation.html#L476">476</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>
@@ -15852,13 +15846,13 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.Operation.java">org/apache/hadoop/hbase/client/Operation.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
@@ -15867,79 +15861,79 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.PreemptiveFastFailInterceptor.java">org/apache/hadoop/hbase/client/PreemptiveFastFailInterceptor.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/client/PreemptiveFastFailInterceptor.html#L151">151</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/client/PreemptiveFastFailInterceptor.html#L154">154</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/client/PreemptiveFastFailInterceptor.html#L216">216</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/client/PreemptiveFastFailInterceptor.html#L220">220</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/client/PreemptiveFastFailInterceptor.html#L242">242</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/client/PreemptiveFastFailInterceptor.html#L278">278</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/client/PreemptiveFastFailInterceptor.html#L310">310</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/client/PreemptiveFastFailInterceptor.html#L338">338</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/client/PreemptiveFastFailInterceptor.html#L339">339</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/client/PreemptiveFastFailInterceptor.html#L340">340</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/client/PreemptiveFastFailInterceptor.html#L341">341</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>
@@ -15948,97 +15942,97 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.Put.java">org/apache/hadoop/hbase/client/Put.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/client/Put.html#L73">73</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/client/Put.html#L74">74</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/client/Put.html#L75">75</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/client/Put.html#L104">104</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/client/Put.html#L105">105</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/client/Put.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>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/Put.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>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/Put.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>indentation</td>
 <td>Indentation</td>
 <td>'method def' child have incorrect indentation level 2, expected level should be 4.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/Put.html#L306">306</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/client/Put.html#L318">318</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 2, expected level should be 4.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/Put.html#L321">321</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/client/Put.html#L333">333</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/client/Put.html#L349">349</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 6, expected level should be 4.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/Put.html#L352">352</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>
@@ -16047,55 +16041,55 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.Query.java">org/apache/hadoop/hbase/client/Query.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.collect.Maps' import.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/Query.html#L22">22</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'com.google.common.collect.ArrayListMultimap' import.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/Query.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>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/Query.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>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/Query.html#L78">78</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/client/Query.html#L82">82</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/client/Query.html#L138">138</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/client/Query.html#L171">171</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>
@@ -16104,13 +16098,13 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.RegionAdminServiceCallable.java">org/apache/hadoop/hbase/client/RegionAdminServiceCallable.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
@@ -16119,13 +16113,13 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.RegionCoprocessorServiceExec.java">org/apache/hadoop/hbase/client/RegionCoprocessorServiceExec.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
@@ -16134,43 +16128,43 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.RegionReplicaUtil.java">org/apache/hadoop/hbase/client/RegionReplicaUtil.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>design</td>
 <td>HideUtilityClassConstructor</td>
 <td>Utility classes should not have a public or default constructor.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/RegionReplicaUtil.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>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/RegionReplicaUtil.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>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/RegionReplicaUtil.html#L80">80</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/client/RegionReplicaUtil.html#L98">98</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' child have incorrect indentation level 10, expected level should be 8.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/RegionReplicaUtil.html#L133">133</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>
@@ -16179,13 +16173,13 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.RegionServerCallable.java">org/apache/hadoop/hbase/client/RegionServerCallable.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
@@ -16194,25 +16188,25 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.Registry.java">org/apache/hadoop/hbase/client/Registry.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/Registry.html#L33">33</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/client/Registry.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>
@@ -16221,13 +16215,13 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.RegistryFactory.java">org/apache/hadoop/hbase/client/RegistryFactory.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
@@ -16236,79 +16230,79 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.Result.java">org/apache/hadoop/hbase/client/Result.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/Result.html#L250">250</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/client/Result.html#L252">252</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/client/Result.html#L346">346</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/client/Result.html#L350">350</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/client/Result.html#L378">378</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>'familyEntry' have incorrect indentation level 6, expected level should be 10.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/Result.html#L661">661</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/client/Result.html#L837">837</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/client/Result.html#L854">854</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/client/Result.html#L855">855</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/client/Result.html#L873">873</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/client/Result.html#L879">879</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>
@@ -16317,37 +16311,37 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.ResultBoundedCompletionService.java">org/apache/hadoop/hbase/client/ResultBoundedCompletionService.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/ResultBoundedCompletionService.html#L85">85</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/client/ResultBoundedCompletionService.html#L87">87</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>'while' construct must use '{}'s.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/ResultBoundedCompletionService.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>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/ResultBoundedCompletionService.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>blocks</td>
 <td>NeedBraces</td>
@@ -16356,13 +16350,13 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.ResultScanner.java">org/apache/hadoop/hbase/client/ResultScanner.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
@@ -16371,13 +16365,13 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.RetriesExhaustedException.java">org/apache/hadoop/hbase/client/RetriesExhaustedException.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
@@ -16386,19 +16380,19 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.RetriesExhaustedWithDetailsException.java">org/apache/hadoop/hbase/client/RetriesExhaustedWithDetailsException.java</h3>
 <table border="0" class="table table-striped">
-<tr class="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>indentation</td>
 <td>Indentation</td>
 <td>'extends' have incorrect indentation level 0, expected level should be 2.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/RetriesExhaustedWithDetailsException.html#L49">49</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>
@@ -16407,43 +16401,43 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.RetryingCallable.java">org/apache/hadoop/hbase/client/RetryingCallable.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/client/RetryingCallable.html#L43">43</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/client/RetryingCallable.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>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/RetryingCallable.html#L60">60</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/client/RetryingCallable.html#L61">61</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/client/RetryingCallable.html#L66">66</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>
@@ -16452,31 +16446,31 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.RetryingCallerInterceptor.java">org/apache/hadoop/hbase/client/RetryingCallerInterceptor.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/RetryingCallerInterceptor.html#L72">72</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/client/RetryingCallerInterceptor.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>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/RetryingCallerInterceptor.html#L81">81</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>
@@ -16485,49 +16479,49 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.ReversedClientScanner.java">org/apache/hadoop/hbase/client/ReversedClientScanner.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/ReversedClientScanner.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/client/ReversedClientScanner.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>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/ReversedClientScanner.html#L46">46</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/client/ReversedClientScanner.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>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/ReversedClientScanner.html#L48">48</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/client/ReversedClientScanner.html#L49">49</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>
@@ -16536,73 +16530,73 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.ReversedScannerCallable.java">org/apache/hadoop/hbase/client/ReversedScannerCallable.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/ReversedScannerCallable.html#L50">50</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/client/ReversedScannerCallable.html#L51">51</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/client/ReversedScannerCallable.html#L52">52</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/client/ReversedScannerCallable.html#L53">53</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/client/ReversedScannerCallable.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>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/ReversedScannerCallable.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>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/ReversedScannerCallable.html#L66">66</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/client/ReversedScannerCallable.html#L67">67</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/client/ReversedScannerCallable.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>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/ReversedScannerCallable.html#L95">95</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>
@@ -16611,25 +16605,25 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.RowMutations.java">org/apache/hadoop/hbase/client/RowMutations.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/RowMutations.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>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/RowMutations.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>blocks</td>
 <td>NeedBraces</td>
@@ -16638,13 +16632,13 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.RpcRetryingCaller.java">org/apache/hadoop/hbase/client/RpcRetryingCaller.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
@@ -16653,13 +16647,13 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.RpcRetryingCallerFactory.java">org/apache/hadoop/hbase/client/RpcRetryingCallerFactory.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
@@ -16668,31 +16662,31 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.RpcRetryingCallerImpl.java">org/apache/hadoop/hbase/client/RpcRetryingCallerImpl.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'com.google.protobuf.ServiceException' import.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/RpcRetryingCallerImpl.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>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/RpcRetryingCallerImpl.html#L85">85</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/client/RpcRetryingCallerImpl.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>blocks</td>
 <td>NeedBraces</td>
@@ -16701,25 +16695,25 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.RpcRetryingCallerWithReadReplicas.java">org/apache/hadoop/hbase/client/RpcRetryingCallerWithReadReplicas.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'com.google.protobuf.ServiceException' import.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/RpcRetryingCallerWithReadReplicas.html#L51">51</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/client/RpcRetryingCallerWithReadReplicas.html#L123">123</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>
@@ -16728,55 +16722,55 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.Scan.java">org/apache/hadoop/hbase/client/Scan.java</h3>
 <table border="0" class="table table-striped">
-<tr class="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>annotation</td>
 <td>MissingDeprecated</td>
 <td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/Scan.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>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#L386">386</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/client/Scan.html#L387">387</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/client/Scan.html#L676">676</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/client/Scan.html#L686">686</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/client/Scan.html#L717">717</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/client/Scan.html#L898">898</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>
@@ -16785,55 +16779,55 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.ScannerCallable.java">org/apache/hadoop/hbase/client/ScannerCallable.java</h3>
 <table border="0" class="table table-striped">
-<tr class="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.ServiceException' import.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/ScannerCallable.html#L55">55</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/client/ScannerCallable.html#L120">120</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/client/ScannerCallable.html#L121">121</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/client/ScannerCallable.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/client/ScannerCallable.html#L123">123</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/client/ScannerCallable.html#L145">145</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/client/ScannerCallable.html#L358">358</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>
@@ -16842,49 +16836,49 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.ScannerCallableWithReplicas.java">org/apache/hadoop/hbase/client/ScannerCallableWithReplicas.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'java.io.IOException' import.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/ScannerCallableWithReplicas.html#L23">23</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.annotations.VisibleForTesting' import.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/ScannerCallableWithReplicas.html#L46">46</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/client/ScannerCallableWithReplicas.html#L225">225</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/client/ScannerCallableWithReplicas.html#L228">228</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/client/ScannerCallableWithReplicas.html#L263">263</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/client/ScannerCallableWithReplicas.html#L309">309</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>
@@ -16893,13 +16887,13 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.ScannerTimeoutException.java">org/apache/hadoop/hbase/client/ScannerTimeoutException.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>
@@ -16908,13 +16902,13 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.ServerStatisticTracker.java">org/apache/hadoop/hbase/client/ServerStatisticTracker.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>
@@ -16923,13 +16917,13 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.StatsTrackingRpcRetryingCaller.java">org/apache/hadoop/hbase/client/StatsTrackingRpcRetryingCaller.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>
@@ -16938,181 +16932,181 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.Table.java">org/apache/hadoop/hbase/client/Table.java</h3>
 <table border="0" class="table table-striped">
-<tr class="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.Descriptors' import.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/Table.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>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/Table.html#L116">116</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/client/Table.html#L135">135</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/client/Table.html#L136">136</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/client/Table.html#L147">147</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/client/Table.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>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/Table.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>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/Table.html#L208">208</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/client/Table.html#L209">209</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/client/Table.html#L260">260</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

<TRUNCATED>

[51/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.


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

Branch: refs/heads/asf-site
Commit: 358717f6935413448fe04e0c37f3f09b044b362f
Parents: 689b88b
Author: jenkins <bu...@apache.org>
Authored: Tue Feb 9 15:17:49 2016 +0000
Committer: Misty Stanley-Jones <ms...@cloudera.com>
Committed: Tue Feb 9 09:25:53 2016 -0800

----------------------------------------------------------------------
 acid-semantics.html                             |     4 +-
 apache_hbase_reference_guide.pdf                |     4 +-
 apache_hbase_reference_guide.pdfmarks           |     4 +-
 apidocs/allclasses-frame.html                   |     1 -
 apidocs/allclasses-noframe.html                 |     1 -
 apidocs/index-all.html                          |    25 +-
 ...ableMultiplexer.HTableMultiplexerStatus.html |    20 +-
 .../hadoop/hbase/client/HTableMultiplexer.html  |    76 +-
 .../hbase/client/TableSnapshotScanner.html      |     4 +-
 .../hadoop/hbase/client/TableState.State.html   |   384 -
 .../client/UnmodifyableHTableDescriptor.html    |     4 +-
 .../hbase/client/class-use/Connection.html      |    13 +
 .../client/class-use/TableState.State.html      |   172 -
 .../hadoop/hbase/client/package-frame.html      |     1 -
 .../hadoop/hbase/client/package-summary.html    |     4 -
 .../hadoop/hbase/client/package-tree.html       |     1 -
 .../apache/hadoop/hbase/client/package-use.html |     3 -
 apidocs/overview-tree.html                      |     1 -
 ...ableMultiplexer.HTableMultiplexerStatus.html |  1187 +-
 .../hadoop/hbase/client/HTableMultiplexer.html  |  1187 +-
 .../hadoop/hbase/client/TableState.State.html   |   292 -
 book.html                                       |     2 +-
 bulk-loads.html                                 |     4 +-
 checkstyle-aggregate.html                       | 13910 +++++++--------
 checkstyle.rss                                  |    12 +-
 coc.html                                        |     4 +-
 cygwin.html                                     |     4 +-
 dependencies.html                               |     4 +-
 dependency-convergence.html                     |    20 +-
 dependency-info.html                            |     4 +-
 dependency-management.html                      |     4 +-
 devapidocs/allclasses-frame.html                |     2 +-
 devapidocs/allclasses-noframe.html              |     2 +-
 devapidocs/constant-values.html                 |    20 +-
 devapidocs/deprecated-list.html                 |   370 +-
 devapidocs/index-all.html                       |   238 +-
 .../org/apache/hadoop/hbase/class-use/Cell.html |   439 +-
 .../hbase/class-use/DoNotRetryIOException.html  |    18 +
 .../hadoop/hbase/class-use/HRegionInfo.html     |   124 +-
 .../hadoop/hbase/class-use/HRegionLocation.html |     4 +-
 .../hbase/class-use/HTableDescriptor.html       |    41 +-
 .../hadoop/hbase/class-use/TableName.html       |   388 +-
 .../org/apache/hadoop/hbase/class-use/Tag.html  |    37 -
 .../InterfaceAudience.LimitedPrivate.html       |     2 +-
 .../class-use/InterfaceAudience.Private.html    |    23 +-
 .../class-use/InterfaceAudience.Public.html     |     8 +-
 .../hbase/classification/package-tree.html      |     6 +-
 .../HTableMultiplexer.AtomicAverageCounter.html |    18 +-
 .../client/HTableMultiplexer.FlushWorker.html   |   126 +-
 ...ableMultiplexer.HTableMultiplexerStatus.html |    38 +-
 .../client/HTableMultiplexer.PutStatus.html     |    16 +-
 .../hadoop/hbase/client/HTableMultiplexer.html  |   147 +-
 .../hadoop/hbase/client/TableState.State.html   |     2 +-
 .../hadoop/hbase/client/class-use/Append.html   |     9 +-
 .../client/class-use/ClusterConnection.html     |     4 +
 .../hbase/client/class-use/Connection.html      |     5 +
 .../hbase/client/class-use/Durability.html      |    48 +-
 .../class-use/HTableMultiplexer.PutStatus.html  |     4 +-
 .../client/class-use/HTableMultiplexer.html     |    13 +
 .../hbase/client/class-use/IsolationLevel.html  |    16 +-
 .../hadoop/hbase/client/class-use/Mutation.html |   104 +-
 .../hadoop/hbase/client/class-use/Put.html      |    44 +-
 .../hadoop/hbase/client/class-use/Result.html   |    19 +-
 .../hbase/client/class-use/RowMutations.html    |    15 +-
 .../hadoop/hbase/client/package-tree.html       |     8 +-
 .../filter/class-use/ByteArrayComparable.html   |    25 +-
 .../class-use/CompareFilter.CompareOp.html      |    20 +-
 .../hadoop/hbase/filter/package-tree.html       |     6 +-
 .../hadoop/hbase/io/class-use/TimeRange.html    |    11 +-
 .../hadoop/hbase/io/hfile/package-tree.html     |     8 +-
 .../hadoop/hbase/mapreduce/package-tree.html    |     4 +-
 .../hadoop/hbase/master/package-tree.html       |     2 +-
 .../hbase/master/procedure/package-tree.html    |     2 +-
 .../org/apache/hadoop/hbase/package-tree.html   |     6 +-
 .../org/apache/hadoop/hbase/package-use.html    |     5 -
 .../hadoop/hbase/quotas/package-tree.html       |     6 +-
 .../DefaultMemStore.MemStoreScanner.html        |    58 +-
 .../hbase/regionserver/DefaultMemStore.html     |    24 +-
 .../regionserver/HRegion.BatchOperation.html    |   425 +
 .../HRegion.BatchOperationInProgress.html       |   425 -
 .../regionserver/HRegion.FlushResultImpl.html   |    28 +-
 .../regionserver/HRegion.MutationBatch.html     |    50 +-
 .../HRegion.PrepareFlushResult.html             |    26 +-
 .../regionserver/HRegion.RegionScannerImpl.html |    92 +-
 .../hbase/regionserver/HRegion.ReplayBatch.html |    48 +-
 .../regionserver/HRegion.RowLockContext.html    |    24 +-
 .../hbase/regionserver/HRegion.RowLockImpl.html |    16 +-
 .../hbase/regionserver/HRegion.WriteState.html  |    26 +-
 .../hadoop/hbase/regionserver/HRegion.html      |  1824 +-
 .../class-use/HRegion.BatchOperation.html       |   192 +
 .../HRegion.BatchOperationInProgress.html       |   182 -
 ...ltiVersionConcurrencyControl.WriteEntry.html |    22 +-
 .../MultiVersionConcurrencyControl.html         |    37 +-
 .../regionserver/class-use/OperationStatus.html |     4 +-
 .../class-use/Region.Operation.html             |    42 +
 .../regionserver/class-use/RowProcessor.html    |    15 +-
 .../regionserver/class-use/SequenceId.html      |     2 +-
 .../hbase/regionserver/class-use/Store.html     |    93 +-
 .../hbase/regionserver/package-frame.html       |     2 +-
 .../hbase/regionserver/package-summary.html     |     2 +-
 .../hadoop/hbase/regionserver/package-tree.html |    26 +-
 .../hadoop/hbase/regionserver/package-use.html  |     2 +-
 .../hbase/regionserver/wal/FSWALEntry.html      |     2 +-
 .../hadoop/hbase/regionserver/wal/HLogKey.html  |     4 +-
 .../hbase/regionserver/wal/ReplayHLogKey.html   |     4 +-
 .../hadoop/hbase/regionserver/wal/WALUtil.html  |   151 +-
 .../regionserver/wal/class-use/WALEdit.html     |   101 +-
 .../hbase/regionserver/wal/package-summary.html |     2 +-
 .../hbase/security/access/package-tree.html     |     4 +-
 .../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     |    90 +-
 .../hbase/tmpl/regionserver/RSStatusTmpl.html   |    36 +-
 .../tmpl/regionserver/RSStatusTmplImpl.html     |    18 +-
 .../apache/hadoop/hbase/util/package-tree.html  |     6 +-
 .../apache/hadoop/hbase/wal/WALKey.Version.html |    20 +-
 .../org/apache/hadoop/hbase/wal/WALKey.html     |   328 +-
 .../apache/hadoop/hbase/wal/class-use/WAL.html  |    89 +-
 .../hadoop/hbase/wal/class-use/WALFactory.html  |    17 -
 .../hadoop/hbase/wal/class-use/WALKey.html      |    86 +-
 .../hadoop/hbase/wal/package-summary.html       |     2 +-
 .../apache/hadoop/hbase/wal/package-tree.html   |     2 +-
 .../apache/hadoop/hbase/wal/package-use.html    |    12 +-
 devapidocs/overview-tree.html                   |     2 +-
 .../HTableMultiplexer.AtomicAverageCounter.html |  1187 +-
 .../client/HTableMultiplexer.FlushWorker.html   |  1187 +-
 ...ableMultiplexer.HTableMultiplexerStatus.html |  1187 +-
 .../client/HTableMultiplexer.PutStatus.html     |  1187 +-
 .../hadoop/hbase/client/HTableMultiplexer.html  |  1187 +-
 .../hadoop/hbase/client/TableState.State.html   |     2 +-
 .../apache/hadoop/hbase/client/TableState.html  |     2 +-
 .../DefaultMemStore.MemStoreScanner.html        |  1051 +-
 .../hbase/regionserver/DefaultMemStore.html     |  1051 +-
 .../regionserver/HRegion.BatchOperation.html    |  7908 +++++++++
 .../HRegion.BatchOperationInProgress.html       |  8314 ---------
 .../regionserver/HRegion.FlushResultImpl.html   | 15802 ++++++++--------
 .../regionserver/HRegion.MutationBatch.html     | 15802 ++++++++--------
 .../HRegion.PrepareFlushResult.html             | 15802 ++++++++--------
 .../regionserver/HRegion.RegionScannerImpl.html | 15802 ++++++++--------
 .../hbase/regionserver/HRegion.ReplayBatch.html | 15802 ++++++++--------
 .../regionserver/HRegion.RowLockContext.html    | 15802 ++++++++--------
 .../hbase/regionserver/HRegion.RowLockImpl.html | 15802 ++++++++--------
 .../hbase/regionserver/HRegion.WriteState.html  | 15802 ++++++++--------
 .../hadoop/hbase/regionserver/HRegion.html      | 15802 ++++++++--------
 .../hbase/regionserver/wal/FSWALEntry.html      |    25 +-
 .../hadoop/hbase/regionserver/wal/HLogKey.html  |     4 +-
 .../hadoop/hbase/regionserver/wal/WALUtil.html  |   192 +-
 .../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     |    90 +-
 .../tmpl/regionserver/RSStatusTmpl.Intf.html    |    90 +-
 .../hbase/tmpl/regionserver/RSStatusTmpl.html   |    90 +-
 .../tmpl/regionserver/RSStatusTmplImpl.html     |    24 +-
 .../apache/hadoop/hbase/wal/WALKey.Version.html |  1233 +-
 .../org/apache/hadoop/hbase/wal/WALKey.html     |  1233 +-
 distribution-management.html                    |     4 +-
 export_control.html                             |     4 +-
 hbase-annotations/checkstyle.html               |     6 +-
 hbase-annotations/dependencies.html             |     6 +-
 hbase-annotations/dependency-convergence.html   |    22 +-
 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                   |    75 +-
 hbase-spark/dependency-convergence.html         |    22 +-
 hbase-spark/dependency-info.html                |     6 +-
 hbase-spark/dependency-management.html          |     6 +-
 hbase-spark/distribution-management.html        |     6 +-
 hbase-spark/index.html                          |     6 +-
 hbase-spark/integration.html                    |     6 +-
 hbase-spark/issue-tracking.html                 |     6 +-
 hbase-spark/license.html                        |     6 +-
 hbase-spark/mail-lists.html                     |     6 +-
 hbase-spark/plugin-management.html              |     6 +-
 hbase-spark/plugins.html                        |     6 +-
 hbase-spark/project-info.html                   |     6 +-
 hbase-spark/project-reports.html                |     6 +-
 hbase-spark/project-summary.html                |     6 +-
 hbase-spark/source-repository.html              |     6 +-
 hbase-spark/team-list.html                      |     6 +-
 index.html                                      |     6 +-
 integration.html                                |     4 +-
 issue-tracking.html                             |     4 +-
 license.html                                    |     4 +-
 mail-lists.html                                 |     4 +-
 metrics.html                                    |     4 +-
 modules.html                                    |     4 +-
 old_news.html                                   |     4 +-
 plugin-management.html                          |     4 +-
 plugins.html                                    |     4 +-
 poweredbyhbase.html                             |     4 +-
 project-info.html                               |     4 +-
 project-reports.html                            |     4 +-
 project-summary.html                            |     4 +-
 pseudo-distributed.html                         |     4 +-
 replication.html                                |     4 +-
 resources.html                                  |     4 +-
 source-repository.html                          |     4 +-
 sponsors.html                                   |     4 +-
 supportingprojects.html                         |     4 +-
 team-list.html                                  |     4 +-
 testdevapidocs/allclasses-frame.html            |     1 +
 testdevapidocs/allclasses-noframe.html          |     1 +
 testdevapidocs/constant-values.html             |    19 +
 testdevapidocs/index-all.html                   |    32 +
 ...cing.BlockCompactionsInCompletionRegion.html |     2 +-
 ...tIOFencing.BlockCompactionsInPrepRegion.html |     2 +-
 .../TestIOFencing.CompactionBlockerRegion.html  |     2 +-
 .../client/TestHTableMultiplexerFlushCache.html |     4 +-
 .../client/TestHTableMultiplexerViaMocks.html   |   465 +
 .../hadoop/hbase/client/TestIncrement.html      |     4 +-
 .../TestHTableMultiplexerViaMocks.html          |   115 +
 .../hadoop/hbase/client/package-frame.html      |     1 +
 .../hadoop/hbase/client/package-summary.html    |    92 +-
 .../hadoop/hbase/client/package-tree.html       |     1 +
 ...ook.CompactionCompletionNotifyingRegion.html |     2 +-
 .../hadoop/hbase/io/hfile/package-tree.html     |     2 +-
 .../org/apache/hadoop/hbase/package-tree.html   |    10 +-
 .../TestAtomicOperation.MockHRegion.html        |     2 +-
 .../TestHRegion.HRegionWithSeqId.html           |     2 +-
 ...annerHeartbeatMessages.HeartbeatHRegion.html |     2 +-
 .../hadoop/hbase/regionserver/package-tree.html |     2 +-
 .../apache/hadoop/hbase/test/package-tree.html  |     2 +-
 testdevapidocs/overview-tree.html               |     1 +
 .../client/TestHTableMultiplexerViaMocks.html   |   265 +
 .../regionserver/TestHRegion.Appender.html      |    12 +-
 .../regionserver/TestHRegion.FlushThread.html   |    12 +-
 .../TestHRegion.GetTillDoneOrException.html     |    12 +-
 .../TestHRegion.HRegionWithSeqId.html           |    12 +-
 .../regionserver/TestHRegion.Incrementer.html   |    12 +-
 .../TestHRegion.IsFlushWALMarker.html           |    12 +-
 .../regionserver/TestHRegion.PutThread.html     |    12 +-
 .../hadoop/hbase/regionserver/TestHRegion.html  |    12 +-
 xref-test/allclasses-frame.html                 |     3 +
 .../client/TestHTableMultiplexerViaMocks.html   |   207 +
 .../hadoop/hbase/client/package-frame.html      |     3 +
 .../hadoop/hbase/client/package-summary.html    |     5 +
 .../hadoop/hbase/regionserver/TestHRegion.html  |    12 +-
 xref/allclasses-frame.html                      |     2 +-
 .../hadoop/hbase/client/HTableMultiplexer.html  |  1187 +-
 .../apache/hadoop/hbase/client/TableState.html  |     2 +-
 .../hbase/regionserver/DefaultMemStore.html     |  1051 +-
 .../hadoop/hbase/regionserver/HRegion.html      | 15804 ++++++++---------
 .../hbase/regionserver/package-frame.html       |     2 +-
 .../hbase/regionserver/package-summary.html     |     2 +-
 .../hbase/regionserver/wal/FSWALEntry.html      |    25 +-
 .../hadoop/hbase/regionserver/wal/HLogKey.html  |     4 +-
 .../hadoop/hbase/regionserver/wal/WALUtil.html  |   192 +-
 .../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   |    90 +-
 .../tmpl/regionserver/RSStatusTmplImpl.html     |    24 +-
 xref/org/apache/hadoop/hbase/wal/WALKey.html    |  1233 +-
 273 files changed, 107050 insertions(+), 109822 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/acid-semantics.html
----------------------------------------------------------------------
diff --git a/acid-semantics.html b/acid-semantics.html
index 0f9661a..8dccafb 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="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <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-02-07</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-09</li>
             </p>
                 </div>
 

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/apache_hbase_reference_guide.pdfmarks
----------------------------------------------------------------------
diff --git a/apache_hbase_reference_guide.pdfmarks b/apache_hbase_reference_guide.pdfmarks
index 46f85b4..fad8a53 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:20160207151801)
-  /CreationDate (D:20160207151801)
+  /ModDate (D:20160209151418)
+  /CreationDate (D:20160209151418)
   /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/358717f6/apidocs/allclasses-frame.html
----------------------------------------------------------------------
diff --git a/apidocs/allclasses-frame.html b/apidocs/allclasses-frame.html
index 0035333..258a806 100644
--- a/apidocs/allclasses-frame.html
+++ b/apidocs/allclasses-frame.html
@@ -314,7 +314,6 @@
 <li><a href="org/apache/hadoop/hbase/client/TableSnapshotScanner.html" title="class in org.apache.hadoop.hbase.client" target="classFrame">TableSnapshotScanner</a></li>
 <li><a href="org/apache/hadoop/hbase/mapred/TableSplit.html" title="class in org.apache.hadoop.hbase.mapred" target="classFrame">TableSplit</a></li>
 <li><a href="org/apache/hadoop/hbase/mapreduce/TableSplit.html" title="class in org.apache.hadoop.hbase.mapreduce" target="classFrame">TableSplit</a></li>
-<li><a href="org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client" target="classFrame">TableState.State</a></li>
 <li><a href="org/apache/hadoop/hbase/types/TerminatedWrapper.html" title="class in org.apache.hadoop.hbase.types" target="classFrame">TerminatedWrapper</a></li>
 <li><a href="org/apache/hadoop/hbase/mapreduce/TextSortReducer.html" title="class in org.apache.hadoop.hbase.mapreduce" target="classFrame">TextSortReducer</a></li>
 <li><a href="org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas" target="classFrame">ThrottleType</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/apidocs/allclasses-noframe.html
----------------------------------------------------------------------
diff --git a/apidocs/allclasses-noframe.html b/apidocs/allclasses-noframe.html
index ca007ee..83c8cf4 100644
--- a/apidocs/allclasses-noframe.html
+++ b/apidocs/allclasses-noframe.html
@@ -314,7 +314,6 @@
 <li><a href="org/apache/hadoop/hbase/client/TableSnapshotScanner.html" title="class in org.apache.hadoop.hbase.client">TableSnapshotScanner</a></li>
 <li><a href="org/apache/hadoop/hbase/mapred/TableSplit.html" title="class in org.apache.hadoop.hbase.mapred">TableSplit</a></li>
 <li><a href="org/apache/hadoop/hbase/mapreduce/TableSplit.html" title="class in org.apache.hadoop.hbase.mapreduce">TableSplit</a></li>
-<li><a href="org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client">TableState.State</a></li>
 <li><a href="org/apache/hadoop/hbase/types/TerminatedWrapper.html" title="class in org.apache.hadoop.hbase.types">TerminatedWrapper</a></li>
 <li><a href="org/apache/hadoop/hbase/mapreduce/TextSortReducer.html" title="class in org.apache.hadoop.hbase.mapreduce">TextSortReducer</a></li>
 <li><a href="org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas">ThrottleType</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/apidocs/index-all.html
----------------------------------------------------------------------
diff --git a/apidocs/index-all.html b/apidocs/index-all.html
index 2f46e05..cea5c48 100644
--- a/apidocs/index-all.html
+++ b/apidocs/index-all.html
@@ -1064,6 +1064,10 @@
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/Connection.html#close()">close()</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/HTableMultiplexer.html#close()">close()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/HTableMultiplexer.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer</a></dt>
+<dd>
+<div class="block">Closes the internal <a href="./org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client"><code>Connection</code></a>.</div>
+</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html#close()">close()</a></span> - Method in class org.apache.hadoop.hbase.client.replication.<a href="./org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html" title="class in org.apache.hadoop.hbase.client.replication">ReplicationAdmin</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/ResultScanner.html#close()">close()</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/ResultScanner.html" title="interface in org.apache.hadoop.hbase.client">ResultScanner</a></dt>
@@ -1554,14 +1558,6 @@
 <dd>
 <div class="block">Crypto context.</div>
 </dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/TableState.State.html#convert(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.TableState.State)">convert(HBaseProtos.TableState.State)</a></span> - Static method in enum org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client">TableState.State</a></dt>
-<dd>
-<div class="block">Covert from PB version of State</div>
-</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/TableState.State.html#convert()">convert()</a></span> - Method in enum org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client">TableState.State</a></dt>
-<dd>
-<div class="block">Covert to PB version of State</div>
-</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/ClusterStatus.html#convert()">convert()</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/ClusterStatus.html" title="class in org.apache.hadoop.hbase">ClusterStatus</a></dt>
 <dd>
 <div class="block">Convert a ClusterStatus to a protobuf ClusterStatus</div>
@@ -7054,6 +7050,8 @@
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/HTableMultiplexer.html#HTableMultiplexer(org.apache.hadoop.conf.Configuration,%20int)">HTableMultiplexer(Configuration, int)</a></span> - Constructor for class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/HTableMultiplexer.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/HTableMultiplexer.html#HTableMultiplexer(org.apache.hadoop.hbase.client.Connection,%20org.apache.hadoop.conf.Configuration,%20int)">HTableMultiplexer(Connection, Configuration, int)</a></span> - Constructor for class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/HTableMultiplexer.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="./org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html" title="class in org.apache.hadoop.hbase.client"><span class="strong">HTableMultiplexer.HTableMultiplexerStatus</span></a> - Class in <a href="./org/apache/hadoop/hbase/client/package-summary.html">org.apache.hadoop.hbase.client</a></dt>
 <dd>
 <div class="block">HTableMultiplexerStatus keeps track of the current status of the HTableMultiplexer.</div>
@@ -13212,8 +13210,6 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <dd>
 <div class="block">Creates a new instance without a scanner.</div>
 </dd>
-<dt><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> - Enum in <a href="./org/apache/hadoop/hbase/client/package-summary.html">org.apache.hadoop.hbase.client</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/CellUtil.html#tagsIterator(byte[],%20int,%20int)">tagsIterator(byte[], int, int)</a></span> - Static method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/CellUtil.html" title="class in org.apache.hadoop.hbase">CellUtil</a></dt>
 <dd>
 <div class="block"><span class="strong">Deprecated.</span>
@@ -14169,10 +14165,6 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/security/SecurityCapability.html#valueOf(int)">valueOf(int)</a></span> - Static method in enum org.apache.hadoop.hbase.client.security.<a href="./org/apache/hadoop/hbase/client/security/SecurityCapability.html" title="enum in org.apache.hadoop.hbase.client.security">SecurityCapability</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/TableState.State.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client">TableState.State</a></dt>
-<dd>
-<div class="block">Returns the enum constant of this type with the specified name.</div>
-</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/filter/BitComparator.BitwiseOp.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum org.apache.hadoop.hbase.filter.<a href="./org/apache/hadoop/hbase/filter/BitComparator.BitwiseOp.html" title="enum in org.apache.hadoop.hbase.filter">BitComparator.BitwiseOp</a></dt>
 <dd>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
@@ -14272,11 +14264,6 @@ the order they are declared.</div>
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.</div>
 </dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/TableState.State.html#values()">values()</a></span> - Static method in enum org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client">TableState.State</a></dt>
-<dd>
-<div class="block">Returns an array containing the constants of this enum type, in
-the order they are declared.</div>
-</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/filter/BitComparator.BitwiseOp.html#values()">values()</a></span> - Static method in enum org.apache.hadoop.hbase.filter.<a href="./org/apache/hadoop/hbase/filter/BitComparator.BitwiseOp.html" title="enum in org.apache.hadoop.hbase.filter">BitComparator.BitwiseOp</a></dt>
 <dd>
 <div class="block">Returns an array containing the constants of this enum type, in

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/apidocs/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html b/apidocs/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html
index e3af423..4878524 100644
--- a/apidocs/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html
+++ b/apidocs/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html
@@ -101,7 +101,7 @@
 <br>
 <pre>@InterfaceAudience.Public
 @InterfaceStability.Evolving
-public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.242">HTableMultiplexer.HTableMultiplexerStatus</a>
+public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.287">HTableMultiplexer.HTableMultiplexerStatus</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">HTableMultiplexerStatus keeps track of the current status of the HTableMultiplexer.
  report the number of buffered requests and the number of the failed (dropped) requests
@@ -201,7 +201,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HTableMultiplexer.HTableMultiplexerStatus</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.252">HTableMultiplexer.HTableMultiplexerStatus</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="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a>,org.apache.hadoop.hbase.client.HTableMultiplexer.FlushWorker&gt;&nbsp;serverToFlushWorkerMap)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.297">HTableMultiplexer.HTableMultiplexerStatus</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="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a>,org.apache.hadoop.hbase.client.HTableMultiplexer.FlushWorker&gt;&nbsp;serverToFlushWorkerMap)</pre>
 </li>
 </ul>
 </li>
@@ -218,7 +218,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getTotalBufferedCounter</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.310">getTotalBufferedCounter</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.355">getTotalBufferedCounter</a>()</pre>
 </li>
 </ul>
 <a name="getTotalFailedCounter()">
@@ -227,7 +227,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getTotalFailedCounter</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.314">getTotalFailedCounter</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.359">getTotalFailedCounter</a>()</pre>
 </li>
 </ul>
 <a name="getMaxLatency()">
@@ -236,7 +236,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getMaxLatency</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.318">getMaxLatency</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.363">getMaxLatency</a>()</pre>
 </li>
 </ul>
 <a name="getOverallAverageLatency()">
@@ -245,7 +245,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getOverallAverageLatency</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.322">getOverallAverageLatency</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.367">getOverallAverageLatency</a>()</pre>
 </li>
 </ul>
 <a name="getBufferedCounterForEachRegionServer()">
@@ -254,7 +254,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getBufferedCounterForEachRegionServer</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/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.326">getBufferedCounterForEachRegionServer</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/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.371">getBufferedCounterForEachRegionServer</a>()</pre>
 </li>
 </ul>
 <a name="getFailedCounterForEachRegionServer()">
@@ -263,7 +263,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getFailedCounterForEachRegionServer</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/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.330">getFailedCounterForEachRegionServer</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/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.375">getFailedCounterForEachRegionServer</a>()</pre>
 </li>
 </ul>
 <a name="getMaxLatencyForEachRegionServer()">
@@ -272,7 +272,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getMaxLatencyForEachRegionServer</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/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.334">getMaxLatencyForEachRegionServer</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/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.379">getMaxLatencyForEachRegionServer</a>()</pre>
 </li>
 </ul>
 <a name="getAverageLatencyForEachRegionServer()">
@@ -281,7 +281,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getAverageLatencyForEachRegionServer</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/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.338">getAverageLatencyForEachRegionServer</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/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html#line.383">getAverageLatencyForEachRegionServer</a>()</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/apidocs/org/apache/hadoop/hbase/client/HTableMultiplexer.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/HTableMultiplexer.html b/apidocs/org/apache/hadoop/hbase/client/HTableMultiplexer.html
index 7419293..2e4b62f 100644
--- a/apidocs/org/apache/hadoop/hbase/client/HTableMultiplexer.html
+++ b/apidocs/org/apache/hadoop/hbase/client/HTableMultiplexer.html
@@ -97,7 +97,7 @@
 <br>
 <pre>@InterfaceAudience.Public
 @InterfaceStability.Evolving
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.71">HTableMultiplexer</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.72">HTableMultiplexer</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">HTableMultiplexer provides a thread-safe non blocking PUT API across all the tables.
  Each put will be sharded into different buffer queues based on its destination region server.
@@ -180,6 +180,11 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <td class="colOne"><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html#HTableMultiplexer(org.apache.hadoop.conf.Configuration,%20int)">HTableMultiplexer</a></strong>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                   int&nbsp;perRegionServerBufferQueueSize)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colOne"><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html#HTableMultiplexer(org.apache.hadoop.hbase.client.Connection,%20org.apache.hadoop.conf.Configuration,%20int)">HTableMultiplexer</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn,
+                                  org.apache.hadoop.conf.Configuration&nbsp;conf,
+                                  int&nbsp;perRegionServerBufferQueueSize)</code>&nbsp;</td>
+</tr>
 </table>
 </li>
 </ul>
@@ -196,10 +201,16 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html#close()">close</a></strong>()</code>
+<div class="block">Closes the internal <a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client"><code>Connection</code></a>.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer.HTableMultiplexerStatus</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html#getHTableMultiplexerStatus()">getHTableMultiplexerStatus</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html#put(byte[],%20java.util.List)">put</a></strong>(byte[]&nbsp;tableName,
       <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/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&gt;&nbsp;puts)</code>
@@ -208,7 +219,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 </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/client/HTableMultiplexer.html#put(byte[],%20org.apache.hadoop.hbase.client.Put)">put</a></strong>(byte[]&nbsp;tableName,
       <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put)</code>
@@ -217,7 +228,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 </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/client/HTableMultiplexer.html#put(byte[],%20org.apache.hadoop.hbase.client.Put,%20int)">put</a></strong>(byte[]&nbsp;tableName,
       <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put,
@@ -227,21 +238,21 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 </div>
 </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/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html#put(org.apache.hadoop.hbase.TableName,%20java.util.List)">put</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
       <a href="http://docs.oracle.com/javase/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/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&gt;&nbsp;puts)</code>
 <div class="block">The puts request will be buffered by their corresponding buffer queue.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html#put(org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.client.Put)">put</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
       <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put)</code>
 <div class="block">The put request will be buffered by its corresponding buffer queue.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html#put(org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.client.Put,%20int)">put</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
       <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put,
@@ -277,7 +288,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>TABLE_MULTIPLEXER_FLUSH_PERIOD_MS</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/client/HTableMultiplexer.html#line.74">TABLE_MULTIPLEXER_FLUSH_PERIOD_MS</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/client/HTableMultiplexer.html#line.75">TABLE_MULTIPLEXER_FLUSH_PERIOD_MS</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.client.HTableMultiplexer.TABLE_MULTIPLEXER_FLUSH_PERIOD_MS">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -287,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>TABLE_MULTIPLEXER_INIT_THREADS</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/client/HTableMultiplexer.html#line.76">TABLE_MULTIPLEXER_INIT_THREADS</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/client/HTableMultiplexer.html#line.77">TABLE_MULTIPLEXER_INIT_THREADS</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.client.HTableMultiplexer.TABLE_MULTIPLEXER_INIT_THREADS">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -297,7 +308,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>TABLE_MULTIPLEXER_MAX_RETRIES_IN_QUEUE</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/client/HTableMultiplexer.html#line.77">TABLE_MULTIPLEXER_MAX_RETRIES_IN_QUEUE</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/client/HTableMultiplexer.html#line.78">TABLE_MULTIPLEXER_MAX_RETRIES_IN_QUEUE</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.client.HTableMultiplexer.TABLE_MULTIPLEXER_MAX_RETRIES_IN_QUEUE">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -312,10 +323,10 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <a name="HTableMultiplexer(org.apache.hadoop.conf.Configuration, int)">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>HTableMultiplexer</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.98">HTableMultiplexer</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.99">HTableMultiplexer</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                  int&nbsp;perRegionServerBufferQueueSize)
                   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>conf</code> - The HBaseConfiguration</dd><dd><code>perRegionServerBufferQueueSize</code> - determines the max number of the buffered Put ops for
@@ -324,6 +335,19 @@ 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></dd></dl>
 </li>
 </ul>
+<a name="HTableMultiplexer(org.apache.hadoop.hbase.client.Connection, org.apache.hadoop.conf.Configuration, int)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>HTableMultiplexer</h4>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.110">HTableMultiplexer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn,
+                 org.apache.hadoop.conf.Configuration&nbsp;conf,
+                 int&nbsp;perRegionServerBufferQueueSize)</pre>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>conn</code> - The HBase connection.</dd><dd><code>conf</code> - The HBase configuration</dd><dd><code>perRegionServerBufferQueueSize</code> - determines the max number of the buffered Put ops for
+          each region server before dropping the request.</dd></dl>
+</li>
+</ul>
 </li>
 </ul>
 <!-- ============ METHOD DETAIL ========== -->
@@ -332,13 +356,27 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <!--   -->
 </a>
 <h3>Method Detail</h3>
+<a name="close()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>close</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.137">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">Closes the internal <a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client"><code>Connection</code></a>. Does nothing if the <a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client"><code>Connection</code></a> has already
+ been closed.</div>
+<dl><dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - If there is an error closing the connection.</dd></dl>
+</li>
+</ul>
 <a name="put(org.apache.hadoop.hbase.TableName, org.apache.hadoop.hbase.client.Put)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>put</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.126">put</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.150">put</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
           <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put)</pre>
 <div class="block">The put request will be buffered by its corresponding buffer queue. Return false if the queue
  is already full.</div>
@@ -352,7 +390,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>put</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/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.137">put</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/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/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.161">put</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
             <a href="http://docs.oracle.com/javase/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/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&gt;&nbsp;puts)</pre>
 <div class="block">The puts request will be buffered by their corresponding buffer queue.
  Return the list of puts which could not be queued.</div>
@@ -367,7 +405,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <li class="blockList">
 <h4>put</h4>
 <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>
-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/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.162">put</a>(byte[]&nbsp;tableName,
+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/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.186">put</a>(byte[]&nbsp;tableName,
                        <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/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&gt;&nbsp;puts)</pre>
 <div class="block"><span class="strong">Deprecated.</span>&nbsp;<i>Use <a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html#put(org.apache.hadoop.hbase.TableName,%20java.util.List)"><code>put(TableName, List)</code></a> instead.</i></div>
 </li>
@@ -378,7 +416,7 @@ public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>put</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.172">put</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.196">put</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
           <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put,
           int&nbsp;maxAttempts)</pre>
 <div class="block">The put request will be buffered by its corresponding buffer queue. And the put request will be
@@ -394,7 +432,7 @@ public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.htm
 <li class="blockList">
 <h4>put</h4>
 <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>
-public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.199">put</a>(byte[]&nbsp;tableName,
+public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.238">put</a>(byte[]&nbsp;tableName,
                      <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put,
                      int&nbsp;retry)</pre>
 <div class="block"><span class="strong">Deprecated.</span>&nbsp;<i>Use <a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html#put(org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.client.Put)"><code>put(TableName, Put)</code></a> instead.</i></div>
@@ -407,7 +445,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <li class="blockList">
 <h4>put</h4>
 <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>
-public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.207">put</a>(byte[]&nbsp;tableName,
+public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.246">put</a>(byte[]&nbsp;tableName,
                      <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put)</pre>
 <div class="block"><span class="strong">Deprecated.</span>&nbsp;<i>Use <a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html#put(org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.client.Put)"><code>put(TableName, Put)</code></a> instead.</i></div>
 </li>
@@ -418,7 +456,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getHTableMultiplexerStatus</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer.HTableMultiplexerStatus</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.214">getHTableMultiplexerStatus</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer.HTableMultiplexerStatus</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.253">getHTableMultiplexerStatus</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the current HTableMultiplexerStatus</dd></dl>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/apidocs/org/apache/hadoop/hbase/client/TableSnapshotScanner.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/TableSnapshotScanner.html b/apidocs/org/apache/hadoop/hbase/client/TableSnapshotScanner.html
index a959a2b..fe8496e 100644
--- a/apidocs/org/apache/hadoop/hbase/client/TableSnapshotScanner.html
+++ b/apidocs/org/apache/hadoop/hbase/client/TableSnapshotScanner.html
@@ -36,7 +36,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client"><span class="strong">Next Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/client/UnmodifyableHTableDescriptor.html" title="class in org.apache.hadoop.hbase.client"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/hadoop/hbase/client/TableSnapshotScanner.html" target="_top">Frames</a></li>
@@ -357,7 +357,7 @@ extends org.apache.hadoop.hbase.client.AbstractClientScanner</pre>
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client"><span class="strong">Next Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/client/UnmodifyableHTableDescriptor.html" title="class in org.apache.hadoop.hbase.client"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/hadoop/hbase/client/TableSnapshotScanner.html" target="_top">Frames</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/apidocs/org/apache/hadoop/hbase/client/TableState.State.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/TableState.State.html b/apidocs/org/apache/hadoop/hbase/client/TableState.State.html
deleted file mode 100644
index e4e9487..0000000
--- a/apidocs/org/apache/hadoop/hbase/client/TableState.State.html
+++ /dev/null
@@ -1,384 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>TableState.State (Apache HBase 2.0.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-</head>
-<body>
-<script type="text/javascript"><!--
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="TableState.State (Apache HBase 2.0.0-SNAPSHOT API)";
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar_top">
-<!--   -->
-</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/TableState.State.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/client/TableSnapshotScanner.html" title="class in org.apache.hadoop.hbase.client"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/client/UnmodifyableHTableDescriptor.html" title="class in org.apache.hadoop.hbase.client"><span class="strong">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/hadoop/hbase/client/TableState.State.html" target="_top">Frames</a></li>
-<li><a href="TableState.State.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#enum_constant_summary">Enum Constants</a>&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#method_summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li><a href="#enum_constant_detail">Enum Constants</a>&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#method_detail">Method</a></li>
-</ul>
-</div>
-<a name="skip-navbar_top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.hadoop.hbase.client</div>
-<h2 title="Enum TableState.State" class="title">Enum TableState.State</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
-<li>
-<ul class="inheritance">
-<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client">TableState.State</a>&gt;</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.hadoop.hbase.client.TableState.State</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd><a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <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;<a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client">TableState.State</a>&gt;</dd>
-</dl>
-<dl>
-<dt>Enclosing class:</dt>
-<dd>org.apache.hadoop.hbase.client.TableState</dd>
-</dl>
-<hr>
-<br>
-<pre>@InterfaceAudience.Public
-@InterfaceStability.Evolving
-public static enum <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableState.html#line.35">TableState.State</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/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client">TableState.State</a>&gt;</pre>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- =========== ENUM CONSTANT SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="enum_constant_summary">
-<!--   -->
-</a>
-<h3>Enum Constant Summary</h3>
-<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
-<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Enum Constant and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html#DISABLED">DISABLED</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html#DISABLING">DISABLING</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html#ENABLED">ENABLED</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html#ENABLING">ENABLING</a></strong></code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method_summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.TableState.State</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html#convert()">convert</a></strong>()</code>
-<div class="block">Covert to PB version of State</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client">TableState.State</a></code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html#convert(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.TableState.State)">convert</a></strong>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.TableState.State&nbsp;state)</code>
-<div class="block">Covert from PB version of State</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client">TableState.State</a></code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html#valueOf(java.lang.String)">valueOf</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;name)</code>
-<div class="block">Returns the enum constant of this type with the specified name.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client">TableState.State</a>[]</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html#values()">values</a></strong>()</code>
-<div class="block">Returns an array containing the constants of this enum type, in
-the order they are declared.</div>
-</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods_inherited_from_class_java.lang.Enum">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;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">Enum</a></h3>
-<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true#compareTo(E)" title="class or interface in java.lang">compareTo</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true#getDeclaringClass()" title="class or interface in java.lang">getDeclaringClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/
 api/java/lang/Enum.html?is-external=true#name()" title="class or interface in java.lang">name</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true#ordinal()" title="class or interface in java.lang">ordinal</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true#valueOf(java.lang.Class,%20java.lang.String)" title="class or interface in java.lang">valueOf</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ ENUM CONSTANT DETAIL =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="enum_constant_detail">
-<!--   -->
-</a>
-<h3>Enum Constant Detail</h3>
-<a name="ENABLED">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>ENABLED</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client">TableState.State</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableState.State.html#line.36">ENABLED</a></pre>
-</li>
-</ul>
-<a name="DISABLED">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>DISABLED</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client">TableState.State</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableState.State.html#line.37">DISABLED</a></pre>
-</li>
-</ul>
-<a name="DISABLING">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>DISABLING</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client">TableState.State</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableState.State.html#line.38">DISABLING</a></pre>
-</li>
-</ul>
-<a name="ENABLING">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>ENABLING</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client">TableState.State</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableState.State.html#line.39">ENABLING</a></pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method_detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="values()">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>values</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client">TableState.State</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableState.State.html#line.18">values</a>()</pre>
-<div class="block">Returns an array containing the constants of this enum type, in
-the order they are declared.  This method may be used to iterate
-over the constants as follows:
-<pre>
-for (TableState.State c : TableState.State.values())
-&nbsp;   System.out.println(c);
-</pre></div>
-<dl><dt><span class="strong">Returns:</span></dt><dd>an array containing the constants of this enum type, in the order they are declared</dd></dl>
-</li>
-</ul>
-<a name="valueOf(java.lang.String)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client">TableState.State</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableState.State.html#line.18">valueOf</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>
-<div class="block">Returns the enum constant of this type with the specified name.
-The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are 
-not permitted.)</div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
-<dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>
-<dt><span class="strong">Throws:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if this enum type has no constant with the specified name</dd>
-<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the argument is null</dd></dl>
-</li>
-</ul>
-<a name="convert(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.TableState.State)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>convert</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client">TableState.State</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableState.State.html#line.47">convert</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.TableState.State&nbsp;state)</pre>
-<div class="block">Covert from PB version of State</div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>state</code> - convert from</dd>
-<dt><span class="strong">Returns:</span></dt><dd>POJO</dd></dl>
-</li>
-</ul>
-<a name="convert()">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>convert</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.TableState.State&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableState.State.html#line.73">convert</a>()</pre>
-<div class="block">Covert to PB version of State</div>
-<dl><dt><span class="strong">Returns:</span></dt><dd>PB</dd></dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar_bottom">
-<!--   -->
-</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/TableState.State.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/client/TableSnapshotScanner.html" title="class in org.apache.hadoop.hbase.client"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/client/UnmodifyableHTableDescriptor.html" title="class in org.apache.hadoop.hbase.client"><span class="strong">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/hadoop/hbase/client/TableState.State.html" target="_top">Frames</a></li>
-<li><a href="TableState.State.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#enum_constant_summary">Enum Constants</a>&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#method_summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li><a href="#enum_constant_detail">Enum Constants</a>&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#method_detail">Method</a></li>
-</ul>
-</div>
-<a name="skip-navbar_bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/apidocs/org/apache/hadoop/hbase/client/UnmodifyableHTableDescriptor.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/UnmodifyableHTableDescriptor.html b/apidocs/org/apache/hadoop/hbase/client/UnmodifyableHTableDescriptor.html
index fc94d9c..97d5ecd 100644
--- a/apidocs/org/apache/hadoop/hbase/client/UnmodifyableHTableDescriptor.html
+++ b/apidocs/org/apache/hadoop/hbase/client/UnmodifyableHTableDescriptor.html
@@ -35,7 +35,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/client/TableSnapshotScanner.html" title="class in org.apache.hadoop.hbase.client"><span class="strong">Prev Class</span></a></li>
 <li><a href="../../../../../org/apache/hadoop/hbase/client/WrongRowIOException.html" title="class in org.apache.hadoop.hbase.client"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -433,7 +433,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Unmo
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/client/TableSnapshotScanner.html" title="class in org.apache.hadoop.hbase.client"><span class="strong">Prev Class</span></a></li>
 <li><a href="../../../../../org/apache/hadoop/hbase/client/WrongRowIOException.html" title="class in org.apache.hadoop.hbase.client"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">


[18/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html
new file mode 100644
index 0000000..fbdde18
--- /dev/null
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html
@@ -0,0 +1,7908 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+<head>
+<title>Source code</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<div class="sourceContainer">
+<pre><span class="sourceLineNo">001</span>/*<a name="line.1"></a>
+<span class="sourceLineNo">002</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.2"></a>
+<span class="sourceLineNo">003</span> * or more contributor license agreements.  See the NOTICE file<a name="line.3"></a>
+<span class="sourceLineNo">004</span> * distributed with this work for additional information<a name="line.4"></a>
+<span class="sourceLineNo">005</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.5"></a>
+<span class="sourceLineNo">006</span> * to you under the Apache License, Version 2.0 (the<a name="line.6"></a>
+<span class="sourceLineNo">007</span> * "License"); you may not use this file except in compliance<a name="line.7"></a>
+<span class="sourceLineNo">008</span> * with the License.  You may obtain a copy of the License at<a name="line.8"></a>
+<span class="sourceLineNo">009</span> *<a name="line.9"></a>
+<span class="sourceLineNo">010</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.10"></a>
+<span class="sourceLineNo">011</span> *<a name="line.11"></a>
+<span class="sourceLineNo">012</span> * Unless required by applicable law or agreed to in writing, software<a name="line.12"></a>
+<span class="sourceLineNo">013</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.13"></a>
+<span class="sourceLineNo">014</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.14"></a>
+<span class="sourceLineNo">015</span> * See the License for the specific language governing permissions and<a name="line.15"></a>
+<span class="sourceLineNo">016</span> * limitations under the License.<a name="line.16"></a>
+<span class="sourceLineNo">017</span> */<a name="line.17"></a>
+<span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.regionserver;<a name="line.18"></a>
+<span class="sourceLineNo">019</span><a name="line.19"></a>
+<span class="sourceLineNo">020</span>import java.io.EOFException;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import java.io.FileNotFoundException;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import java.io.IOException;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import java.io.InterruptedIOException;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.lang.reflect.Constructor;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.text.ParseException;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.util.AbstractList;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.util.ArrayList;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import java.util.Arrays;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import java.util.Collection;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import java.util.Collections;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import java.util.Comparator;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import java.util.HashMap;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import java.util.HashSet;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import java.util.Iterator;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import java.util.List;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import java.util.ListIterator;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import java.util.Map;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import java.util.Map.Entry;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import java.util.NavigableMap;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import java.util.NavigableSet;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import java.util.RandomAccess;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import java.util.Set;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import java.util.TreeMap;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import java.util.UUID;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import java.util.concurrent.Callable;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import java.util.concurrent.CompletionService;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import java.util.concurrent.ConcurrentMap;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import java.util.concurrent.ConcurrentSkipListMap;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import java.util.concurrent.ExecutionException;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import java.util.concurrent.ExecutorCompletionService;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import java.util.concurrent.ExecutorService;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import java.util.concurrent.Executors;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import java.util.concurrent.Future;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import java.util.concurrent.FutureTask;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import java.util.concurrent.ThreadFactory;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import java.util.concurrent.ThreadPoolExecutor;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import java.util.concurrent.TimeUnit;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import java.util.concurrent.TimeoutException;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import java.util.concurrent.atomic.AtomicBoolean;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import java.util.concurrent.locks.Lock;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import java.util.concurrent.locks.ReadWriteLock;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import java.util.concurrent.locks.ReentrantReadWriteLock;<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.fs.FileStatus;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.fs.FileSystem;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.fs.Path;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.Cell;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.CellComparator;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.CompoundConfiguration;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.DroppedSnapshotException;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.HConstants;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.HConstants.OperationStatusCode;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.HDFSBlocksDistribution;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.KeyValue;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.KeyValueUtil;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.RegionTooBusyException;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.ShareableMemory;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.TableName;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.Tag;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.TagRewriteCell;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.TagUtil;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.UnknownScannerException;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.backup.HFileArchiver;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.client.Append;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.client.Durability;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.client.Get;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.client.Increment;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.client.IsolationLevel;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.client.Put;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.client.Result;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.client.RowMutations;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.conf.ConfigurationManager;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.conf.PropagatingConfigurationObserver;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.coprocessor.RegionObserver.MutationType;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.errorhandling.ForeignExceptionSnare;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.exceptions.FailedSanityCheckException;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.exceptions.RegionInRecoveryException;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.exceptions.UnknownProtocolException;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.filter.ByteArrayComparable;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.filter.FilterWrapper;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.filter.IncompatibleFilterException;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.io.HeapSize;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.io.TimeRange;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.io.hfile.HFile;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.ipc.CallerDisconnectedException;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.ipc.RpcCallContext;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.mob.MobUtils;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.monitoring.MonitoredTask;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.protobuf.ResponseConverter;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceCall;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.RegionLoad;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.StoreSequenceId;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor.FlushAction;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor.StoreFlushDescriptor;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor.EventType;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.StoreDescriptor;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl.WriteEntry;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.NextState;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.regionserver.compactions.CompactionContext;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.regionserver.throttle.CompactionThroughputControllerFactory;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.regionserver.throttle.NoLimitThroughputController;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.regionserver.throttle.ThroughputController;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.regionserver.wal.HLogKey;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.regionserver.wal.ReplayHLogKey;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.regionserver.wal.WALUtil;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.security.User;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.snapshot.SnapshotDescriptionUtils;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.snapshot.SnapshotManifest;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.util.ByteStringer;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.util.CancelableProgressable;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.util.ClassSize;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.util.CompressionTest;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.util.Counter;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.util.EncryptionTest;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.util.HashedBytes;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.util.Threads;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.wal.WALFactory;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.wal.WALSplitter.MutationReplay;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>import org.apache.hadoop.io.MultipleIOException;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>import org.apache.hadoop.util.StringUtils;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>import org.apache.htrace.Trace;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.htrace.TraceScope;<a name="line.182"></a>
+<span class="sourceLineNo">183</span><a name="line.183"></a>
+<span class="sourceLineNo">184</span>import com.google.common.annotations.VisibleForTesting;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import com.google.common.base.Optional;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import com.google.common.base.Preconditions;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import com.google.common.collect.Lists;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>import com.google.common.collect.Maps;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>import com.google.common.io.Closeables;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>import com.google.protobuf.ByteString;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>import com.google.protobuf.Descriptors;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>import com.google.protobuf.Message;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>import com.google.protobuf.RpcCallback;<a name="line.193"></a>
+<span class="sourceLineNo">194</span>import com.google.protobuf.RpcController;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>import com.google.protobuf.Service;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>import com.google.protobuf.TextFormat;<a name="line.196"></a>
+<span class="sourceLineNo">197</span><a name="line.197"></a>
+<span class="sourceLineNo">198</span>@SuppressWarnings("deprecation")<a name="line.198"></a>
+<span class="sourceLineNo">199</span>@InterfaceAudience.Private<a name="line.199"></a>
+<span class="sourceLineNo">200</span>public class HRegion implements HeapSize, PropagatingConfigurationObserver, Region {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>  private static final Log LOG = LogFactory.getLog(HRegion.class);<a name="line.201"></a>
+<span class="sourceLineNo">202</span><a name="line.202"></a>
+<span class="sourceLineNo">203</span>  public static final String LOAD_CFS_ON_DEMAND_CONFIG_KEY =<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    "hbase.hregion.scan.loadColumnFamiliesOnDemand";<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>   * This is the global default value for durability. All tables/mutations not<a name="line.207"></a>
+<span class="sourceLineNo">208</span>   * defining a durability or using USE_DEFAULT will default to this value.<a name="line.208"></a>
+<span class="sourceLineNo">209</span>   */<a name="line.209"></a>
+<span class="sourceLineNo">210</span>  private static final Durability DEFAULT_DURABILITY = Durability.SYNC_WAL;<a name="line.210"></a>
+<span class="sourceLineNo">211</span><a name="line.211"></a>
+<span class="sourceLineNo">212</span>  final AtomicBoolean closed = new AtomicBoolean(false);<a name="line.212"></a>
+<span class="sourceLineNo">213</span><a name="line.213"></a>
+<span class="sourceLineNo">214</span>  /* Closing can take some time; use the closing flag if there is stuff we don't<a name="line.214"></a>
+<span class="sourceLineNo">215</span>   * want to do while in closing state; e.g. like offer this region up to the<a name="line.215"></a>
+<span class="sourceLineNo">216</span>   * master as a region to close if the carrying regionserver is overloaded.<a name="line.216"></a>
+<span class="sourceLineNo">217</span>   * Once set, it is never cleared.<a name="line.217"></a>
+<span class="sourceLineNo">218</span>   */<a name="line.218"></a>
+<span class="sourceLineNo">219</span>  final AtomicBoolean closing = new AtomicBoolean(false);<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>   * The max sequence id of flushed data on this region. There is no edit in memory that is<a name="line.222"></a>
+<span class="sourceLineNo">223</span>   * less that this sequence id.<a name="line.223"></a>
+<span class="sourceLineNo">224</span>   */<a name="line.224"></a>
+<span class="sourceLineNo">225</span>  private volatile long maxFlushedSeqId = HConstants.NO_SEQNUM;<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>   * Record the sequence id of last flush operation. Can be in advance of<a name="line.228"></a>
+<span class="sourceLineNo">229</span>   * {@link #maxFlushedSeqId} when flushing a single column family. In this case,<a name="line.229"></a>
+<span class="sourceLineNo">230</span>   * {@link #maxFlushedSeqId} will be older than the oldest edit in memory.<a name="line.230"></a>
+<span class="sourceLineNo">231</span>   */<a name="line.231"></a>
+<span class="sourceLineNo">232</span>  private volatile long lastFlushOpSeqId = HConstants.NO_SEQNUM;<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>   * The sequence id of the last replayed open region event from the primary region. This is used<a name="line.235"></a>
+<span class="sourceLineNo">236</span>   * to skip entries before this due to the possibility of replay edits coming out of order from<a name="line.236"></a>
+<span class="sourceLineNo">237</span>   * replication.<a name="line.237"></a>
+<span class="sourceLineNo">238</span>   */<a name="line.238"></a>
+<span class="sourceLineNo">239</span>  protected volatile long lastReplayedOpenRegionSeqId = -1L;<a name="line.239"></a>
+<span class="sourceLineNo">240</span>  protected volatile long lastReplayedCompactionSeqId = -1L;<a name="line.240"></a>
+<span class="sourceLineNo">241</span><a name="line.241"></a>
+<span class="sourceLineNo">242</span>  //////////////////////////////////////////////////////////////////////////////<a name="line.242"></a>
+<span class="sourceLineNo">243</span>  // Members<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>  // map from a locked row to the context for that lock including:<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  // - CountDownLatch for threads waiting on that row<a name="line.247"></a>
+<span class="sourceLineNo">248</span>  // - the thread that owns the lock (allow reentrancy)<a name="line.248"></a>
+<span class="sourceLineNo">249</span>  // - reference count of (reentrant) locks held by the thread<a name="line.249"></a>
+<span class="sourceLineNo">250</span>  // - the row itself<a name="line.250"></a>
+<span class="sourceLineNo">251</span>  private final ConcurrentHashMap&lt;HashedBytes, RowLockContext&gt; lockedRows =<a name="line.251"></a>
+<span class="sourceLineNo">252</span>      new ConcurrentHashMap&lt;HashedBytes, RowLockContext&gt;();<a name="line.252"></a>
+<span class="sourceLineNo">253</span><a name="line.253"></a>
+<span class="sourceLineNo">254</span>  protected final Map&lt;byte[], Store&gt; stores = new ConcurrentSkipListMap&lt;byte[], Store&gt;(<a name="line.254"></a>
+<span class="sourceLineNo">255</span>      Bytes.BYTES_RAWCOMPARATOR);<a name="line.255"></a>
+<span class="sourceLineNo">256</span><a name="line.256"></a>
+<span class="sourceLineNo">257</span>  // TODO: account for each registered handler in HeapSize computation<a name="line.257"></a>
+<span class="sourceLineNo">258</span>  private Map&lt;String, Service&gt; coprocessorServiceHandlers = Maps.newHashMap();<a name="line.258"></a>
+<span class="sourceLineNo">259</span><a name="line.259"></a>
+<span class="sourceLineNo">260</span>  private final AtomicLong memstoreSize = new AtomicLong(0);<a name="line.260"></a>
+<span class="sourceLineNo">261</span><a name="line.261"></a>
+<span class="sourceLineNo">262</span>  // Debug possible data loss due to WAL off<a name="line.262"></a>
+<span class="sourceLineNo">263</span>  final Counter numMutationsWithoutWAL = new Counter();<a name="line.263"></a>
+<span class="sourceLineNo">264</span>  final Counter dataInMemoryWithoutWAL = new Counter();<a name="line.264"></a>
+<span class="sourceLineNo">265</span><a name="line.265"></a>
+<span class="sourceLineNo">266</span>  // Debug why CAS operations are taking a while.<a name="line.266"></a>
+<span class="sourceLineNo">267</span>  final Counter checkAndMutateChecksPassed = new Counter();<a name="line.267"></a>
+<span class="sourceLineNo">268</span>  final Counter checkAndMutateChecksFailed = new Counter();<a name="line.268"></a>
+<span class="sourceLineNo">269</span><a name="line.269"></a>
+<span class="sourceLineNo">270</span>  // Number of requests<a name="line.270"></a>
+<span class="sourceLineNo">271</span>  final Counter readRequestsCount = new Counter();<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  final Counter filteredReadRequestsCount = new Counter();<a name="line.272"></a>
+<span class="sourceLineNo">273</span>  final Counter writeRequestsCount = new Counter();<a name="line.273"></a>
+<span class="sourceLineNo">274</span><a name="line.274"></a>
+<span class="sourceLineNo">275</span>  // Number of requests blocked by memstore size.<a name="line.275"></a>
+<span class="sourceLineNo">276</span>  private final Counter blockedRequestsCount = new Counter();<a name="line.276"></a>
+<span class="sourceLineNo">277</span><a name="line.277"></a>
+<span class="sourceLineNo">278</span>  // Compaction counters<a name="line.278"></a>
+<span class="sourceLineNo">279</span>  final AtomicLong compactionsFinished = new AtomicLong(0L);<a name="line.279"></a>
+<span class="sourceLineNo">280</span>  final AtomicLong compactionNumFilesCompacted = new AtomicLong(0L);<a name="line.280"></a>
+<span class="sourceLineNo">281</span>  final AtomicLong compactionNumBytesCompacted = new AtomicLong(0L);<a name="line.281"></a>
+<span class="sourceLineNo">282</span><a name="line.282"></a>
+<span class="sourceLineNo">283</span>  private final WAL wal;<a name="line.283"></a>
+<span class="sourceLineNo">284</span>  private final HRegionFileSystem fs;<a name="line.284"></a>
+<span class="sourceLineNo">285</span>  protected final Configuration conf;<a name="line.285"></a>
+<span class="sourceLineNo">286</span>  private final Configuration baseConf;<a name="line.286"></a>
+<span class="sourceLineNo">287</span>  private final int rowLockWaitDuration;<a name="line.287"></a>
+<span class="sourceLineNo">288</span>  private CompactedHFilesDischarger compactedFileDischarger;<a name="line.288"></a>
+<span class="sourceLineNo">289</span>  static final int DEFAULT_ROWLOCK_WAIT_DURATION = 30000;<a name="line.289"></a>
+<span class="sourceLineNo">290</span><a name="line.290"></a>
+<span class="sourceLineNo">291</span>  // The internal wait duration to acquire a lock before read/update<a name="line.291"></a>
+<span class="sourceLineNo">292</span>  // from the region. It is not per row. The purpose of this wait time<a name="line.292"></a>
+<span class="sourceLineNo">293</span>  // is to avoid waiting a long time while the region is busy, so that<a name="line.293"></a>
+<span class="sourceLineNo">294</span>  // we can release the IPC handler soon enough to improve the<a name="line.294"></a>
+<span class="sourceLineNo">295</span>  // availability of the region server. It can be adjusted by<a name="line.295"></a>
+<span class="sourceLineNo">296</span>  // tuning configuration "hbase.busy.wait.duration".<a name="line.296"></a>
+<span class="sourceLineNo">297</span>  final long busyWaitDuration;<a name="line.297"></a>
+<span class="sourceLineNo">298</span>  static final long DEFAULT_BUSY_WAIT_DURATION = HConstants.DEFAULT_HBASE_RPC_TIMEOUT;<a name="line.298"></a>
+<span class="sourceLineNo">299</span><a name="line.299"></a>
+<span class="sourceLineNo">300</span>  // If updating multiple rows in one call, wait longer,<a name="line.300"></a>
+<span class="sourceLineNo">301</span>  // i.e. waiting for busyWaitDuration * # of rows. However,<a name="line.301"></a>
+<span class="sourceLineNo">302</span>  // we can limit the max multiplier.<a name="line.302"></a>
+<span class="sourceLineNo">303</span>  final int maxBusyWaitMultiplier;<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span>  // Max busy wait duration. There is no point to wait longer than the RPC<a name="line.305"></a>
+<span class="sourceLineNo">306</span>  // purge timeout, when a RPC call will be terminated by the RPC engine.<a name="line.306"></a>
+<span class="sourceLineNo">307</span>  final long maxBusyWaitDuration;<a name="line.307"></a>
+<span class="sourceLineNo">308</span><a name="line.308"></a>
+<span class="sourceLineNo">309</span>  // negative number indicates infinite timeout<a name="line.309"></a>
+<span class="sourceLineNo">310</span>  static final long DEFAULT_ROW_PROCESSOR_TIMEOUT = 60 * 1000L;<a name="line.310"></a>
+<span class="sourceLineNo">311</span>  final ExecutorService rowProcessorExecutor = Executors.newCachedThreadPool();<a name="line.311"></a>
+<span class="sourceLineNo">312</span><a name="line.312"></a>
+<span class="sourceLineNo">313</span>  private final ConcurrentHashMap&lt;RegionScanner, Long&gt; scannerReadPoints;<a name="line.313"></a>
+<span class="sourceLineNo">314</span><a name="line.314"></a>
+<span class="sourceLineNo">315</span>  /**<a name="line.315"></a>
+<span class="sourceLineNo">316</span>   * The sequence ID that was encountered when this region was opened.<a name="line.316"></a>
+<span class="sourceLineNo">317</span>   */<a name="line.317"></a>
+<span class="sourceLineNo">318</span>  private long openSeqNum = HConstants.NO_SEQNUM;<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>   * The default setting for whether to enable on-demand CF loading for<a name="line.321"></a>
+<span class="sourceLineNo">322</span>   * scan requests to this region. Requests can override it.<a name="line.322"></a>
+<span class="sourceLineNo">323</span>   */<a name="line.323"></a>
+<span class="sourceLineNo">324</span>  private boolean isLoadingCfsOnDemandDefault = false;<a name="line.324"></a>
+<span class="sourceLineNo">325</span><a name="line.325"></a>
+<span class="sourceLineNo">326</span>  private final AtomicInteger majorInProgress = new AtomicInteger(0);<a name="line.326"></a>
+<span class="sourceLineNo">327</span>  private final AtomicInteger minorInProgress = new AtomicInteger(0);<a name="line.327"></a>
+<span class="sourceLineNo">328</span><a name="line.328"></a>
+<span class="sourceLineNo">329</span>  //<a name="line.329"></a>
+<span class="sourceLineNo">330</span>  // Context: During replay we want to ensure that we do not lose any data. So, we<a name="line.330"></a>
+<span class="sourceLineNo">331</span>  // have to be conservative in how we replay wals. For each store, we calculate<a name="line.331"></a>
+<span class="sourceLineNo">332</span>  // the maxSeqId up to which the store was flushed. And, skip the edits which<a name="line.332"></a>
+<span class="sourceLineNo">333</span>  // are equal to or lower than maxSeqId for each store.<a name="line.333"></a>
+<span class="sourceLineNo">334</span>  // The following map is populated when opening the region<a name="line.334"></a>
+<span class="sourceLineNo">335</span>  Map&lt;byte[], Long&gt; maxSeqIdInStores = new TreeMap&lt;byte[], Long&gt;(Bytes.BYTES_COMPARATOR);<a name="line.335"></a>
+<span class="sourceLineNo">336</span><a name="line.336"></a>
+<span class="sourceLineNo">337</span>  /** Saved state from replaying prepare flush cache */<a name="line.337"></a>
+<span class="sourceLineNo">338</span>  private PrepareFlushResult prepareFlushResult = null;<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>   * Config setting for whether to allow writes when a region is in recovering or not.<a name="line.341"></a>
+<span class="sourceLineNo">342</span>   */<a name="line.342"></a>
+<span class="sourceLineNo">343</span>  private boolean disallowWritesInRecovering = false;<a name="line.343"></a>
+<span class="sourceLineNo">344</span><a name="line.344"></a>
+<span class="sourceLineNo">345</span>  // When a region is in recovering state, it can only accept writes not reads<a name="line.345"></a>
+<span class="sourceLineNo">346</span>  private volatile boolean recovering = false;<a name="line.346"></a>
+<span class="sourceLineNo">347</span><a name="line.347"></a>
+<span class="sourceLineNo">348</span>  private volatile Optional&lt;ConfigurationManager&gt; configurationManager;<a name="line.348"></a>
+<span class="sourceLineNo">349</span><a name="line.349"></a>
+<span class="sourceLineNo">350</span>  /**<a name="line.350"></a>
+<span class="sourceLineNo">351</span>   * @return The smallest mvcc readPoint across all the scanners in this<a name="line.351"></a>
+<span class="sourceLineNo">352</span>   * region. Writes older than this readPoint, are included in every<a name="line.352"></a>
+<span class="sourceLineNo">353</span>   * read operation.<a name="line.353"></a>
+<span class="sourceLineNo">354</span>   */<a name="line.354"></a>
+<span class="sourceLineNo">355</span>  public long getSmallestReadPoint() {<a name="line.355"></a>
+<span class="sourceLineNo">356</span>    long minimumReadPoint;<a name="line.356"></a>
+<span class="sourceLineNo">357</span>    // We need to ensure that while we are calculating the smallestReadPoint<a name="line.357"></a>
+<span class="sourceLineNo">358</span>    // no new RegionScanners can grab a readPoint that we are unaware of.<a name="line.358"></a>
+<span class="sourceLineNo">359</span>    // We achieve this by synchronizing on the scannerReadPoints object.<a name="line.359"></a>
+<span class="sourceLineNo">360</span>    synchronized(scannerReadPoints) {<a name="line.360"></a>
+<span class="sourceLineNo">361</span>      minimumReadPoint = mvcc.getReadPoint();<a name="line.361"></a>
+<span class="sourceLineNo">362</span>      for (Long readPoint: this.scannerReadPoints.values()) {<a name="line.362"></a>
+<span class="sourceLineNo">363</span>        if (readPoint &lt; minimumReadPoint) {<a name="line.363"></a>
+<span class="sourceLineNo">364</span>          minimumReadPoint = readPoint;<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>    return minimumReadPoint;<a name="line.368"></a>
+<span class="sourceLineNo">369</span>  }<a name="line.369"></a>
+<span class="sourceLineNo">370</span><a name="line.370"></a>
+<span class="sourceLineNo">371</span>  /*<a name="line.371"></a>
+<span class="sourceLineNo">372</span>   * Data structure of write state flags used coordinating flushes,<a name="line.372"></a>
+<span class="sourceLineNo">373</span>   * compactions and closes.<a name="line.373"></a>
+<span class="sourceLineNo">374</span>   */<a name="line.374"></a>
+<span class="sourceLineNo">375</span>  static class WriteState {<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    // Set while a memstore flush is happening.<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    volatile boolean flushing = false;<a name="line.377"></a>
+<span class="sourceLineNo">378</span>    // Set when a flush has been requested.<a name="line.378"></a>
+<span class="sourceLineNo">379</span>    volatile boolean flushRequested = false;<a name="line.379"></a>
+<span class="sourceLineNo">380</span>    // Number of compactions running.<a name="line.380"></a>
+<span class="sourceLineNo">381</span>    AtomicInteger compacting = new AtomicInteger(0);<a name="line.381"></a>
+<span class="sourceLineNo">382</span>    // Gets set in close. If set, cannot compact or flush again.<a name="line.382"></a>
+<span class="sourceLineNo">383</span>    volatile boolean writesEnabled = true;<a name="line.383"></a>
+<span class="sourceLineNo">384</span>    // Set if region is read-only<a name="line.384"></a>
+<span class="sourceLineNo">385</span>    volatile boolean readOnly = false;<a name="line.385"></a>
+<span class="sourceLineNo">386</span>    // whether the reads are enabled. This is different than readOnly, because readOnly is<a name="line.386"></a>
+<span class="sourceLineNo">387</span>    // static in the lifetime of the region, while readsEnabled is dynamic<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    volatile boolean readsEnabled = true;<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>     * Set flags that make this region read-only.<a name="line.391"></a>
+<span class="sourceLineNo">392</span>     *<a name="line.392"></a>
+<span class="sourceLineNo">393</span>     * @param onOff flip value for region r/o setting<a name="line.393"></a>
+<span class="sourceLineNo">394</span>     */<a name="line.394"></a>
+<span class="sourceLineNo">395</span>    synchronized void setReadOnly(final boolean onOff) {<a name="line.395"></a>
+<span class="sourceLineNo">396</span>      this.writesEnabled = !onOff;<a name="line.396"></a>
+<span class="sourceLineNo">397</span>      this.readOnly = onOff;<a name="line.397"></a>
+<span class="sourceLineNo">398</span>    }<a name="line.398"></a>
+<span class="sourceLineNo">399</span><a name="line.399"></a>
+<span class="sourceLineNo">400</span>    boolean isReadOnly() {<a name="line.400"></a>
+<span class="sourceLineNo">401</span>      return this.readOnly;<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>    boolean isFlushRequested() {<a name="line.404"></a>
+<span class="sourceLineNo">405</span>      return this.flushRequested;<a name="line.405"></a>
+<span class="sourceLineNo">406</span>    }<a name="line.406"></a>
+<span class="sourceLineNo">407</span><a name="line.407"></a>
+<span class="sourceLineNo">408</span>    void setReadsEnabled(boolean readsEnabled) {<a name="line.408"></a>
+<span class="sourceLineNo">409</span>      this.readsEnabled = readsEnabled;<a name="line.409"></a>
+<span class="sourceLineNo">410</span>    }<a name="line.410"></a>
+<span class="sourceLineNo">411</span><a name="line.411"></a>
+<span class="sourceLineNo">412</span>    static final long HEAP_SIZE = ClassSize.align(<a name="line.412"></a>
+<span class="sourceLineNo">413</span>        ClassSize.OBJECT + 5 * Bytes.SIZEOF_BOOLEAN);<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>   * Objects from this class are created when flushing to describe all the different states that<a name="line.417"></a>
+<span class="sourceLineNo">418</span>   * that method ends up in. The Result enum describes those states. The sequence id should only<a name="line.418"></a>
+<span class="sourceLineNo">419</span>   * be specified if the flush was successful, and the failure message should only be specified<a name="line.419"></a>
+<span class="sourceLineNo">420</span>   * if it didn't flush.<a name="line.420"></a>
+<span class="sourceLineNo">421</span>   */<a name="line.421"></a>
+<span class="sourceLineNo">422</span>  public static class FlushResultImpl implements FlushResult {<a name="line.422"></a>
+<span class="sourceLineNo">423</span>    final Result result;<a name="line.423"></a>
+<span class="sourceLineNo">424</span>    final String failureReason;<a name="line.424"></a>
+<span class="sourceLineNo">425</span>    final long flushSequenceId;<a name="line.425"></a>
+<span class="sourceLineNo">426</span>    final boolean wroteFlushWalMarker;<a name="line.426"></a>
+<span class="sourceLineNo">427</span><a name="line.427"></a>
+<span class="sourceLineNo">428</span>    /**<a name="line.428"></a>
+<span class="sourceLineNo">429</span>     * Convenience constructor to use when the flush is successful, the failure message is set to<a name="line.429"></a>
+<span class="sourceLineNo">430</span>     * null.<a name="line.430"></a>
+<span class="sourceLineNo">431</span>     * @param result Expecting FLUSHED_NO_COMPACTION_NEEDED or FLUSHED_COMPACTION_NEEDED.<a name="line.431"></a>
+<span class="sourceLineNo">432</span>     * @param flushSequenceId Generated sequence id that comes right after the edits in the<a name="line.432"></a>
+<span class="sourceLineNo">433</span>     *                        memstores.<a name="line.433"></a>
+<span class="sourceLineNo">434</span>     */<a name="line.434"></a>
+<span class="sourceLineNo">435</span>    FlushResultImpl(Result result, long flushSequenceId) {<a name="line.435"></a>
+<span class="sourceLineNo">436</span>      this(result, flushSequenceId, null, false);<a name="line.436"></a>
+<span class="sourceLineNo">437</span>      assert result == Result.FLUSHED_NO_COMPACTION_NEEDED || result == Result<a name="line.437"></a>
+<span class="sourceLineNo">438</span>          .FLUSHED_COMPACTION_NEEDED;<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>    /**<a name="line.441"></a>
+<span class="sourceLineNo">442</span>     * Convenience constructor to use when we cannot flush.<a name="line.442"></a>
+<span class="sourceLineNo">443</span>     * @param result Expecting CANNOT_FLUSH_MEMSTORE_EMPTY or CANNOT_FLUSH.<a name="line.443"></a>
+<span class="sourceLineNo">444</span>     * @param failureReason Reason why we couldn't flush.<a name="line.444"></a>
+<span class="sourceLineNo">445</span>     */<a name="line.445"></a>
+<span class="sourceLineNo">446</span>    FlushResultImpl(Result result, String failureReason, boolean wroteFlushMarker) {<a name="line.446"></a>
+<span class="sourceLineNo">447</span>      this(result, -1, failureReason, wroteFlushMarker);<a name="line.447"></a>
+<span class="sourceLineNo">448</span>      assert result == Result.CANNOT_FLUSH_MEMSTORE_EMPTY || result == Result.CANNOT_FLUSH;<a name="line.448"></a>
+<span class="sourceLineNo">449</span>    }<a name="line.449"></a>
+<span class="sourceLineNo">450</span><a name="line.450"></a>
+<span class="sourceLineNo">451</span>    /**<a name="line.451"></a>
+<span class="sourceLineNo">452</span>     * Constructor with all the parameters.<a name="line.452"></a>
+<span class="sourceLineNo">453</span>     * @param result Any of the Result.<a name="line.453"></a>
+<span class="sourceLineNo">454</span>     * @param flushSequenceId Generated sequence id if the memstores were flushed else -1.<a name="line.454"></a>
+<span class="sourceLineNo">455</span>     * @param failureReason Reason why we couldn't flush, or null.<a name="line.455"></a>
+<span class="sourceLineNo">456</span>     */<a name="line.456"></a>
+<span class="sourceLineNo">457</span>    FlushResultImpl(Result result, long flushSequenceId, String failureReason,<a name="line.457"></a>
+<span class="sourceLineNo">458</span>      boolean wroteFlushMarker) {<a name="line.458"></a>
+<span class="sourceLineNo">459</span>      this.result = result;<a name="line.459"></a>
+<span class="sourceLineNo">460</span>      this.flushSequenceId = flushSequenceId;<a name="line.460"></a>
+<span class="sourceLineNo">461</span>      this.failureReason = failureReason;<a name="line.461"></a>
+<span class="sourceLineNo">462</span>      this.wroteFlushWalMarker = wroteFlushMarker;<a name="line.462"></a>
+<span class="sourceLineNo">463</span>    }<a name="line.463"></a>
+<span class="sourceLineNo">464</span><a name="line.464"></a>
+<span class="sourceLineNo">465</span>    /**<a name="line.465"></a>
+<span class="sourceLineNo">466</span>     * Convenience method, the equivalent of checking if result is<a name="line.466"></a>
+<span class="sourceLineNo">467</span>     * FLUSHED_NO_COMPACTION_NEEDED or FLUSHED_NO_COMPACTION_NEEDED.<a name="line.467"></a>
+<span class="sourceLineNo">468</span>     * @return true if the memstores were flushed, else false.<a name="line.468"></a>
+<span class="sourceLineNo">469</span>     */<a name="line.469"></a>
+<span class="sourceLineNo">470</span>    @Override<a name="line.470"></a>
+<span class="sourceLineNo">471</span>    public boolean isFlushSucceeded() {<a name="line.471"></a>
+<span class="sourceLineNo">472</span>      return result == Result.FLUSHED_NO_COMPACTION_NEEDED || result == Result<a name="line.472"></a>
+<span class="sourceLineNo">473</span>          .FLUSHED_COMPACTION_NEEDED;<a name="line.473"></a>
+<span class="sourceLineNo">474</span>    }<a name="line.474"></a>
+<span class="sourceLineNo">475</span><a name="line.475"></a>
+<span class="sourceLineNo">476</span>    /**<a name="line.476"></a>
+<span class="sourceLineNo">477</span>     * Convenience method, the equivalent of checking if result is FLUSHED_COMPACTION_NEEDED.<a name="line.477"></a>
+<span class="sourceLineNo">478</span>     * @return True if the flush requested a compaction, else false (doesn't even mean it flushed).<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 isCompactionNeeded() {<a name="line.481"></a>
+<span class="sourceLineNo">482</span>      return result == Result.FLUSHED_COMPACTION_NEEDED;<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 String toString() {<a name="line.486"></a>
+<span class="sourceLineNo">487</span>      return new StringBuilder()<a name="line.487"></a>
+<span class="sourceLineNo">488</span>        .append("flush result:").append(result).append(", ")<a name="line.488"></a>
+<span class="sourceLineNo">489</span>        .append("failureReason:").append(failureReason).append(",")<a name="line.489"></a>
+<span class="sourceLineNo">490</span>        .append("flush seq id").append(flushSequenceId).toString();<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>    @Override<a name="line.493"></a>
+<span class="sourceLineNo">494</span>    public Result getResult() {<a name="line.494"></a>
+<span class="sourceLineNo">495</span>      return result;<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><a name="line.498"></a>
+<span class="sourceLineNo">499</span>  /** A result object from prepare flush cache stage */<a name="line.499"></a>
+<span class="sourceLineNo">500</span>  @VisibleForTesting<a name="line.500"></a>
+<span class="sourceLineNo">501</span>  static class PrepareFlushResult {<a name="line.501"></a>
+<span class="sourceLineNo">502</span>    final FlushResult result; // indicating a failure result from prepare<a name="line.502"></a>
+<span class="sourceLineNo">503</span>    final TreeMap&lt;byte[], StoreFlushContext&gt; storeFlushCtxs;<a name="line.503"></a>
+<span class="sourceLineNo">504</span>    final TreeMap&lt;byte[], List&lt;Path&gt;&gt; committedFiles;<a name="line.504"></a>
+<span class="sourceLineNo">505</span>    final TreeMap&lt;byte[], Long&gt; storeFlushableSize;<a name="line.505"></a>
+<span class="sourceLineNo">506</span>    final long startTime;<a name="line.506"></a>
+<span class="sourceLineNo">507</span>    final long flushOpSeqId;<a name="line.507"></a>
+<span class="sourceLineNo">508</span>    final long flushedSeqId;<a name="line.508"></a>
+<span class="sourceLineNo">509</span>    final long totalFlushableSize;<a name="line.509"></a>
+<span class="sourceLineNo">510</span><a name="line.510"></a>
+<span class="sourceLineNo">511</span>    /** Constructs an early exit case */<a name="line.511"></a>
+<span class="sourceLineNo">512</span>    PrepareFlushResult(FlushResult result, long flushSeqId) {<a name="line.512"></a>
+<span class="sourceLineNo">513</span>      this(result, null, null, null, Math.max(0, flushSeqId), 0, 0, 0);<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>    /** Constructs a successful prepare flush result */<a name="line.516"></a>
+<span class="sourceLineNo">517</span>    PrepareFlushResult(<a name="line.517"></a>
+<span class="sourceLineNo">518</span>      TreeMap&lt;byte[], StoreFlushContext&gt; storeFlushCtxs,<a name="line.518"></a>
+<span class="sourceLineNo">519</span>      TreeMap&lt;byte[], List&lt;Path&gt;&gt; committedFiles,<a name="line.519"></a>
+<span class="sourceLineNo">520</span>      TreeMap&lt;byte[], Long&gt; storeFlushableSize, long startTime, long flushSeqId,<a name="line.520"></a>
+<span class="sourceLineNo">521</span>      long flushedSeqId, long totalFlushableSize) {<a name="line.521"></a>
+<span class="sourceLineNo">522</span>      this(null, storeFlushCtxs, committedFiles, storeFlushableSize, startTime,<a name="line.522"></a>
+<span class="sourceLineNo">523</span>        flushSeqId, flushedSeqId, totalFlushableSize);<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 PrepareFlushResult(<a name="line.526"></a>
+<span class="sourceLineNo">527</span>      FlushResult result,<a name="line.527"></a>
+<span class="sourceLineNo">528</span>      TreeMap&lt;byte[], StoreFlushContext&gt; storeFlushCtxs,<a name="line.528"></a>
+<span class="sourceLineNo">529</span>      TreeMap&lt;byte[], List&lt;Path&gt;&gt; committedFiles,<a name="line.529"></a>
+<span class="sourceLineNo">530</span>      TreeMap&lt;byte[], Long&gt; storeFlushableSize, long startTime, long flushSeqId,<a name="line.530"></a>
+<span class="sourceLineNo">531</span>      long flushedSeqId, long totalFlushableSize) {<a name="line.531"></a>
+<span class="sourceLineNo">532</span>      this.result = result;<a name="line.532"></a>
+<span class="sourceLineNo">533</span>      this.storeFlushCtxs = storeFlushCtxs;<a name="line.533"></a>
+<span class="sourceLineNo">534</span>      this.committedFiles = committedFiles;<a name="line.534"></a>
+<span class="sourceLineNo">535</span>      this.storeFlushableSize = storeFlushableSize;<a name="line.535"></a>
+<span class="sourceLineNo">536</span>      this.startTime = startTime;<a name="line.536"></a>
+<span class="sourceLineNo">537</span>      this.flushOpSeqId = flushSeqId;<a name="line.537"></a>
+<span class="sourceLineNo">538</span>      this.flushedSeqId = flushedSeqId;<a name="line.538"></a>
+<span class="sourceLineNo">539</span>      this.totalFlushableSize = totalFlushableSize;<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>    public FlushResult getResult() {<a name="line.542"></a>
+<span class="sourceLineNo">543</span>      return this.result;<a name="line.543"></a>
+<span class="sourceLineNo">544</span>    }<a name="line.544"></a>
+<span class="sourceLineNo">545</span>  }<a name="line.545"></a>
+<span class="sourceLineNo">546</span><a name="line.546"></a>
+<span class="sourceLineNo">547</span>  final WriteState writestate = new WriteState();<a name="line.547"></a>
+<span class="sourceLineNo">548</span><a name="line.548"></a>
+<span class="sourceLineNo">549</span>  long memstoreFlushSize;<a name="line.549"></a>
+<span class="sourceLineNo">550</span>  final long timestampSlop;<a name="line.550"></a>
+<span class="sourceLineNo">551</span>  final long rowProcessorTimeout;<a name="line.551"></a>
+<span class="sourceLineNo">552</span><a name="line.552"></a>
+<span class="sourceLineNo">553</span>  // Last flush time for each Store. Useful when we are flushing for each column<a name="line.553"></a>
+<span class="sourceLineNo">554</span>  private final ConcurrentMap&lt;Store, Long&gt; lastStoreFlushTimeMap =<a name="line.554"></a>
+<span class="sourceLineNo">555</span>      new ConcurrentHashMap&lt;Store, Long&gt;();<a name="line.555"></a>
+<span class="sourceLineNo">556</span><a name="line.556"></a>
+<span class="sourceLineNo">557</span>  final RegionServerServices rsServices;<a name="line.557"></a>
+<span class="sourceLineNo">558</span>  private RegionServerAccounting rsAccounting;<a name="line.558"></a>
+<span class="sourceLineNo">559</span>  private long flushCheckInterval;<a name="line.559"></a>
+<span class="sourceLineNo">560</span>  // flushPerChanges is to prevent too many changes in memstore<a name="line.560"></a>
+<span class="sourceLineNo">561</span>  private long flushPerChanges;<a name="line.561"></a>
+<span class="sourceLineNo">562</span>  private long blockingMemStoreSize;<a name="line.562"></a>
+<span class="sourceLineNo">563</span>  final long threadWakeFrequency;<a name="line.563"></a>
+<span class="sourceLineNo">564</span>  // Used to guard closes<a name="line.564"></a>
+<span class="sourceLineNo">565</span>  final ReentrantReadWriteLock lock = new ReentrantReadWriteLock();<a name="line.565"></a>
+<span class="sourceLineNo">566</span><a name="line.566"></a>
+<span class="sourceLineNo">567</span>  // Stop updates lock<a name="line.567"></a>
+<span class="sourceLineNo">568</span>  private final ReentrantReadWriteLock updatesLock = new ReentrantReadWriteLock();<a name="line.568"></a>
+<span class="sourceLineNo">569</span>  private boolean splitRequest;<a name="line.569"></a>
+<span class="sourceLineNo">570</span>  private byte[] explicitSplitPoint = null;<a name="line.570"></a>
+<span class="sourceLineNo">571</span><a name="line.571"></a>
+<span class="sourceLineNo">572</span>  private final MultiVersionConcurrencyControl mvcc = new MultiVersionConcurrencyControl();<a name="line.572"></a>
+<span class="sourceLineNo">573</span><a name="line.573"></a>
+<span class="sourceLineNo">574</span>  // Coprocessor host<a name="line.574"></a>
+<span class="sourceLineNo">575</span>  private RegionCoprocessorHost coprocessorHost;<a name="line.575"></a>
+<span class="sourceLineNo">576</span><a name="line.576"></a>
+<span class="sourceLineNo">577</span>  private HTableDescriptor htableDescriptor = null;<a name="line.577"></a>
+<span class="sourceLineNo">578</span>  private RegionSplitPolicy splitPolicy;<a name="line.578"></a>
+<span class="sourceLineNo">579</span>  private FlushPolicy flushPolicy;<a name="line.579"></a>
+<span class="sourceLineNo">580</span><a name="line.580"></a>
+<span class="sourceLineNo">581</span>  private final MetricsRegion metricsRegion;<a name="line.581"></a>
+<span class="sourceLineNo">582</span>  private final MetricsRegionWrapperImpl metricsRegionWrapper;<a name="line.582"></a>
+<span class="sourceLineNo">583</span>  private final Durability durability;<a name="line.583"></a>
+<span class="sourceLineNo">584</span>  private final boolean regionStatsEnabled;<a name="line.584"></a>
+<span class="sourceLineNo">585</span><a name="line.585"></a>
+<span class="sourceLineNo">586</span>  /**<a name="line.586"></a>
+<span class="sourceLineNo">587</span>   * HRegion constructor. This constructor should only be used for testing and<a name="line.587"></a>
+<span class="sourceLineNo">588</span>   * extensions.  Instances of HRegion should be instantiated with the<a name="line.588"></a>
+<span class="sourceLineNo">589</span>   * {@link HRegion#createHRegion} or {@link HRegion#openHRegion} method.<a name="line.589"></a>
+<span class="sourceLineNo">590</span>   *<a name="line.590"></a>
+<span class="sourceLineNo">591</span>   * @param tableDir qualified path of directory where region should be located,<a name="line.591"></a>
+<span class="sourceLineNo">592</span>   * usually the table directory.<a name="line.592"></a>
+<span class="sourceLineNo">593</span>   * @param wal The WAL is the outbound log for any updates to the HRegion<a name="line.593"></a>
+<span class="sourceLineNo">594</span>   * The wal file is a logfile from the previous execution that's<a name="line.594"></a>
+<span class="sourceLineNo">595</span>   * custom-computed for this HRegion. The HRegionServer computes and sorts the<a name="line.595"></a>
+<span class="sourceLineNo">596</span>   * appropriate wal info for this HRegion. If there is a previous wal file<a name="line.596"></a>
+<span class="sourceLineNo">597</span>   * (implying that the HRegion has been written-to before), then read it from<a name="line.597"></a>
+<span class="sourceLineNo">598</span>   * the supplied path.<a name="line.598"></a>
+<span class="sourceLineNo">599</span>   * @param fs is the filesystem.<a name="line.599"></a>
+<span class="sourceLineNo">600</span>   * @param confParam is global configuration settings.<a name="line.600"></a>
+<span class="sourceLineNo">601</span>   * @param regionInfo - HRegionInfo that describes the region<a name="line.601"></a>
+<span class="sourceLineNo">602</span>   * is new), then read them from the supplied path.<a name="line.602"></a>
+<span class="sourceLineNo">603</span>   * @param htd the table descriptor<a name="line.603"></a>
+<span class="sourceLineNo">604</span>   * @param rsServices reference to {@link RegionServerServices} or null<a name="line.604"></a>
+<span class="sourceLineNo">605</span>   * @deprecated Use other constructors.<a name="line.605"></a>
+<span class="sourceLineNo">606</span>   */<a name="line.606"></a>
+<span class="sourceLineNo">607</span>  @Deprecated<a name="line.607"></a>
+<span class="sourceLineNo">608</span>  @VisibleForTesting<a name="line.608"></a>
+<span class="sourceLineNo">609</span>  public HRegion(final Path tableDir, final WAL wal, final FileSystem fs,<a name="line.609"></a>
+<span class="sourceLineNo">610</span>      final Configuration confParam, final HRegionInfo regionInfo,<a name="line.610"></a>
+<span class="sourceLineNo">611</span>      final HTableDescriptor htd, final RegionServerServices rsServices) {<a name="line.611"></a>
+<span class="sourceLineNo">612</span>    this(new HRegionFileSystem(confParam, fs, tableDir, regionInfo),<a name="line.612"></a>
+<span class="sourceLineNo">613</span>      wal, confParam, htd, rsServices);<a name="line.613"></a>
+<span class="sourceLineNo">614</span>  }<a name="line.614"></a>
+<span class="sourceLineNo">615</span><a name="line.615"></a>
+<span class="sourceLineNo">616</span>  /**<a name="line.616"></a>
+<span class="sourceLineNo">617</span>   * HRegion constructor. This constructor should only be used for testing and<a name="line.617"></a>
+<span class="sourceLineNo">618</span>   * extensions.  Instances of HRegion should be instantiated with the<a name="line.618"></a>
+<span class="sourceLineNo">619</span>   * {@link HRegion#createHRegion} or {@link HRegion#openHRegion} method.<a name="line.619"></a>
+<span class="sourceLineNo">620</span>   *<a name="line.620"></a>
+<span class="sourceLineNo">621</span>   * @param fs is the filesystem.<a name="line.621"></a>
+<span class="sourceLineNo">622</span>   * @param wal The WAL is the outbound log for any updates to the HRegion<a name="line.622"></a>
+<span class="sourceLineNo">623</span>   * The wal file is a logfile from the previous execution that's<a name="line.623"></a>
+<span class="sourceLineNo">624</span>   * custom-computed for this HRegion. The HRegionServer computes and sorts the<a name="line.624"></a>
+<span class="sourceLineNo">625</span>   * appropriate wal info for this HRegion. If there is a previous wal file<a name="line.625"></a>
+<span class="sourceLineNo">626</span>   * (implying that the HRegion has been written-to before), then read it from<a name="line.626"></a>
+<span class="sourceLineNo">627</span>   * the supplied path.<a name="line.627"></a>
+<span class="sourceLineNo">628</span>   * @param confParam is global configuration settings.<a name="line.628"></a>
+<span class="sourceLineNo">629</span>   * @param htd the table descriptor<a name="line.629"></a>
+<span class="sourceLineNo">630</span>   * @param rsServices reference to {@link RegionServerServices} or null<a name="line.630"></a>
+<span class="sourceLineNo">631</span>   */<a name="line.631"></a>
+<span class="sourceLineNo">632</span>  public HRegion(final HRegionFileSystem fs, final WAL wal, final Configuration confParam,<a name="line.632"></a>
+<span class="sourceLineNo">633</span>      final HTableDescriptor htd, final RegionServerServices rsServices) {<a name="line.633"></a>
+<span class="sourceLineNo">634</span>    if (htd == null) {<a name="line.634"></a>
+<span class="sourceLineNo">635</span>      throw new IllegalArgumentException("Need table descriptor");<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>    if (confParam instanceof CompoundConfiguration) {<a name="line.638"></a>
+<span class="sourceLineNo">639</span>      throw new IllegalArgumentException("Need original base configuration");<a name="line.639"></a>
+<span class="sourceLineNo">640</span>    }<a name="line.640"></a>
+<span class="sourceLineNo">641</span><a name="line.641"></a>
+<span class="sourceLineNo">642</span>    this.wal = wal;<a name="line.642"></a>
+<span class="sourceLineNo">643</span>    this.fs = fs;<a name="line.643"></a>
+<span class="sourceLineNo">644</span><a name="line.644"></a>
+<span class="sourceLineNo">645</span>    // 'conf' renamed to 'confParam' b/c we use this.conf in the constructor<a name="line.645"></a>
+<span class="sourceLineNo">646</span>    this.baseConf = confParam;<a name="line.646"></a>
+<span class="sourceLineNo">647</span>    this.conf = new CompoundConfiguration()<a name="line.647"></a>
+<span class="sourceLineNo">648</span>      .add(confParam)<a name="line.648"></a>
+<span class="sourceLineNo">649</span>      .addStringMap(htd.getConfiguration())<a name="line.649"></a>
+<span class="sourceLineNo">650</span>      .addBytesMap(htd.getValues());<a name="line.650"></a>
+<span class="sourceLineNo">651</span>    this.flushCheckInterval = conf.getInt(MEMSTORE_PERIODIC_FLUSH_INTERVAL,<a name="line.651"></a>
+<span class="sourceLineNo">652</span>        DEFAULT_CACHE_FLUSH_INTERVAL);<a name="line.652"></a>
+<span class="sourceLineNo">653</span>    this.flushPerChanges = conf.getLong(MEMSTORE_FLUSH_PER_CHANGES, DEFAULT_FLUSH_PER_CHANGES);<a name="line.653"></a>
+<span class="sourceLineNo">654</span>    if (this.flushPerChanges &gt; MAX_FLUSH_PER_CHANGES) {<a name="line.654"></a>
+<span class="sourceLineNo">655</span>      throw new IllegalArgumentException(MEMSTORE_FLUSH_PER_CHANGES + " can not exceed "<a name="line.655"></a>
+<span class="sourceLineNo">656</span>          + MAX_FLUSH_PER_CHANGES);<a name="line.656"></a>
+<span class="sourceLineNo">657</span>    }<a name="line.657"></a>
+<span class="sourceLineNo">658</span>    this.rowLockWaitDuration = conf.getInt("hbase.rowlock.wait.duration",<a name="line.658"></a>
+<span class="sourceLineNo">659</span>                    DEFAULT_ROWLOCK_WAIT_DURATION);<a name="line.659"></a>
+<span class="sourceLineNo">660</span><a name="line.660"></a>
+<span class="sourceLineNo">661</span>    this.isLoadingCfsOnDemandDefault = conf.getBoolean(LOAD_CFS_ON_DEMAND_CONFIG_KEY, true);<a name="line.661"></a>
+<span class="sourceLineNo">662</span>    this.htableDescriptor = htd;<a name="line.662"></a>
+<span class="sourceLineNo">663</span>    this.rsServices = rsServices;<a name="line.663"></a>
+<span class="sourceLineNo">664</span>    this.threadWakeFrequency = conf.getLong(HConstants.THREAD_WAKE_FREQUENCY, 10 * 1000);<a name="line.664"></a>
+<span class="sourceLineNo">665</span>    setHTableSpecificConf();<a name="line.665"></a>
+<span class="sourceLineNo">666</span>    this.scannerReadPoints = new ConcurrentHashMap&lt;RegionScanner, Long&gt;();<a name="line.666"></a>
+<span class="sourceLineNo">667</span><a name="line.667"></a>
+<span class="sourceLineNo">668</span>    this.busyWaitDuration = conf.getLong(<a name="line.668"></a>
+<span class="sourceLineNo">669</span>      "hbase.busy.wait.duration", DEFAULT_BUSY_WAIT_DURATION);<a name="line.669"></a>
+<span class="sourceLineNo">670</span>    this.maxBusyWaitMultiplier = conf.getInt("hbase.busy.wait.multiplier.max", 2);<a name="line.670"></a>
+<span class="sourceLineNo">671</span>    if (busyWaitDuration * maxBusyWaitMultiplier &lt;= 0L) {<a name="line.671"></a>
+<span class="sourceLineNo">672</span>      throw new IllegalArgumentException("Invalid hbase.busy.wait.duration ("<a name="line.672"></a>
+<span class="sourceLineNo">673</span>        + busyWaitDuration + ") or hbase.busy.wait.multiplier.max ("<a name="line.673"></a>
+<span class="sourceLineNo">674</span>        + maxBusyWaitMultiplier + "). Their product should be positive");<a name="line.674"></a>
+<span class="sourceLineNo">675</span>    }<a name="line.675"></a>
+<span class="sourceLineNo">676</span>    this.maxBusyWaitDuration = conf.getLong("hbase.ipc.client.call.purge.timeout",<a name="line.676"></a>
+<span class="sourceLineNo">677</span>      2 * HConstants.DEFAULT_HBASE_RPC_TIMEOUT);<a name="line.677"></a>
+<span class="sourceLineNo">678</span><a name="line.678"></a>
+<span class="sourceLineNo">679</span>    /*<a name="line.679"></a>
+<span class="sourceLineNo">680</span>     * timestamp.slop provides a server-side constraint on the timestamp. This<a name="line.680"></a>
+<span class="sourceLineNo">681</span>     * assumes that you base your TS around currentTimeMillis(). In this case,<a name="line.681"></a>
+<span class="sourceLineNo">682</span>     * throw an error to the user if the user-specified TS is newer than now +<a name="line.682"></a>
+<span class="sourceLineNo">683</span>     * slop. LATEST_TIMESTAMP == don't use this functionality<a name="line.683"></a>
+<span class="sourceLineNo">684</span>     */<a name="line.684"></a>
+<span class="sourceLineNo">685</span>    this.timestampSlop = conf.getLong(<a name="line.685"></a>
+<span class="sourceLineNo">686</span>        "hbase.hregion.keyvalue.timestamp.slop.millisecs",<a name="line.686"></a>
+<span class="sourceLineNo">687</span>        HConstants.LATEST_TIMESTAMP);<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>     * Timeout for the process time in processRowsWithLocks().<a name="line.690"></a>
+<span class="sourceLineNo">691</span>     * Use -1 to switch off time bound.<a name="line.691"></a>
+<span class="sourceLineNo">692</span>     */<a name="line.692"></a>
+<span class="sourceLineNo">693</span>    this.rowProcessorTimeout = conf.getLong(<a name="line.693"></a>
+<span class="sourceLineNo">694</span>        "hbase.hregion.row.processor.timeout", DEFAULT_ROW_PROCESSOR_TIMEOUT);<a name="line.694"></a>
+<span class="sourceLineNo">695</span>    this.durability = htd.getDurability() == Durability.USE_DEFAULT<a name="line.695"></a>
+<span class="sourceLineNo">696</span>        ? DEFAULT_DURABILITY<a name="line.696"></a>
+<span class="sourceLineNo">697</span>        : htd.getDurability();<a name="line.697"></a>
+<span class="sourceLineNo">698</span>    if (rsServices != null) {<a name="line.698"></a>
+<span class="sourceLineNo">699</span>      this.rsAccounting = this.rsServices.getRegionServerAccounting();<a name="line.699"></a>
+<span class="sourceLineNo">700</span>      // don't initialize coprocessors if not running within a regionserver<a name="line.700"></a>
+<span class="sourceLineNo">701</span>      // TODO: revisit if coprocessors should load in other cases<a name="line.701"></a>
+<span class="sourceLineNo">702</span>      this.coprocessorHost = new RegionCoprocessorHost(this, rsServices, conf);<a name="line.702"></a>
+<span class="sourceLineNo">703</span>      this.metricsRegionWrapper = new MetricsRegionWrapperImpl(this);<a name="line.703"></a>
+<span class="sourceLineNo">704</span>      this.metricsRegion = new MetricsRegion(this.metricsRegionWrapper);<a name="line.704"></a>
+<span class="sourceLineNo">705</span><a name="line.705"></a>
+<span class="sourceLineNo">706</span>      Map&lt;String, Region&gt; recoveringRegions = rsServices.getRecoveringRegions();<a name="line.706"></a>
+<span class="sourceLineNo">707</span>      String encodedName = getRegionInfo().getEncodedName();<a name="line.707"></a>
+<span class="sourceLineNo">708</span>      if (recoveringRegions != null &amp;&amp; recoveringRegions.containsKey(encodedName)) {<a name="line.708"></a>
+<span class="sourceLineNo">709</span>        this.recovering = true;<a name="line.709"></a>
+<span class="sourceLineNo">710</span>        recoveringRegions.put(encodedName, this);<a name="line.710"></a>
+<span class="sourceLineNo">711</span>      }<a name="line.711"></a>
+<span class="sourceLineNo">712</span>    } else {<a name="line.712"></a>
+<span class="sourceLineNo">713</span>      this.metricsRegionWrapper = null;<a name="line.713"></a>
+<span class="sourceLineNo">714</span>      this.metricsRegion = null;<a name="line.714"></a>
+<span class="sourceLineNo">715</span>    }<a name="line.715"></a>
+<span class="sourceLineNo">716</span>    if (LOG.isDebugEnabled()) {<a name="line.716"></a>
+<span class="sourceLineNo">717</span>      // Write out region name as string and its encoded name.<a name="line.717"></a>
+<span class="sourceLineNo">718</span>      LOG.debug("Instantiated " + this);<a name="line.718"></a>
+<span class="sourceLineNo">719</span>    }<a name="line.719"></a>
+<span class="sourceLineNo">720</span><a name="line.720"></a>
+<span class="sourceLineNo">721</span>    // by default, we allow writes against a region when it's in recovering<a name="line.721"></a>
+<span class="sourceLineNo">722</span>    this.disallowWritesInRecovering =<a name="line.722"></a>
+<span class="sourceLineNo">723</span>        conf.getBoolean(HConstants.DISALLOW_WRITES_IN_RECOVERING,<a name="line.723"></a>
+<span class="sourceLineNo">724</span>          HConstants.DEFAULT_DISALLOW_WRITES_IN_RECOVERING_CONFIG);<a name="line.724"></a>
+<span class="sourceLineNo">725</span>    configurationManager = Optional.absent();<a name="line.725"></a>
+<span class="sourceLineNo">726</span><a name="line.726"></a>
+<span class="sourceLineNo">727</span>    // disable stats tracking system tables, but check the config for everything else<a name="line.727"></a>
+<span class="sourceLineNo">728</span>    this.regionStatsEnabled = htd.getTableName().getNamespaceAsString().equals(<a name="line.728"></a>
+<span class="sourceLineNo">729</span>        NamespaceDescriptor.SYSTEM_NAMESPACE_NAME_STR) ?<a name="line.729"></a>
+<span class="sourceLineNo">730</span>          false :<a name="line.730"></a>
+<span class="sourceLineNo">731</span>          conf.getBoolean(HConstants.ENABLE_CLIENT_BACKPRESSURE,<a name="line.731"></a>
+<span class="sourceLineNo">732</span>              HConstants.DEFAULT_ENABLE_CLIENT_BACKPRESSURE);<a name="line.732"></a>
+<span class="sourceLineNo">733</span>  }<a name="line.733"></a>
+<span class="sourceLineNo">734</span><a name="line.734"></a>
+<span class="sourceLineNo">735</span>  void setHTableSpecificConf() {<a name="line.735"></a>
+<span class="sourceLineNo">736</span>    if (this.htableDescriptor == null) return;<a name="line.736"></a>
+<span class="sourceLineNo">737</span>    long flushSize = this.htableDescriptor.getMemStoreFlushSize();<a name="line.737"></a>
+<span class="sourceLineNo">738</span><a name="line.738"></a>
+<span class="sourceLineNo">739</span>    if (flushSize &lt;= 0) {<a name="line.739"></a>
+<span class="sourceLineNo">740</span>      flushSize = conf.getLong(HConstants.HREGION_MEMSTORE_FLUSH_SIZE,<a name="line.740"></a>
+<span class="sourceLineNo">741</span>        HTableDescriptor.DEFAULT_MEMSTORE_FLUSH_SIZE);<a name="line.741"></a>
+<span class="sourceLineNo">742</span>    }<a name="line.742"></a>
+<span class="sourceLineNo">743</span>    this.memstoreFlushSize = flushSize;<a name="line.743"></a>
+<span class="sourceLineNo">744</span>    this.blockingMemStoreSize = this.memstoreFlushSize *<a name="line.744"></a>
+<span class="sourceLineNo">745</span>        conf.getLong(HConstants.HREGION_MEMSTORE_BLOCK_MULTIPLIER,<a name="line.745"></a>
+<span class="sourceLineNo">746</span>                HConstants.DEFAULT_HREGION_MEMSTORE_BLOCK_MULTIPLIER);<a name="line.746"></a>
+<span class="sourceLineNo">747</span>  }<a name="line.747"></a>
+<span class="sourceLineNo">748</span><a name="line.748"></a>
+<span class="sourceLineNo">749</span>  /**<a name="line.749"></a>
+<span class="sourceLineNo">750</span>   * Initialize this region.<a name="line.750"></a>
+<span class="sourceLineNo">751</span>   * Used only by tests and SplitTransaction to reopen the region.<a name="line.751"></a>
+<span class="sourceLineNo">752</span>   * You should use createHRegion() or openHRegion()<a name="line.752"></a>
+<span class="sourceLineNo">753</span>   * @return What the next sequence (edit) id should be.<a name="line.753"></a>
+<span class="sourceLineNo">754</span>   * @throws IOException e<a name="line.754"></a>
+<span class="sourceLineNo">755</span>   * @deprecated use HRegion.createHRegion() or HRegion.openHRegion()<a name="line.755"></a>
+<span class="sourceLineNo">756</span>   */<a name="line.756"></a>
+<span class="sourceLineNo">757</span>  @Deprecated<a name="line.757"></a>
+<span class="sourceLineNo">758</span>  public long initialize() throws IOException {<a name="line.758"></a>
+<span class="sourceLineNo">759</span>    return initialize(null);<a name="line.759"></a>
+<span class="sourceLineNo">760</span>  }<a name="line.760"></a>
+<span class="sourceLineNo">761</span><a name="line.761"></a>
+<span class="sourceLineNo">762</span>  /**<a name="line.762"></a>
+<span class="sourceLineNo">763</span>   * Initialize this region.<a name="line.763"></a>
+<span class="sourceLineNo">764</span>   *<a name="line.764"></a>
+<span class="sourceLineNo">765</span>   * @param reporter Tickle every so often if initialize is taking a while.<a name="line.765"></a>
+<span class="sourceLineNo">766</span>   * @return What the next sequence (edit) id should be.<a name="line.766"></a>
+<span class="sourceLineNo">767</span>   * @throws IOException e<a name="line.767"></a>
+<span class="sourceLineNo">768</span>   */<a name="line.768"></a>
+<span class="sourceLineNo">769</span>  private long initialize(final CancelableProgressable reporter) throws IOException {<a name="line.769"></a>
+<span class="sourceLineNo">770</span>    MonitoredTask status = TaskMonitor.get().createStatus("Initializing region " + this);<a name="line.770"></a>
+<span class="sourceLineNo">771</span>    long nextSeqId = -1;<a name="line.771"></a>
+<span class="sourceLineNo">772</span>    try {<a name="line.772"></a>
+<span class="sourceLineNo">773</span>      nextSeqId = initializeRegionInternals(reporter, status);<a name="line.773"></a>
+<span class="sourceLineNo">774</span>      return nextSeqId;<a name="line.774"></a>
+<span class="sourceLineNo">775</span>    } finally {<a name="line.775"></a>
+<span class="sourceLineNo">776</span>      // nextSeqid will be -1 if the initialization fails.<a name="line.776"></a>
+<span class="sourceLineNo">777</span>      // At least it will be 0 otherwise.<a name="line.777"></a>
+<span class="sourceLineNo">778</span>      if (nextSeqId == -1) {<a name="line.778"></a>
+<span class="sourceLineNo">779</span>        status.abort("Exception during region " + getRegionInfo().getRegionNameAsString() +<a name="line.779"></a>
+<span class="sourceLineNo">780</span>          " initialization.");<a name="line.780"></a>
+<span class="sourceLineNo">781</span>      }<a name="line.781"></a>
+<span class="sourceLineNo">782</span>    }<a name="line.782"></a>
+<span class="sourceLineNo">783</span>  }<a name="line.783"></a>
+<span class="sourceLineNo">784</span><a name="line.784"></a>
+<span class="sourceLineNo">785</span>  private long initializeRegionInternals(final CancelableProgressable reporter,<a name="line.785"></a>
+<span class="sourceLineNo">786</span>      final MonitoredTask status) throws IOException {<a name="line.786"></a>
+<span class="sourceLineNo">787</span>    if (coprocessorHost != null) {<a name="line.787"></a>
+<span class="sourceLineNo">788</span>      status.setStatus("Running coprocessor pre-open hook");<a name="line.788"></a>
+<span class="sourceLineNo">789</span>      coprocessorHost.preOpen();<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>    // Write HRI to a file in case we need to recover hbase:meta<a name="line.792"></a>
+<span class="sourceLineNo">793</span>    status.setStatus("Writing region info on filesystem");<a name="line.793"></a>
+<span class="sourceLineNo">794</span>    fs.checkRegionInfoOnFilesystem();<a name="line.794"></a>
+<span class="sourceLineNo">795</span><a name="line.795"></a>
+<span class="sourceLineNo">796</span>    // Initialize all the HStores<a name="line.796"></a>
+<span class="sourceLineNo">797</span>    status.setStatus("Initializing all the Stores");<a name="line.797"></a>
+<span class="sourceLineNo">798</span>    long maxSeqId = initializeStores(reporter, status);<a name="line.798"></a>
+<span class="sourceLineNo">799</span>    this.mvcc.advanceTo(maxSeqId);<a name="line.799"></a>
+<span class="sourceLineNo">800</span>    if (ServerRegionReplicaUtil.shouldReplayRecoveredEdits(this)) {<a name="line.800"></a>
+<span class="sourceLineNo">801</span>      // Recover any edits if available.<a name="line.801"></a>
+<span class="sourceLineNo">802</span>      maxSeqId = Math.max(maxSeqId,<a name="line.802"></a>
+<span class="sourceLineNo">803</span>        replayRecoveredEditsIfAny(this.fs.getRegionDir(), maxSeqIdInStores, reporter, status));<a name="line.803"></a>
+<span class="sourceLineNo">804</span>      // Make sure mvcc is up to max.<a name="line.804"></a>
+<span class="sourceLineNo">805</span>      this.mvcc.advanceTo(maxSeqId);<a name="line.805"></a>
+<span class="sourceLineNo">806</span>    }<a name="line.806"></a>
+<span class="sourceLineNo">807</span>    this.lastReplayedOpenRegionSeqId = maxSeqId;<a name="line.807"></a>
+<span class="sourceLineNo">808</span><a name="line.808"></a>
+<span class="sourceLineNo">809</span>    this.writestate.setReadOnly(ServerRegionReplicaUtil.isReadOnly(this));<a name="line.809"></a>
+<span class="sourceLineNo">810</span>    this.writestate.flushRequested = false;<a name="line.810"></a>
+<span class="sourceLineNo">811</span>    this.writestate.compacting.set(0);<a name="line.811"></a>
+<span class="sourceLineNo">812</span><a name="line.812"></a>
+<span class="sourceLineNo">813</span>    if (this.writestate.writesEnabled) {<a name="line.813"></a>
+<span class="sourceLineNo">814</span>      // Remove temporary data left over from old regions<a name="line.814"></a>
+<span class="sourceLineNo">815</span>      status.setStatus("Cleaning up temporary data from old regions");<a name="line.815"></a>
+<span class="sourceLineNo">816</span>      fs.cleanupTempDir();<a name="line.816"></a>
+<span class="sourceLineNo">817</span>    }<a name="line.817"></a>
+<span class="sourceLineNo">818</span><a name="line.818"></a>
+<span class="sourceLineNo">819</span>    if (this.writestate.writesEnabled) {<a name="line.819"></a>
+<span class="sourceLineNo">820</span>      status.setStatus("Cleaning up detritus from prior splits");<a name="line.820"></a>
+<span class="sourceLineNo">821</span>      // Get rid of any splits or merges that were lost in-progress.  Clean out<a name="line.821"></a>
+<span class="sourceLineNo">822</span>      // these directories here on open.  We may be opening a region that was<a name="line.822"></a>
+<span class="sourceLineNo">823</span>      // being split but we crashed in the middle of it all.<a name="line.823"></a>
+<span class="sourceLineNo">824</span>      fs.cleanupAnySplitDetritus();<a name="line.824"></a>
+<span class="sourceLineNo">825</span>      fs.cleanupMergesDir();<a name="line.825"></a>
+<span class="sourceLineNo">826</span>    }<a name="line.826"></a>
+<span class="sourceLineNo">827</span><a name="line.827"></a>
+<span class="sourceLineNo">828</span>    // Initialize split policy<a name="line.828"></a>
+<span class="sourceLineNo">829</span>    this.splitPolicy = RegionSplitPolicy.create(this, conf);<a name="line.829"></a>
+<span class="sourceLineNo">830</span><a name="line.830"></a>
+<span class="sourceLineNo">831</span>    // Initialize flush policy<a name="line.831"></a>
+<span class="sourceLineNo">832</span>    this.flushPolicy = FlushPolicyFactory.create(this, conf);<a name="line.832"></a>
+<span class="sourceLineNo">833</span><a name="line.833"></a>
+<span class="sourceLineNo">834</span>    long lastFlushTime = EnvironmentEdgeManager.currentTime();<a name="line.834"></a>
+<span class="sourceLineNo">835</span>    for (Store store: stores.values()) {<a name="line.835"></a>
+<span class="sourceLineNo">836</span>      this.lastStoreFlushTimeMap.put(store, lastFlushTime);<a name="line.836"></a>
+<span class="sourceLineNo">837</span>    }<a name="line.837"></a>
+<span class="sourceLineNo">838</span><a name="line.838"></a>
+<span class="sourceLineNo">839</span>    // Use maximum of log sequenceid or that which was found in stores<a name="line.839"></a>
+<span class="sourceLineNo">840</span>    // (particularly if no recovered edits, seqid will be -1).<a name="line.840"></a>
+<span class="sourceLineNo">841</span>    long nextSeqid = maxSeqId;<a name="line.841"></a>
+<span class="sourceLineNo">842</span><a name="line.842"></a>
+<span class="sourceLineNo">843</span>    // In distributedLogReplay mode, we don't know the last change sequence number because region<a name="line.843"></a>
+<span class="sourceLineNo">844</span>    // is opened before recovery completes. So we add a safety bumper to avoid new sequence number<a name="line.844"></a>
+<span class="sourceLineNo">845</span>    // overlaps used sequence numbers<a name="line.845"></a>
+<span class="sourceLineNo">846</span>    if (this.writestate.writesEnabled) {<a name="line.846"></a>
+<span class="sourceLineNo">847</span>      nextSeqid = WALSplitter.writeRegionSequenceIdFile(this.fs.getFileSystem(), this.fs<a name="line.847"></a>
+<span class="sourceLineNo">848</span>          .getRegionDir(), nextSeqid, (this.recovering ? (this.flushPerChanges + 10000000) : 1));<a name="line.848"></a>
+<span class="sourceLineNo">849</span>    } else {<a name="line.849"></a>
+<span class="sourceLineNo">850</span>      nextSeqid++;<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>    LOG.info("Onlined " + this.getRegionInfo().getShortNameToLog() +<a name="line.853"></a>
+<span class="sourceLineNo">854</span>      "; next sequenceid=" + nextSeqid);<a name="line.854"></a>
+<span class="sourceLineNo">855</span><a name="line.855"></a>
+<span class="sourceLineNo">856</span>    // A region can be reopened if failed a split; reset flags<a name="line.856"></a>
+<span class="s

<TRUNCATED>

[05/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
index f1ce24d..f21d36e 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
@@ -33,9 +33,9 @@
 <span class="sourceLineNo">025</span>  requiredArguments = {<a name="line.25"></a>
 <span class="sourceLineNo">026</span>    @org.jamon.annotations.Argument(name = "regionServer", type = "HRegionServer")},<a name="line.26"></a>
 <span class="sourceLineNo">027</span>  optionalArguments = {<a name="line.27"></a>
-<span class="sourceLineNo">028</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.28"></a>
-<span class="sourceLineNo">029</span>    @org.jamon.annotations.Argument(name = "bcv", type = "String"),<a name="line.29"></a>
-<span class="sourceLineNo">030</span>    @org.jamon.annotations.Argument(name = "bcn", type = "String"),<a name="line.30"></a>
+<span class="sourceLineNo">028</span>    @org.jamon.annotations.Argument(name = "bcv", type = "String"),<a name="line.28"></a>
+<span class="sourceLineNo">029</span>    @org.jamon.annotations.Argument(name = "bcn", type = "String"),<a name="line.29"></a>
+<span class="sourceLineNo">030</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.30"></a>
 <span class="sourceLineNo">031</span>    @org.jamon.annotations.Argument(name = "format", type = "String")})<a name="line.31"></a>
 <span class="sourceLineNo">032</span>public class RSStatusTmpl<a name="line.32"></a>
 <span class="sourceLineNo">033</span>  extends org.jamon.AbstractTemplateProxy<a name="line.33"></a>
@@ -77,57 +77,57 @@
 <span class="sourceLineNo">069</span>      return m_regionServer;<a name="line.69"></a>
 <span class="sourceLineNo">070</span>    }<a name="line.70"></a>
 <span class="sourceLineNo">071</span>    private HRegionServer m_regionServer;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    // 21, 1<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    public void setFilter(String filter)<a name="line.73"></a>
+<span class="sourceLineNo">072</span>    // 24, 1<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    public void setBcv(String bcv)<a name="line.73"></a>
 <span class="sourceLineNo">074</span>    {<a name="line.74"></a>
-<span class="sourceLineNo">075</span>      // 21, 1<a name="line.75"></a>
-<span class="sourceLineNo">076</span>      m_filter = filter;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>      m_filter__IsNotDefault = true;<a name="line.77"></a>
+<span class="sourceLineNo">075</span>      // 24, 1<a name="line.75"></a>
+<span class="sourceLineNo">076</span>      m_bcv = bcv;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>      m_bcv__IsNotDefault = true;<a name="line.77"></a>
 <span class="sourceLineNo">078</span>    }<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    public String getFilter()<a name="line.79"></a>
+<span class="sourceLineNo">079</span>    public String getBcv()<a name="line.79"></a>
 <span class="sourceLineNo">080</span>    {<a name="line.80"></a>
-<span class="sourceLineNo">081</span>      return m_filter;<a name="line.81"></a>
+<span class="sourceLineNo">081</span>      return m_bcv;<a name="line.81"></a>
 <span class="sourceLineNo">082</span>    }<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    private String m_filter;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    public boolean getFilter__IsNotDefault()<a name="line.84"></a>
+<span class="sourceLineNo">083</span>    private String m_bcv;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    public boolean getBcv__IsNotDefault()<a name="line.84"></a>
 <span class="sourceLineNo">085</span>    {<a name="line.85"></a>
-<span class="sourceLineNo">086</span>      return m_filter__IsNotDefault;<a name="line.86"></a>
+<span class="sourceLineNo">086</span>      return m_bcv__IsNotDefault;<a name="line.86"></a>
 <span class="sourceLineNo">087</span>    }<a name="line.87"></a>
-<span class="sourceLineNo">088</span>    private boolean m_filter__IsNotDefault;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>    // 24, 1<a name="line.89"></a>
-<span class="sourceLineNo">090</span>    public void setBcv(String bcv)<a name="line.90"></a>
+<span class="sourceLineNo">088</span>    private boolean m_bcv__IsNotDefault;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>    // 23, 1<a name="line.89"></a>
+<span class="sourceLineNo">090</span>    public void setBcn(String bcn)<a name="line.90"></a>
 <span class="sourceLineNo">091</span>    {<a name="line.91"></a>
-<span class="sourceLineNo">092</span>      // 24, 1<a name="line.92"></a>
-<span class="sourceLineNo">093</span>      m_bcv = bcv;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>      m_bcv__IsNotDefault = true;<a name="line.94"></a>
+<span class="sourceLineNo">092</span>      // 23, 1<a name="line.92"></a>
+<span class="sourceLineNo">093</span>      m_bcn = bcn;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>      m_bcn__IsNotDefault = true;<a name="line.94"></a>
 <span class="sourceLineNo">095</span>    }<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    public String getBcv()<a name="line.96"></a>
+<span class="sourceLineNo">096</span>    public String getBcn()<a name="line.96"></a>
 <span class="sourceLineNo">097</span>    {<a name="line.97"></a>
-<span class="sourceLineNo">098</span>      return m_bcv;<a name="line.98"></a>
+<span class="sourceLineNo">098</span>      return m_bcn;<a name="line.98"></a>
 <span class="sourceLineNo">099</span>    }<a name="line.99"></a>
-<span class="sourceLineNo">100</span>    private String m_bcv;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    public boolean getBcv__IsNotDefault()<a name="line.101"></a>
+<span class="sourceLineNo">100</span>    private String m_bcn;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    public boolean getBcn__IsNotDefault()<a name="line.101"></a>
 <span class="sourceLineNo">102</span>    {<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      return m_bcv__IsNotDefault;<a name="line.103"></a>
+<span class="sourceLineNo">103</span>      return m_bcn__IsNotDefault;<a name="line.103"></a>
 <span class="sourceLineNo">104</span>    }<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    private boolean m_bcv__IsNotDefault;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    // 23, 1<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    public void setBcn(String bcn)<a name="line.107"></a>
+<span class="sourceLineNo">105</span>    private boolean m_bcn__IsNotDefault;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>    // 21, 1<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    public void setFilter(String filter)<a name="line.107"></a>
 <span class="sourceLineNo">108</span>    {<a name="line.108"></a>
-<span class="sourceLineNo">109</span>      // 23, 1<a name="line.109"></a>
-<span class="sourceLineNo">110</span>      m_bcn = bcn;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>      m_bcn__IsNotDefault = true;<a name="line.111"></a>
+<span class="sourceLineNo">109</span>      // 21, 1<a name="line.109"></a>
+<span class="sourceLineNo">110</span>      m_filter = filter;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      m_filter__IsNotDefault = true;<a name="line.111"></a>
 <span class="sourceLineNo">112</span>    }<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    public String getBcn()<a name="line.113"></a>
+<span class="sourceLineNo">113</span>    public String getFilter()<a name="line.113"></a>
 <span class="sourceLineNo">114</span>    {<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      return m_bcn;<a name="line.115"></a>
+<span class="sourceLineNo">115</span>      return m_filter;<a name="line.115"></a>
 <span class="sourceLineNo">116</span>    }<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    private String m_bcn;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    public boolean getBcn__IsNotDefault()<a name="line.118"></a>
+<span class="sourceLineNo">117</span>    private String m_filter;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    public boolean getFilter__IsNotDefault()<a name="line.118"></a>
 <span class="sourceLineNo">119</span>    {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      return m_bcn__IsNotDefault;<a name="line.120"></a>
+<span class="sourceLineNo">120</span>      return m_filter__IsNotDefault;<a name="line.120"></a>
 <span class="sourceLineNo">121</span>    }<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    private boolean m_bcn__IsNotDefault;<a name="line.122"></a>
+<span class="sourceLineNo">122</span>    private boolean m_filter__IsNotDefault;<a name="line.122"></a>
 <span class="sourceLineNo">123</span>    // 22, 1<a name="line.123"></a>
 <span class="sourceLineNo">124</span>    public void setFormat(String format)<a name="line.124"></a>
 <span class="sourceLineNo">125</span>    {<a name="line.125"></a>
@@ -156,24 +156,24 @@
 <span class="sourceLineNo">148</span>    return (ImplData) super.getImplData();<a name="line.148"></a>
 <span class="sourceLineNo">149</span>  }<a name="line.149"></a>
 <span class="sourceLineNo">150</span>  <a name="line.150"></a>
-<span class="sourceLineNo">151</span>  protected String filter;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFilter(String p_filter)<a name="line.152"></a>
+<span class="sourceLineNo">151</span>  protected String bcv;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcv(String p_bcv)<a name="line.152"></a>
 <span class="sourceLineNo">153</span>  {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    (getImplData()).setFilter(p_filter);<a name="line.154"></a>
+<span class="sourceLineNo">154</span>    (getImplData()).setBcv(p_bcv);<a name="line.154"></a>
 <span class="sourceLineNo">155</span>    return this;<a name="line.155"></a>
 <span class="sourceLineNo">156</span>  }<a name="line.156"></a>
 <span class="sourceLineNo">157</span>  <a name="line.157"></a>
-<span class="sourceLineNo">158</span>  protected String bcv;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcv(String p_bcv)<a name="line.159"></a>
+<span class="sourceLineNo">158</span>  protected String bcn;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcn(String p_bcn)<a name="line.159"></a>
 <span class="sourceLineNo">160</span>  {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    (getImplData()).setBcv(p_bcv);<a name="line.161"></a>
+<span class="sourceLineNo">161</span>    (getImplData()).setBcn(p_bcn);<a name="line.161"></a>
 <span class="sourceLineNo">162</span>    return this;<a name="line.162"></a>
 <span class="sourceLineNo">163</span>  }<a name="line.163"></a>
 <span class="sourceLineNo">164</span>  <a name="line.164"></a>
-<span class="sourceLineNo">165</span>  protected String bcn;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcn(String p_bcn)<a name="line.166"></a>
+<span class="sourceLineNo">165</span>  protected String filter;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFilter(String p_filter)<a name="line.166"></a>
 <span class="sourceLineNo">167</span>  {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    (getImplData()).setBcn(p_bcn);<a name="line.168"></a>
+<span class="sourceLineNo">168</span>    (getImplData()).setFilter(p_filter);<a name="line.168"></a>
 <span class="sourceLineNo">169</span>    return this;<a name="line.169"></a>
 <span class="sourceLineNo">170</span>  }<a name="line.170"></a>
 <span class="sourceLineNo">171</span>  <a name="line.171"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.Intf.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.Intf.html b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.Intf.html
index f1ce24d..f21d36e 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.Intf.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.Intf.html
@@ -33,9 +33,9 @@
 <span class="sourceLineNo">025</span>  requiredArguments = {<a name="line.25"></a>
 <span class="sourceLineNo">026</span>    @org.jamon.annotations.Argument(name = "regionServer", type = "HRegionServer")},<a name="line.26"></a>
 <span class="sourceLineNo">027</span>  optionalArguments = {<a name="line.27"></a>
-<span class="sourceLineNo">028</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.28"></a>
-<span class="sourceLineNo">029</span>    @org.jamon.annotations.Argument(name = "bcv", type = "String"),<a name="line.29"></a>
-<span class="sourceLineNo">030</span>    @org.jamon.annotations.Argument(name = "bcn", type = "String"),<a name="line.30"></a>
+<span class="sourceLineNo">028</span>    @org.jamon.annotations.Argument(name = "bcv", type = "String"),<a name="line.28"></a>
+<span class="sourceLineNo">029</span>    @org.jamon.annotations.Argument(name = "bcn", type = "String"),<a name="line.29"></a>
+<span class="sourceLineNo">030</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.30"></a>
 <span class="sourceLineNo">031</span>    @org.jamon.annotations.Argument(name = "format", type = "String")})<a name="line.31"></a>
 <span class="sourceLineNo">032</span>public class RSStatusTmpl<a name="line.32"></a>
 <span class="sourceLineNo">033</span>  extends org.jamon.AbstractTemplateProxy<a name="line.33"></a>
@@ -77,57 +77,57 @@
 <span class="sourceLineNo">069</span>      return m_regionServer;<a name="line.69"></a>
 <span class="sourceLineNo">070</span>    }<a name="line.70"></a>
 <span class="sourceLineNo">071</span>    private HRegionServer m_regionServer;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    // 21, 1<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    public void setFilter(String filter)<a name="line.73"></a>
+<span class="sourceLineNo">072</span>    // 24, 1<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    public void setBcv(String bcv)<a name="line.73"></a>
 <span class="sourceLineNo">074</span>    {<a name="line.74"></a>
-<span class="sourceLineNo">075</span>      // 21, 1<a name="line.75"></a>
-<span class="sourceLineNo">076</span>      m_filter = filter;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>      m_filter__IsNotDefault = true;<a name="line.77"></a>
+<span class="sourceLineNo">075</span>      // 24, 1<a name="line.75"></a>
+<span class="sourceLineNo">076</span>      m_bcv = bcv;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>      m_bcv__IsNotDefault = true;<a name="line.77"></a>
 <span class="sourceLineNo">078</span>    }<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    public String getFilter()<a name="line.79"></a>
+<span class="sourceLineNo">079</span>    public String getBcv()<a name="line.79"></a>
 <span class="sourceLineNo">080</span>    {<a name="line.80"></a>
-<span class="sourceLineNo">081</span>      return m_filter;<a name="line.81"></a>
+<span class="sourceLineNo">081</span>      return m_bcv;<a name="line.81"></a>
 <span class="sourceLineNo">082</span>    }<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    private String m_filter;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    public boolean getFilter__IsNotDefault()<a name="line.84"></a>
+<span class="sourceLineNo">083</span>    private String m_bcv;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    public boolean getBcv__IsNotDefault()<a name="line.84"></a>
 <span class="sourceLineNo">085</span>    {<a name="line.85"></a>
-<span class="sourceLineNo">086</span>      return m_filter__IsNotDefault;<a name="line.86"></a>
+<span class="sourceLineNo">086</span>      return m_bcv__IsNotDefault;<a name="line.86"></a>
 <span class="sourceLineNo">087</span>    }<a name="line.87"></a>
-<span class="sourceLineNo">088</span>    private boolean m_filter__IsNotDefault;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>    // 24, 1<a name="line.89"></a>
-<span class="sourceLineNo">090</span>    public void setBcv(String bcv)<a name="line.90"></a>
+<span class="sourceLineNo">088</span>    private boolean m_bcv__IsNotDefault;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>    // 23, 1<a name="line.89"></a>
+<span class="sourceLineNo">090</span>    public void setBcn(String bcn)<a name="line.90"></a>
 <span class="sourceLineNo">091</span>    {<a name="line.91"></a>
-<span class="sourceLineNo">092</span>      // 24, 1<a name="line.92"></a>
-<span class="sourceLineNo">093</span>      m_bcv = bcv;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>      m_bcv__IsNotDefault = true;<a name="line.94"></a>
+<span class="sourceLineNo">092</span>      // 23, 1<a name="line.92"></a>
+<span class="sourceLineNo">093</span>      m_bcn = bcn;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>      m_bcn__IsNotDefault = true;<a name="line.94"></a>
 <span class="sourceLineNo">095</span>    }<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    public String getBcv()<a name="line.96"></a>
+<span class="sourceLineNo">096</span>    public String getBcn()<a name="line.96"></a>
 <span class="sourceLineNo">097</span>    {<a name="line.97"></a>
-<span class="sourceLineNo">098</span>      return m_bcv;<a name="line.98"></a>
+<span class="sourceLineNo">098</span>      return m_bcn;<a name="line.98"></a>
 <span class="sourceLineNo">099</span>    }<a name="line.99"></a>
-<span class="sourceLineNo">100</span>    private String m_bcv;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    public boolean getBcv__IsNotDefault()<a name="line.101"></a>
+<span class="sourceLineNo">100</span>    private String m_bcn;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    public boolean getBcn__IsNotDefault()<a name="line.101"></a>
 <span class="sourceLineNo">102</span>    {<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      return m_bcv__IsNotDefault;<a name="line.103"></a>
+<span class="sourceLineNo">103</span>      return m_bcn__IsNotDefault;<a name="line.103"></a>
 <span class="sourceLineNo">104</span>    }<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    private boolean m_bcv__IsNotDefault;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    // 23, 1<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    public void setBcn(String bcn)<a name="line.107"></a>
+<span class="sourceLineNo">105</span>    private boolean m_bcn__IsNotDefault;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>    // 21, 1<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    public void setFilter(String filter)<a name="line.107"></a>
 <span class="sourceLineNo">108</span>    {<a name="line.108"></a>
-<span class="sourceLineNo">109</span>      // 23, 1<a name="line.109"></a>
-<span class="sourceLineNo">110</span>      m_bcn = bcn;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>      m_bcn__IsNotDefault = true;<a name="line.111"></a>
+<span class="sourceLineNo">109</span>      // 21, 1<a name="line.109"></a>
+<span class="sourceLineNo">110</span>      m_filter = filter;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      m_filter__IsNotDefault = true;<a name="line.111"></a>
 <span class="sourceLineNo">112</span>    }<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    public String getBcn()<a name="line.113"></a>
+<span class="sourceLineNo">113</span>    public String getFilter()<a name="line.113"></a>
 <span class="sourceLineNo">114</span>    {<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      return m_bcn;<a name="line.115"></a>
+<span class="sourceLineNo">115</span>      return m_filter;<a name="line.115"></a>
 <span class="sourceLineNo">116</span>    }<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    private String m_bcn;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    public boolean getBcn__IsNotDefault()<a name="line.118"></a>
+<span class="sourceLineNo">117</span>    private String m_filter;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    public boolean getFilter__IsNotDefault()<a name="line.118"></a>
 <span class="sourceLineNo">119</span>    {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      return m_bcn__IsNotDefault;<a name="line.120"></a>
+<span class="sourceLineNo">120</span>      return m_filter__IsNotDefault;<a name="line.120"></a>
 <span class="sourceLineNo">121</span>    }<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    private boolean m_bcn__IsNotDefault;<a name="line.122"></a>
+<span class="sourceLineNo">122</span>    private boolean m_filter__IsNotDefault;<a name="line.122"></a>
 <span class="sourceLineNo">123</span>    // 22, 1<a name="line.123"></a>
 <span class="sourceLineNo">124</span>    public void setFormat(String format)<a name="line.124"></a>
 <span class="sourceLineNo">125</span>    {<a name="line.125"></a>
@@ -156,24 +156,24 @@
 <span class="sourceLineNo">148</span>    return (ImplData) super.getImplData();<a name="line.148"></a>
 <span class="sourceLineNo">149</span>  }<a name="line.149"></a>
 <span class="sourceLineNo">150</span>  <a name="line.150"></a>
-<span class="sourceLineNo">151</span>  protected String filter;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFilter(String p_filter)<a name="line.152"></a>
+<span class="sourceLineNo">151</span>  protected String bcv;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcv(String p_bcv)<a name="line.152"></a>
 <span class="sourceLineNo">153</span>  {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    (getImplData()).setFilter(p_filter);<a name="line.154"></a>
+<span class="sourceLineNo">154</span>    (getImplData()).setBcv(p_bcv);<a name="line.154"></a>
 <span class="sourceLineNo">155</span>    return this;<a name="line.155"></a>
 <span class="sourceLineNo">156</span>  }<a name="line.156"></a>
 <span class="sourceLineNo">157</span>  <a name="line.157"></a>
-<span class="sourceLineNo">158</span>  protected String bcv;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcv(String p_bcv)<a name="line.159"></a>
+<span class="sourceLineNo">158</span>  protected String bcn;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcn(String p_bcn)<a name="line.159"></a>
 <span class="sourceLineNo">160</span>  {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    (getImplData()).setBcv(p_bcv);<a name="line.161"></a>
+<span class="sourceLineNo">161</span>    (getImplData()).setBcn(p_bcn);<a name="line.161"></a>
 <span class="sourceLineNo">162</span>    return this;<a name="line.162"></a>
 <span class="sourceLineNo">163</span>  }<a name="line.163"></a>
 <span class="sourceLineNo">164</span>  <a name="line.164"></a>
-<span class="sourceLineNo">165</span>  protected String bcn;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcn(String p_bcn)<a name="line.166"></a>
+<span class="sourceLineNo">165</span>  protected String filter;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFilter(String p_filter)<a name="line.166"></a>
 <span class="sourceLineNo">167</span>  {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    (getImplData()).setBcn(p_bcn);<a name="line.168"></a>
+<span class="sourceLineNo">168</span>    (getImplData()).setFilter(p_filter);<a name="line.168"></a>
 <span class="sourceLineNo">169</span>    return this;<a name="line.169"></a>
 <span class="sourceLineNo">170</span>  }<a name="line.170"></a>
 <span class="sourceLineNo">171</span>  <a name="line.171"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
index f1ce24d..f21d36e 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
@@ -33,9 +33,9 @@
 <span class="sourceLineNo">025</span>  requiredArguments = {<a name="line.25"></a>
 <span class="sourceLineNo">026</span>    @org.jamon.annotations.Argument(name = "regionServer", type = "HRegionServer")},<a name="line.26"></a>
 <span class="sourceLineNo">027</span>  optionalArguments = {<a name="line.27"></a>
-<span class="sourceLineNo">028</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.28"></a>
-<span class="sourceLineNo">029</span>    @org.jamon.annotations.Argument(name = "bcv", type = "String"),<a name="line.29"></a>
-<span class="sourceLineNo">030</span>    @org.jamon.annotations.Argument(name = "bcn", type = "String"),<a name="line.30"></a>
+<span class="sourceLineNo">028</span>    @org.jamon.annotations.Argument(name = "bcv", type = "String"),<a name="line.28"></a>
+<span class="sourceLineNo">029</span>    @org.jamon.annotations.Argument(name = "bcn", type = "String"),<a name="line.29"></a>
+<span class="sourceLineNo">030</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.30"></a>
 <span class="sourceLineNo">031</span>    @org.jamon.annotations.Argument(name = "format", type = "String")})<a name="line.31"></a>
 <span class="sourceLineNo">032</span>public class RSStatusTmpl<a name="line.32"></a>
 <span class="sourceLineNo">033</span>  extends org.jamon.AbstractTemplateProxy<a name="line.33"></a>
@@ -77,57 +77,57 @@
 <span class="sourceLineNo">069</span>      return m_regionServer;<a name="line.69"></a>
 <span class="sourceLineNo">070</span>    }<a name="line.70"></a>
 <span class="sourceLineNo">071</span>    private HRegionServer m_regionServer;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    // 21, 1<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    public void setFilter(String filter)<a name="line.73"></a>
+<span class="sourceLineNo">072</span>    // 24, 1<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    public void setBcv(String bcv)<a name="line.73"></a>
 <span class="sourceLineNo">074</span>    {<a name="line.74"></a>
-<span class="sourceLineNo">075</span>      // 21, 1<a name="line.75"></a>
-<span class="sourceLineNo">076</span>      m_filter = filter;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>      m_filter__IsNotDefault = true;<a name="line.77"></a>
+<span class="sourceLineNo">075</span>      // 24, 1<a name="line.75"></a>
+<span class="sourceLineNo">076</span>      m_bcv = bcv;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>      m_bcv__IsNotDefault = true;<a name="line.77"></a>
 <span class="sourceLineNo">078</span>    }<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    public String getFilter()<a name="line.79"></a>
+<span class="sourceLineNo">079</span>    public String getBcv()<a name="line.79"></a>
 <span class="sourceLineNo">080</span>    {<a name="line.80"></a>
-<span class="sourceLineNo">081</span>      return m_filter;<a name="line.81"></a>
+<span class="sourceLineNo">081</span>      return m_bcv;<a name="line.81"></a>
 <span class="sourceLineNo">082</span>    }<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    private String m_filter;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    public boolean getFilter__IsNotDefault()<a name="line.84"></a>
+<span class="sourceLineNo">083</span>    private String m_bcv;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    public boolean getBcv__IsNotDefault()<a name="line.84"></a>
 <span class="sourceLineNo">085</span>    {<a name="line.85"></a>
-<span class="sourceLineNo">086</span>      return m_filter__IsNotDefault;<a name="line.86"></a>
+<span class="sourceLineNo">086</span>      return m_bcv__IsNotDefault;<a name="line.86"></a>
 <span class="sourceLineNo">087</span>    }<a name="line.87"></a>
-<span class="sourceLineNo">088</span>    private boolean m_filter__IsNotDefault;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>    // 24, 1<a name="line.89"></a>
-<span class="sourceLineNo">090</span>    public void setBcv(String bcv)<a name="line.90"></a>
+<span class="sourceLineNo">088</span>    private boolean m_bcv__IsNotDefault;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>    // 23, 1<a name="line.89"></a>
+<span class="sourceLineNo">090</span>    public void setBcn(String bcn)<a name="line.90"></a>
 <span class="sourceLineNo">091</span>    {<a name="line.91"></a>
-<span class="sourceLineNo">092</span>      // 24, 1<a name="line.92"></a>
-<span class="sourceLineNo">093</span>      m_bcv = bcv;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>      m_bcv__IsNotDefault = true;<a name="line.94"></a>
+<span class="sourceLineNo">092</span>      // 23, 1<a name="line.92"></a>
+<span class="sourceLineNo">093</span>      m_bcn = bcn;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>      m_bcn__IsNotDefault = true;<a name="line.94"></a>
 <span class="sourceLineNo">095</span>    }<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    public String getBcv()<a name="line.96"></a>
+<span class="sourceLineNo">096</span>    public String getBcn()<a name="line.96"></a>
 <span class="sourceLineNo">097</span>    {<a name="line.97"></a>
-<span class="sourceLineNo">098</span>      return m_bcv;<a name="line.98"></a>
+<span class="sourceLineNo">098</span>      return m_bcn;<a name="line.98"></a>
 <span class="sourceLineNo">099</span>    }<a name="line.99"></a>
-<span class="sourceLineNo">100</span>    private String m_bcv;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    public boolean getBcv__IsNotDefault()<a name="line.101"></a>
+<span class="sourceLineNo">100</span>    private String m_bcn;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    public boolean getBcn__IsNotDefault()<a name="line.101"></a>
 <span class="sourceLineNo">102</span>    {<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      return m_bcv__IsNotDefault;<a name="line.103"></a>
+<span class="sourceLineNo">103</span>      return m_bcn__IsNotDefault;<a name="line.103"></a>
 <span class="sourceLineNo">104</span>    }<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    private boolean m_bcv__IsNotDefault;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    // 23, 1<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    public void setBcn(String bcn)<a name="line.107"></a>
+<span class="sourceLineNo">105</span>    private boolean m_bcn__IsNotDefault;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>    // 21, 1<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    public void setFilter(String filter)<a name="line.107"></a>
 <span class="sourceLineNo">108</span>    {<a name="line.108"></a>
-<span class="sourceLineNo">109</span>      // 23, 1<a name="line.109"></a>
-<span class="sourceLineNo">110</span>      m_bcn = bcn;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>      m_bcn__IsNotDefault = true;<a name="line.111"></a>
+<span class="sourceLineNo">109</span>      // 21, 1<a name="line.109"></a>
+<span class="sourceLineNo">110</span>      m_filter = filter;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      m_filter__IsNotDefault = true;<a name="line.111"></a>
 <span class="sourceLineNo">112</span>    }<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    public String getBcn()<a name="line.113"></a>
+<span class="sourceLineNo">113</span>    public String getFilter()<a name="line.113"></a>
 <span class="sourceLineNo">114</span>    {<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      return m_bcn;<a name="line.115"></a>
+<span class="sourceLineNo">115</span>      return m_filter;<a name="line.115"></a>
 <span class="sourceLineNo">116</span>    }<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    private String m_bcn;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    public boolean getBcn__IsNotDefault()<a name="line.118"></a>
+<span class="sourceLineNo">117</span>    private String m_filter;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    public boolean getFilter__IsNotDefault()<a name="line.118"></a>
 <span class="sourceLineNo">119</span>    {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      return m_bcn__IsNotDefault;<a name="line.120"></a>
+<span class="sourceLineNo">120</span>      return m_filter__IsNotDefault;<a name="line.120"></a>
 <span class="sourceLineNo">121</span>    }<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    private boolean m_bcn__IsNotDefault;<a name="line.122"></a>
+<span class="sourceLineNo">122</span>    private boolean m_filter__IsNotDefault;<a name="line.122"></a>
 <span class="sourceLineNo">123</span>    // 22, 1<a name="line.123"></a>
 <span class="sourceLineNo">124</span>    public void setFormat(String format)<a name="line.124"></a>
 <span class="sourceLineNo">125</span>    {<a name="line.125"></a>
@@ -156,24 +156,24 @@
 <span class="sourceLineNo">148</span>    return (ImplData) super.getImplData();<a name="line.148"></a>
 <span class="sourceLineNo">149</span>  }<a name="line.149"></a>
 <span class="sourceLineNo">150</span>  <a name="line.150"></a>
-<span class="sourceLineNo">151</span>  protected String filter;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFilter(String p_filter)<a name="line.152"></a>
+<span class="sourceLineNo">151</span>  protected String bcv;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcv(String p_bcv)<a name="line.152"></a>
 <span class="sourceLineNo">153</span>  {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    (getImplData()).setFilter(p_filter);<a name="line.154"></a>
+<span class="sourceLineNo">154</span>    (getImplData()).setBcv(p_bcv);<a name="line.154"></a>
 <span class="sourceLineNo">155</span>    return this;<a name="line.155"></a>
 <span class="sourceLineNo">156</span>  }<a name="line.156"></a>
 <span class="sourceLineNo">157</span>  <a name="line.157"></a>
-<span class="sourceLineNo">158</span>  protected String bcv;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcv(String p_bcv)<a name="line.159"></a>
+<span class="sourceLineNo">158</span>  protected String bcn;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcn(String p_bcn)<a name="line.159"></a>
 <span class="sourceLineNo">160</span>  {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    (getImplData()).setBcv(p_bcv);<a name="line.161"></a>
+<span class="sourceLineNo">161</span>    (getImplData()).setBcn(p_bcn);<a name="line.161"></a>
 <span class="sourceLineNo">162</span>    return this;<a name="line.162"></a>
 <span class="sourceLineNo">163</span>  }<a name="line.163"></a>
 <span class="sourceLineNo">164</span>  <a name="line.164"></a>
-<span class="sourceLineNo">165</span>  protected String bcn;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcn(String p_bcn)<a name="line.166"></a>
+<span class="sourceLineNo">165</span>  protected String filter;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFilter(String p_filter)<a name="line.166"></a>
 <span class="sourceLineNo">167</span>  {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    (getImplData()).setBcn(p_bcn);<a name="line.168"></a>
+<span class="sourceLineNo">168</span>    (getImplData()).setFilter(p_filter);<a name="line.168"></a>
 <span class="sourceLineNo">169</span>    return this;<a name="line.169"></a>
 <span class="sourceLineNo">170</span>  }<a name="line.170"></a>
 <span class="sourceLineNo">171</span>  <a name="line.171"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
index 99958c6..bc70861 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
@@ -34,23 +34,23 @@
 <span class="sourceLineNo">026</span><a name="line.26"></a>
 <span class="sourceLineNo">027</span>{<a name="line.27"></a>
 <span class="sourceLineNo">028</span>  private final HRegionServer regionServer;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>  private final String filter;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>  private final String bcv;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>  private final String bcn;<a name="line.31"></a>
+<span class="sourceLineNo">029</span>  private final String bcv;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>  private final String bcn;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>  private final String filter;<a name="line.31"></a>
 <span class="sourceLineNo">032</span>  private final String format;<a name="line.32"></a>
 <span class="sourceLineNo">033</span>  protected static org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl.ImplData __jamon_setOptionalArguments(org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl.ImplData p_implData)<a name="line.33"></a>
 <span class="sourceLineNo">034</span>  {<a name="line.34"></a>
-<span class="sourceLineNo">035</span>    if(! p_implData.getFilter__IsNotDefault())<a name="line.35"></a>
+<span class="sourceLineNo">035</span>    if(! p_implData.getBcv__IsNotDefault())<a name="line.35"></a>
 <span class="sourceLineNo">036</span>    {<a name="line.36"></a>
-<span class="sourceLineNo">037</span>      p_implData.setFilter("general");<a name="line.37"></a>
+<span class="sourceLineNo">037</span>      p_implData.setBcv("");<a name="line.37"></a>
 <span class="sourceLineNo">038</span>    }<a name="line.38"></a>
-<span class="sourceLineNo">039</span>    if(! p_implData.getBcv__IsNotDefault())<a name="line.39"></a>
+<span class="sourceLineNo">039</span>    if(! p_implData.getBcn__IsNotDefault())<a name="line.39"></a>
 <span class="sourceLineNo">040</span>    {<a name="line.40"></a>
-<span class="sourceLineNo">041</span>      p_implData.setBcv("");<a name="line.41"></a>
+<span class="sourceLineNo">041</span>      p_implData.setBcn("");<a name="line.41"></a>
 <span class="sourceLineNo">042</span>    }<a name="line.42"></a>
-<span class="sourceLineNo">043</span>    if(! p_implData.getBcn__IsNotDefault())<a name="line.43"></a>
+<span class="sourceLineNo">043</span>    if(! p_implData.getFilter__IsNotDefault())<a name="line.43"></a>
 <span class="sourceLineNo">044</span>    {<a name="line.44"></a>
-<span class="sourceLineNo">045</span>      p_implData.setBcn("");<a name="line.45"></a>
+<span class="sourceLineNo">045</span>      p_implData.setFilter("general");<a name="line.45"></a>
 <span class="sourceLineNo">046</span>    }<a name="line.46"></a>
 <span class="sourceLineNo">047</span>    if(! p_implData.getFormat__IsNotDefault())<a name="line.47"></a>
 <span class="sourceLineNo">048</span>    {<a name="line.48"></a>
@@ -62,9 +62,9 @@
 <span class="sourceLineNo">054</span>  {<a name="line.54"></a>
 <span class="sourceLineNo">055</span>    super(p_templateManager, __jamon_setOptionalArguments(p_implData));<a name="line.55"></a>
 <span class="sourceLineNo">056</span>    regionServer = p_implData.getRegionServer();<a name="line.56"></a>
-<span class="sourceLineNo">057</span>    filter = p_implData.getFilter();<a name="line.57"></a>
-<span class="sourceLineNo">058</span>    bcv = p_implData.getBcv();<a name="line.58"></a>
-<span class="sourceLineNo">059</span>    bcn = p_implData.getBcn();<a name="line.59"></a>
+<span class="sourceLineNo">057</span>    bcv = p_implData.getBcv();<a name="line.57"></a>
+<span class="sourceLineNo">058</span>    bcn = p_implData.getBcn();<a name="line.58"></a>
+<span class="sourceLineNo">059</span>    filter = p_implData.getFilter();<a name="line.59"></a>
 <span class="sourceLineNo">060</span>    format = p_implData.getFormat();<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>


[23/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.PutStatus.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.PutStatus.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.PutStatus.html
index 6cf6743..1b54cf8 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.PutStatus.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.PutStatus.html
@@ -27,572 +27,649 @@
 <span class="sourceLineNo">019</span> */<a name="line.19"></a>
 <span class="sourceLineNo">020</span>package org.apache.hadoop.hbase.client;<a name="line.20"></a>
 <span class="sourceLineNo">021</span><a name="line.21"></a>
-<span class="sourceLineNo">022</span>import java.io.IOException;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.util.AbstractMap.SimpleEntry;<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.Collections;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.util.HashMap;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import java.util.List;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import java.util.Map;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import java.util.concurrent.ExecutorService;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import java.util.concurrent.Executors;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import java.util.concurrent.LinkedBlockingQueue;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import java.util.concurrent.ScheduledExecutorService;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import java.util.concurrent.TimeUnit;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.36"></a>
-<span class="sourceLineNo">037</span><a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.commons.logging.Log;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.commons.logging.LogFactory;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.conf.Configuration;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.HBaseConfiguration;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.HConstants;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.ServerName;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.TableName;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.client.AsyncProcess.AsyncRequestFuture;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.ipc.RpcControllerFactory;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.51"></a>
-<span class="sourceLineNo">052</span><a name="line.52"></a>
-<span class="sourceLineNo">053</span>import com.google.common.util.concurrent.ThreadFactoryBuilder;<a name="line.53"></a>
-<span class="sourceLineNo">054</span><a name="line.54"></a>
-<span class="sourceLineNo">055</span>/**<a name="line.55"></a>
-<span class="sourceLineNo">056</span> * HTableMultiplexer provides a thread-safe non blocking PUT API across all the tables.<a name="line.56"></a>
-<span class="sourceLineNo">057</span> * Each put will be sharded into different buffer queues based on its destination region server.<a name="line.57"></a>
-<span class="sourceLineNo">058</span> * So each region server buffer queue will only have the puts which share the same destination.<a name="line.58"></a>
-<span class="sourceLineNo">059</span> * And each queue will have a flush worker thread to flush the puts request to the region server.<a name="line.59"></a>
-<span class="sourceLineNo">060</span> * If any queue is full, the HTableMultiplexer starts to drop the Put requests for that<a name="line.60"></a>
-<span class="sourceLineNo">061</span> * particular queue.<a name="line.61"></a>
-<span class="sourceLineNo">062</span> *<a name="line.62"></a>
-<span class="sourceLineNo">063</span> * Also all the puts will be retried as a configuration number before dropping.<a name="line.63"></a>
-<span class="sourceLineNo">064</span> * And the HTableMultiplexer can report the number of buffered requests and the number of the<a name="line.64"></a>
-<span class="sourceLineNo">065</span> * failed (dropped) requests in total or on per region server basis.<a name="line.65"></a>
-<span class="sourceLineNo">066</span> *<a name="line.66"></a>
-<span class="sourceLineNo">067</span> * This class is thread safe.<a name="line.67"></a>
-<span class="sourceLineNo">068</span> */<a name="line.68"></a>
-<span class="sourceLineNo">069</span>@InterfaceAudience.Public<a name="line.69"></a>
-<span class="sourceLineNo">070</span>@InterfaceStability.Evolving<a name="line.70"></a>
-<span class="sourceLineNo">071</span>public class HTableMultiplexer {<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  private static final Log LOG = LogFactory.getLog(HTableMultiplexer.class.getName());<a name="line.72"></a>
-<span class="sourceLineNo">073</span><a name="line.73"></a>
-<span class="sourceLineNo">074</span>  public static final String TABLE_MULTIPLEXER_FLUSH_PERIOD_MS =<a name="line.74"></a>
-<span class="sourceLineNo">075</span>      "hbase.tablemultiplexer.flush.period.ms";<a name="line.75"></a>
-<span class="sourceLineNo">076</span>  public static final String TABLE_MULTIPLEXER_INIT_THREADS = "hbase.tablemultiplexer.init.threads";<a name="line.76"></a>
-<span class="sourceLineNo">077</span>  public static final String TABLE_MULTIPLEXER_MAX_RETRIES_IN_QUEUE =<a name="line.77"></a>
-<span class="sourceLineNo">078</span>      "hbase.client.max.retries.in.queue";<a name="line.78"></a>
-<span class="sourceLineNo">079</span><a name="line.79"></a>
-<span class="sourceLineNo">080</span>  /** The map between each region server to its flush worker */<a name="line.80"></a>
-<span class="sourceLineNo">081</span>  private final Map&lt;HRegionLocation, FlushWorker&gt; serverToFlushWorkerMap =<a name="line.81"></a>
-<span class="sourceLineNo">082</span>      new ConcurrentHashMap&lt;&gt;();<a name="line.82"></a>
-<span class="sourceLineNo">083</span><a name="line.83"></a>
-<span class="sourceLineNo">084</span>  private final Configuration workerConf;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>  private final ClusterConnection conn;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>  private final ExecutorService pool;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>  private final int maxAttempts;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>  private final int perRegionServerBufferQueueSize;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>  private final int maxKeyValueSize;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>  private final ScheduledExecutorService executor;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>  private final long flushPeriod;<a name="line.91"></a>
-<span class="sourceLineNo">092</span><a name="line.92"></a>
-<span class="sourceLineNo">093</span>  /**<a name="line.93"></a>
-<span class="sourceLineNo">094</span>   * @param conf The HBaseConfiguration<a name="line.94"></a>
-<span class="sourceLineNo">095</span>   * @param perRegionServerBufferQueueSize determines the max number of the buffered Put ops for<a name="line.95"></a>
-<span class="sourceLineNo">096</span>   *          each region server before dropping the request.<a name="line.96"></a>
-<span class="sourceLineNo">097</span>   */<a name="line.97"></a>
-<span class="sourceLineNo">098</span>  public HTableMultiplexer(Configuration conf, int perRegionServerBufferQueueSize)<a name="line.98"></a>
-<span class="sourceLineNo">099</span>      throws IOException {<a name="line.99"></a>
-<span class="sourceLineNo">100</span>    this.conn = (ClusterConnection) ConnectionFactory.createConnection(conf);<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    this.pool = HTable.getDefaultExecutor(conf);<a name="line.101"></a>
-<span class="sourceLineNo">102</span>    // how many times we could try in total, one more than retry number<a name="line.102"></a>
-<span class="sourceLineNo">103</span>    this.maxAttempts = conf.getInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER,<a name="line.103"></a>
-<span class="sourceLineNo">104</span>        HConstants.DEFAULT_HBASE_CLIENT_RETRIES_NUMBER) + 1;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    this.perRegionServerBufferQueueSize = perRegionServerBufferQueueSize;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    this.maxKeyValueSize = HTable.getMaxKeyValueSize(conf);<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    this.flushPeriod = conf.getLong(TABLE_MULTIPLEXER_FLUSH_PERIOD_MS, 100);<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    int initThreads = conf.getInt(TABLE_MULTIPLEXER_INIT_THREADS, 10);<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    this.executor =<a name="line.109"></a>
-<span class="sourceLineNo">110</span>        Executors.newScheduledThreadPool(initThreads,<a name="line.110"></a>
-<span class="sourceLineNo">111</span>          new ThreadFactoryBuilder().setDaemon(true).setNameFormat("HTableFlushWorker-%d").build());<a name="line.111"></a>
-<span class="sourceLineNo">112</span><a name="line.112"></a>
-<span class="sourceLineNo">113</span>    this.workerConf = HBaseConfiguration.create(conf);<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    // We do not do the retry because we need to reassign puts to different queues if regions are<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    // moved.<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    this.workerConf.setInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER, 0);<a name="line.116"></a>
-<span class="sourceLineNo">117</span>  }<a name="line.117"></a>
-<span class="sourceLineNo">118</span><a name="line.118"></a>
-<span class="sourceLineNo">119</span>  /**<a name="line.119"></a>
-<span class="sourceLineNo">120</span>   * The put request will be buffered by its corresponding buffer queue. Return false if the queue<a name="line.120"></a>
-<span class="sourceLineNo">121</span>   * is already full.<a name="line.121"></a>
-<span class="sourceLineNo">122</span>   * @param tableName<a name="line.122"></a>
-<span class="sourceLineNo">123</span>   * @param put<a name="line.123"></a>
-<span class="sourceLineNo">124</span>   * @return true if the request can be accepted by its corresponding buffer queue.<a name="line.124"></a>
-<span class="sourceLineNo">125</span>   */<a name="line.125"></a>
-<span class="sourceLineNo">126</span>  public boolean put(TableName tableName, final Put put) {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    return put(tableName, put, this.maxAttempts);<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 name="line.130"></a>
-<span class="sourceLineNo">131</span>   * The puts request will be buffered by their corresponding buffer queue.<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   * Return the list of puts which could not be queued.<a name="line.132"></a>
-<span class="sourceLineNo">133</span>   * @param tableName<a name="line.133"></a>
-<span class="sourceLineNo">134</span>   * @param puts<a name="line.134"></a>
-<span class="sourceLineNo">135</span>   * @return the list of puts which could not be queued<a name="line.135"></a>
-<span class="sourceLineNo">136</span>   */<a name="line.136"></a>
-<span class="sourceLineNo">137</span>  public List&lt;Put&gt; put(TableName tableName, final List&lt;Put&gt; puts) {<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    if (puts == null)<a name="line.138"></a>
-<span class="sourceLineNo">139</span>      return null;<a name="line.139"></a>
-<span class="sourceLineNo">140</span><a name="line.140"></a>
-<span class="sourceLineNo">141</span>    List &lt;Put&gt; failedPuts = null;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    boolean result;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    for (Put put : puts) {<a name="line.143"></a>
-<span class="sourceLineNo">144</span>      result = put(tableName, put, this.maxAttempts);<a name="line.144"></a>
-<span class="sourceLineNo">145</span>      if (result == false) {<a name="line.145"></a>
-<span class="sourceLineNo">146</span><a name="line.146"></a>
-<span class="sourceLineNo">147</span>        // Create the failed puts list if necessary<a name="line.147"></a>
-<span class="sourceLineNo">148</span>        if (failedPuts == null) {<a name="line.148"></a>
-<span class="sourceLineNo">149</span>          failedPuts = new ArrayList&lt;Put&gt;();<a name="line.149"></a>
-<span class="sourceLineNo">150</span>        }<a name="line.150"></a>
-<span class="sourceLineNo">151</span>        // Add the put to the failed puts list<a name="line.151"></a>
-<span class="sourceLineNo">152</span>        failedPuts.add(put);<a name="line.152"></a>
-<span class="sourceLineNo">153</span>      }<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    }<a name="line.154"></a>
-<span class="sourceLineNo">155</span>    return failedPuts;<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>   * @deprecated Use {@link #put(TableName, List) } instead.<a name="line.159"></a>
+<span class="sourceLineNo">022</span>import com.google.common.annotations.VisibleForTesting;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import com.google.common.util.concurrent.ThreadFactoryBuilder;<a name="line.23"></a>
+<span class="sourceLineNo">024</span><a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.io.IOException;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.util.AbstractMap.SimpleEntry;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.util.ArrayList;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import java.util.Collections;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import java.util.HashMap;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import java.util.List;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import java.util.Map;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import java.util.concurrent.ExecutorService;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import java.util.concurrent.Executors;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import java.util.concurrent.LinkedBlockingQueue;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import java.util.concurrent.ScheduledExecutorService;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import java.util.concurrent.TimeUnit;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.39"></a>
+<span class="sourceLineNo">040</span><a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.commons.logging.Log;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.commons.logging.LogFactory;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.conf.Configuration;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.HBaseConfiguration;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.HConstants;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.ServerName;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.TableName;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.client.AsyncProcess.AsyncRequestFuture;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.ipc.RpcControllerFactory;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.54"></a>
+<span class="sourceLineNo">055</span><a name="line.55"></a>
+<span class="sourceLineNo">056</span>/**<a name="line.56"></a>
+<span class="sourceLineNo">057</span> * HTableMultiplexer provides a thread-safe non blocking PUT API across all the tables.<a name="line.57"></a>
+<span class="sourceLineNo">058</span> * Each put will be sharded into different buffer queues based on its destination region server.<a name="line.58"></a>
+<span class="sourceLineNo">059</span> * So each region server buffer queue will only have the puts which share the same destination.<a name="line.59"></a>
+<span class="sourceLineNo">060</span> * And each queue will have a flush worker thread to flush the puts request to the region server.<a name="line.60"></a>
+<span class="sourceLineNo">061</span> * If any queue is full, the HTableMultiplexer starts to drop the Put requests for that<a name="line.61"></a>
+<span class="sourceLineNo">062</span> * particular queue.<a name="line.62"></a>
+<span class="sourceLineNo">063</span> *<a name="line.63"></a>
+<span class="sourceLineNo">064</span> * Also all the puts will be retried as a configuration number before dropping.<a name="line.64"></a>
+<span class="sourceLineNo">065</span> * And the HTableMultiplexer can report the number of buffered requests and the number of the<a name="line.65"></a>
+<span class="sourceLineNo">066</span> * failed (dropped) requests in total or on per region server basis.<a name="line.66"></a>
+<span class="sourceLineNo">067</span> *<a name="line.67"></a>
+<span class="sourceLineNo">068</span> * This class is thread safe.<a name="line.68"></a>
+<span class="sourceLineNo">069</span> */<a name="line.69"></a>
+<span class="sourceLineNo">070</span>@InterfaceAudience.Public<a name="line.70"></a>
+<span class="sourceLineNo">071</span>@InterfaceStability.Evolving<a name="line.71"></a>
+<span class="sourceLineNo">072</span>public class HTableMultiplexer {<a name="line.72"></a>
+<span class="sourceLineNo">073</span>  private static final Log LOG = LogFactory.getLog(HTableMultiplexer.class.getName());<a name="line.73"></a>
+<span class="sourceLineNo">074</span><a name="line.74"></a>
+<span class="sourceLineNo">075</span>  public static final String TABLE_MULTIPLEXER_FLUSH_PERIOD_MS =<a name="line.75"></a>
+<span class="sourceLineNo">076</span>      "hbase.tablemultiplexer.flush.period.ms";<a name="line.76"></a>
+<span class="sourceLineNo">077</span>  public static final String TABLE_MULTIPLEXER_INIT_THREADS = "hbase.tablemultiplexer.init.threads";<a name="line.77"></a>
+<span class="sourceLineNo">078</span>  public static final String TABLE_MULTIPLEXER_MAX_RETRIES_IN_QUEUE =<a name="line.78"></a>
+<span class="sourceLineNo">079</span>      "hbase.client.max.retries.in.queue";<a name="line.79"></a>
+<span class="sourceLineNo">080</span><a name="line.80"></a>
+<span class="sourceLineNo">081</span>  /** The map between each region server to its flush worker */<a name="line.81"></a>
+<span class="sourceLineNo">082</span>  private final Map&lt;HRegionLocation, FlushWorker&gt; serverToFlushWorkerMap =<a name="line.82"></a>
+<span class="sourceLineNo">083</span>      new ConcurrentHashMap&lt;&gt;();<a name="line.83"></a>
+<span class="sourceLineNo">084</span><a name="line.84"></a>
+<span class="sourceLineNo">085</span>  private final Configuration workerConf;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>  private final ClusterConnection conn;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>  private final ExecutorService pool;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>  private final int maxAttempts;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>  private final int perRegionServerBufferQueueSize;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>  private final int maxKeyValueSize;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>  private final ScheduledExecutorService executor;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>  private final long flushPeriod;<a name="line.92"></a>
+<span class="sourceLineNo">093</span><a name="line.93"></a>
+<span class="sourceLineNo">094</span>  /**<a name="line.94"></a>
+<span class="sourceLineNo">095</span>   * @param conf The HBaseConfiguration<a name="line.95"></a>
+<span class="sourceLineNo">096</span>   * @param perRegionServerBufferQueueSize determines the max number of the buffered Put ops for<a name="line.96"></a>
+<span class="sourceLineNo">097</span>   *          each region server before dropping the request.<a name="line.97"></a>
+<span class="sourceLineNo">098</span>   */<a name="line.98"></a>
+<span class="sourceLineNo">099</span>  public HTableMultiplexer(Configuration conf, int perRegionServerBufferQueueSize)<a name="line.99"></a>
+<span class="sourceLineNo">100</span>      throws IOException {<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    this(ConnectionFactory.createConnection(conf), conf, perRegionServerBufferQueueSize);<a name="line.101"></a>
+<span class="sourceLineNo">102</span>  }<a name="line.102"></a>
+<span class="sourceLineNo">103</span><a name="line.103"></a>
+<span class="sourceLineNo">104</span>  /**<a name="line.104"></a>
+<span class="sourceLineNo">105</span>   * @param conn The HBase connection.<a name="line.105"></a>
+<span class="sourceLineNo">106</span>   * @param conf The HBase configuration<a name="line.106"></a>
+<span class="sourceLineNo">107</span>   * @param perRegionServerBufferQueueSize determines the max number of the buffered Put ops for<a name="line.107"></a>
+<span class="sourceLineNo">108</span>   *          each region server before dropping the request.<a name="line.108"></a>
+<span class="sourceLineNo">109</span>   */<a name="line.109"></a>
+<span class="sourceLineNo">110</span>  public HTableMultiplexer(Connection conn, Configuration conf,<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      int perRegionServerBufferQueueSize) {<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    this.conn = (ClusterConnection) conn;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>    this.pool = HTable.getDefaultExecutor(conf);<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    // how many times we could try in total, one more than retry number<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    this.maxAttempts = conf.getInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER,<a name="line.115"></a>
+<span class="sourceLineNo">116</span>        HConstants.DEFAULT_HBASE_CLIENT_RETRIES_NUMBER) + 1;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    this.perRegionServerBufferQueueSize = perRegionServerBufferQueueSize;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    this.maxKeyValueSize = HTable.getMaxKeyValueSize(conf);<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    this.flushPeriod = conf.getLong(TABLE_MULTIPLEXER_FLUSH_PERIOD_MS, 100);<a name="line.119"></a>
+<span class="sourceLineNo">120</span>    int initThreads = conf.getInt(TABLE_MULTIPLEXER_INIT_THREADS, 10);<a name="line.120"></a>
+<span class="sourceLineNo">121</span>    this.executor =<a name="line.121"></a>
+<span class="sourceLineNo">122</span>        Executors.newScheduledThreadPool(initThreads,<a name="line.122"></a>
+<span class="sourceLineNo">123</span>          new ThreadFactoryBuilder().setDaemon(true).setNameFormat("HTableFlushWorker-%d").build());<a name="line.123"></a>
+<span class="sourceLineNo">124</span><a name="line.124"></a>
+<span class="sourceLineNo">125</span>    this.workerConf = HBaseConfiguration.create(conf);<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    // We do not do the retry because we need to reassign puts to different queues if regions are<a name="line.126"></a>
+<span class="sourceLineNo">127</span>    // moved.<a name="line.127"></a>
+<span class="sourceLineNo">128</span>    this.workerConf.setInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER, 0);<a name="line.128"></a>
+<span class="sourceLineNo">129</span>  }<a name="line.129"></a>
+<span class="sourceLineNo">130</span><a name="line.130"></a>
+<span class="sourceLineNo">131</span>  /**<a name="line.131"></a>
+<span class="sourceLineNo">132</span>   * Closes the internal {@link Connection}. Does nothing if the {@link Connection} has already<a name="line.132"></a>
+<span class="sourceLineNo">133</span>   * been closed.<a name="line.133"></a>
+<span class="sourceLineNo">134</span>   * @throws IOException If there is an error closing the connection.<a name="line.134"></a>
+<span class="sourceLineNo">135</span>   */<a name="line.135"></a>
+<span class="sourceLineNo">136</span>  @SuppressWarnings("deprecation")<a name="line.136"></a>
+<span class="sourceLineNo">137</span>  public synchronized void close() throws IOException {<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    if (!getConnection().isClosed()) {<a name="line.138"></a>
+<span class="sourceLineNo">139</span>      getConnection().close();<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    }<a name="line.140"></a>
+<span class="sourceLineNo">141</span>  }<a name="line.141"></a>
+<span class="sourceLineNo">142</span><a name="line.142"></a>
+<span class="sourceLineNo">143</span>  /**<a name="line.143"></a>
+<span class="sourceLineNo">144</span>   * The put request will be buffered by its corresponding buffer queue. Return false if the queue<a name="line.144"></a>
+<span class="sourceLineNo">145</span>   * is already full.<a name="line.145"></a>
+<span class="sourceLineNo">146</span>   * @param tableName<a name="line.146"></a>
+<span class="sourceLineNo">147</span>   * @param put<a name="line.147"></a>
+<span class="sourceLineNo">148</span>   * @return true if the request can be accepted by its corresponding buffer queue.<a name="line.148"></a>
+<span class="sourceLineNo">149</span>   */<a name="line.149"></a>
+<span class="sourceLineNo">150</span>  public boolean put(TableName tableName, final Put put) {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    return put(tableName, put, this.maxAttempts);<a name="line.151"></a>
+<span class="sourceLineNo">152</span>  }<a name="line.152"></a>
+<span class="sourceLineNo">153</span><a name="line.153"></a>
+<span class="sourceLineNo">154</span>  /**<a name="line.154"></a>
+<span class="sourceLineNo">155</span>   * The puts request will be buffered by their corresponding buffer queue.<a name="line.155"></a>
+<span class="sourceLineNo">156</span>   * Return the list of puts which could not be queued.<a name="line.156"></a>
+<span class="sourceLineNo">157</span>   * @param tableName<a name="line.157"></a>
+<span class="sourceLineNo">158</span>   * @param puts<a name="line.158"></a>
+<span class="sourceLineNo">159</span>   * @return the list of puts which could not be queued<a name="line.159"></a>
 <span class="sourceLineNo">160</span>   */<a name="line.160"></a>
-<span class="sourceLineNo">161</span>  @Deprecated<a name="line.161"></a>
-<span class="sourceLineNo">162</span>  public List&lt;Put&gt; put(byte[] tableName, final List&lt;Put&gt; puts) {<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    return put(TableName.valueOf(tableName), puts);<a name="line.163"></a>
-<span class="sourceLineNo">164</span>  }<a name="line.164"></a>
-<span class="sourceLineNo">165</span><a name="line.165"></a>
-<span class="sourceLineNo">166</span>  /**<a name="line.166"></a>
-<span class="sourceLineNo">167</span>   * The put request will be buffered by its corresponding buffer queue. And the put request will be<a name="line.167"></a>
-<span class="sourceLineNo">168</span>   * retried before dropping the request.<a name="line.168"></a>
-<span class="sourceLineNo">169</span>   * Return false if the queue is already full.<a name="line.169"></a>
-<span class="sourceLineNo">170</span>   * @return true if the request can be accepted by its corresponding buffer queue.<a name="line.170"></a>
-<span class="sourceLineNo">171</span>   */<a name="line.171"></a>
-<span class="sourceLineNo">172</span>  public boolean put(final TableName tableName, final Put put, int maxAttempts) {<a name="line.172"></a>
-<span class="sourceLineNo">173</span>    if (maxAttempts &lt;= 0) {<a name="line.173"></a>
-<span class="sourceLineNo">174</span>      return false;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    }<a name="line.175"></a>
-<span class="sourceLineNo">176</span><a name="line.176"></a>
-<span class="sourceLineNo">177</span>    try {<a name="line.177"></a>
-<span class="sourceLineNo">178</span>      HTable.validatePut(put, maxKeyValueSize);<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      HRegionLocation loc = conn.getRegionLocation(tableName, put.getRow(), false);<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      if (loc != null) {<a name="line.180"></a>
-<span class="sourceLineNo">181</span>        // Add the put pair into its corresponding queue.<a name="line.181"></a>
-<span class="sourceLineNo">182</span>        LinkedBlockingQueue&lt;PutStatus&gt; queue = getQueue(loc);<a name="line.182"></a>
-<span class="sourceLineNo">183</span><a name="line.183"></a>
-<span class="sourceLineNo">184</span>        // Generate a MultiPutStatus object and offer it into the queue<a name="line.184"></a>
-<span class="sourceLineNo">185</span>        PutStatus s = new PutStatus(loc.getRegionInfo(), put, maxAttempts);<a name="line.185"></a>
-<span class="sourceLineNo">186</span><a name="line.186"></a>
-<span class="sourceLineNo">187</span>        return queue.offer(s);<a name="line.187"></a>
-<span class="sourceLineNo">188</span>      }<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    } catch (IOException e) {<a name="line.189"></a>
-<span class="sourceLineNo">190</span>      LOG.debug("Cannot process the put " + put, e);<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    }<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    return false;<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>  /**<a name="line.195"></a>
-<span class="sourceLineNo">196</span>   * @deprecated Use {@link #put(TableName, Put) } instead.<a name="line.196"></a>
-<span class="sourceLineNo">197</span>   */<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  @Deprecated<a name="line.198"></a>
-<span class="sourceLineNo">199</span>  public boolean put(final byte[] tableName, final Put put, int retry) {<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    return put(TableName.valueOf(tableName), put, retry);<a name="line.200"></a>
-<span class="sourceLineNo">201</span>  }<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>  /**<a name="line.203"></a>
-<span class="sourceLineNo">204</span>   * @deprecated Use {@link #put(TableName, Put)} instead.<a name="line.204"></a>
-<span class="sourceLineNo">205</span>   */<a name="line.205"></a>
-<span class="sourceLineNo">206</span>  @Deprecated<a name="line.206"></a>
-<span class="sourceLineNo">207</span>  public boolean put(final byte[] tableName, Put put) {<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    return put(TableName.valueOf(tableName), put);<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>  /**<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   * @return the current HTableMultiplexerStatus<a name="line.212"></a>
-<span class="sourceLineNo">213</span>   */<a name="line.213"></a>
-<span class="sourceLineNo">214</span>  public HTableMultiplexerStatus getHTableMultiplexerStatus() {<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    return new HTableMultiplexerStatus(serverToFlushWorkerMap);<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span>  private LinkedBlockingQueue&lt;PutStatus&gt; getQueue(HRegionLocation addr) {<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    FlushWorker worker = serverToFlushWorkerMap.get(addr);<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    if (worker == null) {<a name="line.220"></a>
-<span class="sourceLineNo">221</span>      synchronized (this.serverToFlushWorkerMap) {<a name="line.221"></a>
-<span class="sourceLineNo">222</span>        worker = serverToFlushWorkerMap.get(addr);<a name="line.222"></a>
-<span class="sourceLineNo">223</span>        if (worker == null) {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>          // Create the flush worker<a name="line.224"></a>
-<span class="sourceLineNo">225</span>          worker = new FlushWorker(workerConf, this.conn, addr, this,<a name="line.225"></a>
-<span class="sourceLineNo">226</span>              perRegionServerBufferQueueSize, pool, executor);<a name="line.226"></a>
-<span class="sourceLineNo">227</span>          this.serverToFlushWorkerMap.put(addr, worker);<a name="line.227"></a>
-<span class="sourceLineNo">228</span>          executor.scheduleAtFixedRate(worker, flushPeriod, flushPeriod, TimeUnit.MILLISECONDS);<a name="line.228"></a>
-<span class="sourceLineNo">229</span>        }<a name="line.229"></a>
-<span class="sourceLineNo">230</span>      }<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    }<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    return worker.getQueue();<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  }<a name="line.233"></a>
-<span class="sourceLineNo">234</span><a name="line.234"></a>
-<span class="sourceLineNo">235</span>  /**<a name="line.235"></a>
-<span class="sourceLineNo">236</span>   * HTableMultiplexerStatus keeps track of the current status of the HTableMultiplexer.<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   * report the number of buffered requests and the number of the failed (dropped) requests<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   * in total or on per region server basis.<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   */<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  @InterfaceAudience.Public<a name="line.240"></a>
-<span class="sourceLineNo">241</span>  @InterfaceStability.Evolving<a name="line.241"></a>
-<span class="sourceLineNo">242</span>  public static class HTableMultiplexerStatus {<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    private long totalFailedPutCounter;<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    private long totalBufferedPutCounter;<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    private long maxLatency;<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    private long overallAverageLatency;<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    private Map&lt;String, Long&gt; serverToFailedCounterMap;<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    private Map&lt;String, Long&gt; serverToBufferedCounterMap;<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    private Map&lt;String, Long&gt; serverToAverageLatencyMap;<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    private Map&lt;String, Long&gt; serverToMaxLatencyMap;<a name="line.250"></a>
-<span class="sourceLineNo">251</span><a name="line.251"></a>
-<span class="sourceLineNo">252</span>    public HTableMultiplexerStatus(<a name="line.252"></a>
-<span class="sourceLineNo">253</span>        Map&lt;HRegionLocation, FlushWorker&gt; serverToFlushWorkerMap) {<a name="line.253"></a>
-<span class="sourceLineNo">254</span>      this.totalBufferedPutCounter = 0;<a name="line.254"></a>
-<span class="sourceLineNo">255</span>      this.totalFailedPutCounter = 0;<a name="line.255"></a>
-<span class="sourceLineNo">256</span>      this.maxLatency = 0;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>      this.overallAverageLatency = 0;<a name="line.257"></a>
-<span class="sourceLineNo">258</span>      this.serverToBufferedCounterMap = new HashMap&lt;String, Long&gt;();<a name="line.258"></a>
-<span class="sourceLineNo">259</span>      this.serverToFailedCounterMap = new HashMap&lt;String, Long&gt;();<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      this.serverToAverageLatencyMap = new HashMap&lt;String, Long&gt;();<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      this.serverToMaxLatencyMap = new HashMap&lt;String, Long&gt;();<a name="line.261"></a>
-<span class="sourceLineNo">262</span>      this.initialize(serverToFlushWorkerMap);<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>    private void initialize(<a name="line.265"></a>
-<span class="sourceLineNo">266</span>        Map&lt;HRegionLocation, FlushWorker&gt; serverToFlushWorkerMap) {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      if (serverToFlushWorkerMap == null) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>        return;<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>      long averageCalcSum = 0;<a name="line.271"></a>
-<span class="sourceLineNo">272</span>      int averageCalcCount = 0;<a name="line.272"></a>
-<span class="sourceLineNo">273</span>      for (Map.Entry&lt;HRegionLocation, FlushWorker&gt; entry : serverToFlushWorkerMap<a name="line.273"></a>
-<span class="sourceLineNo">274</span>          .entrySet()) {<a name="line.274"></a>
-<span class="sourceLineNo">275</span>        HRegionLocation addr = entry.getKey();<a name="line.275"></a>
-<span class="sourceLineNo">276</span>        FlushWorker worker = entry.getValue();<a name="line.276"></a>
-<span class="sourceLineNo">277</span><a name="line.277"></a>
-<span class="sourceLineNo">278</span>        long bufferedCounter = worker.getTotalBufferedCount();<a name="line.278"></a>
-<span class="sourceLineNo">279</span>        long failedCounter = worker.getTotalFailedCount();<a name="line.279"></a>
-<span class="sourceLineNo">280</span>        long serverMaxLatency = worker.getMaxLatency();<a name="line.280"></a>
-<span class="sourceLineNo">281</span>        AtomicAverageCounter averageCounter = worker.getAverageLatencyCounter();<a name="line.281"></a>
-<span class="sourceLineNo">282</span>        // Get sum and count pieces separately to compute overall average<a name="line.282"></a>
-<span class="sourceLineNo">283</span>        SimpleEntry&lt;Long, Integer&gt; averageComponents = averageCounter<a name="line.283"></a>
-<span class="sourceLineNo">284</span>            .getComponents();<a name="line.284"></a>
-<span class="sourceLineNo">285</span>        long serverAvgLatency = averageCounter.getAndReset();<a name="line.285"></a>
-<span class="sourceLineNo">286</span><a name="line.286"></a>
-<span class="sourceLineNo">287</span>        this.totalBufferedPutCounter += bufferedCounter;<a name="line.287"></a>
-<span class="sourceLineNo">288</span>        this.totalFailedPutCounter += failedCounter;<a name="line.288"></a>
-<span class="sourceLineNo">289</span>        if (serverMaxLatency &gt; this.maxLatency) {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>          this.maxLatency = serverMaxLatency;<a name="line.290"></a>
-<span class="sourceLineNo">291</span>        }<a name="line.291"></a>
-<span class="sourceLineNo">292</span>        averageCalcSum += averageComponents.getKey();<a name="line.292"></a>
-<span class="sourceLineNo">293</span>        averageCalcCount += averageComponents.getValue();<a name="line.293"></a>
-<span class="sourceLineNo">294</span><a name="line.294"></a>
-<span class="sourceLineNo">295</span>        this.serverToBufferedCounterMap.put(addr.getHostnamePort(),<a name="line.295"></a>
-<span class="sourceLineNo">296</span>            bufferedCounter);<a name="line.296"></a>
-<span class="sourceLineNo">297</span>        this.serverToFailedCounterMap<a name="line.297"></a>
-<span class="sourceLineNo">298</span>            .put(addr.getHostnamePort(),<a name="line.298"></a>
-<span class="sourceLineNo">299</span>            failedCounter);<a name="line.299"></a>
-<span class="sourceLineNo">300</span>        this.serverToAverageLatencyMap.put(addr.getHostnamePort(),<a name="line.300"></a>
-<span class="sourceLineNo">301</span>            serverAvgLatency);<a name="line.301"></a>
-<span class="sourceLineNo">302</span>        this.serverToMaxLatencyMap<a name="line.302"></a>
-<span class="sourceLineNo">303</span>            .put(addr.getHostnamePort(),<a name="line.303"></a>
-<span class="sourceLineNo">304</span>            serverMaxLatency);<a name="line.304"></a>
-<span class="sourceLineNo">305</span>      }<a name="line.305"></a>
-<span class="sourceLineNo">306</span>      this.overallAverageLatency = averageCalcCount != 0 ? averageCalcSum<a name="line.306"></a>
-<span class="sourceLineNo">307</span>          / averageCalcCount : 0;<a name="line.307"></a>
+<span class="sourceLineNo">161</span>  public List&lt;Put&gt; put(TableName tableName, final List&lt;Put&gt; puts) {<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    if (puts == null)<a name="line.162"></a>
+<span class="sourceLineNo">163</span>      return null;<a name="line.163"></a>
+<span class="sourceLineNo">164</span><a name="line.164"></a>
+<span class="sourceLineNo">165</span>    List &lt;Put&gt; failedPuts = null;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>    boolean result;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    for (Put put : puts) {<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      result = put(tableName, put, this.maxAttempts);<a name="line.168"></a>
+<span class="sourceLineNo">169</span>      if (result == false) {<a name="line.169"></a>
+<span class="sourceLineNo">170</span><a name="line.170"></a>
+<span class="sourceLineNo">171</span>        // Create the failed puts list if necessary<a name="line.171"></a>
+<span class="sourceLineNo">172</span>        if (failedPuts == null) {<a name="line.172"></a>
+<span class="sourceLineNo">173</span>          failedPuts = new ArrayList&lt;Put&gt;();<a name="line.173"></a>
+<span class="sourceLineNo">174</span>        }<a name="line.174"></a>
+<span class="sourceLineNo">175</span>        // Add the put to the failed puts list<a name="line.175"></a>
+<span class="sourceLineNo">176</span>        failedPuts.add(put);<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>    return failedPuts;<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>  /**<a name="line.182"></a>
+<span class="sourceLineNo">183</span>   * @deprecated Use {@link #put(TableName, List) } instead.<a name="line.183"></a>
+<span class="sourceLineNo">184</span>   */<a name="line.184"></a>
+<span class="sourceLineNo">185</span>  @Deprecated<a name="line.185"></a>
+<span class="sourceLineNo">186</span>  public List&lt;Put&gt; put(byte[] tableName, final List&lt;Put&gt; puts) {<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    return put(TableName.valueOf(tableName), puts);<a name="line.187"></a>
+<span class="sourceLineNo">188</span>  }<a name="line.188"></a>
+<span class="sourceLineNo">189</span><a name="line.189"></a>
+<span class="sourceLineNo">190</span>  /**<a name="line.190"></a>
+<span class="sourceLineNo">191</span>   * The put request will be buffered by its corresponding buffer queue. And the put request will be<a name="line.191"></a>
+<span class="sourceLineNo">192</span>   * retried before dropping the request.<a name="line.192"></a>
+<span class="sourceLineNo">193</span>   * Return false if the queue is already full.<a name="line.193"></a>
+<span class="sourceLineNo">194</span>   * @return true if the request can be accepted by its corresponding buffer queue.<a name="line.194"></a>
+<span class="sourceLineNo">195</span>   */<a name="line.195"></a>
+<span class="sourceLineNo">196</span>  public boolean put(final TableName tableName, final Put put, int maxAttempts) {<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    return _put(tableName, put, maxAttempts, false);<a name="line.197"></a>
+<span class="sourceLineNo">198</span>  }<a name="line.198"></a>
+<span class="sourceLineNo">199</span><a name="line.199"></a>
+<span class="sourceLineNo">200</span>  /**<a name="line.200"></a>
+<span class="sourceLineNo">201</span>   * Internal "put" which exposes a boolean flag to control whether or not the region location<a name="line.201"></a>
+<span class="sourceLineNo">202</span>   * cache should be reloaded when trying to queue the {@link Put}.<a name="line.202"></a>
+<span class="sourceLineNo">203</span>   * @param tableName Destination table for the Put<a name="line.203"></a>
+<span class="sourceLineNo">204</span>   * @param put The Put to send<a name="line.204"></a>
+<span class="sourceLineNo">205</span>   * @param maxAttempts Number of attempts to retry the {@code put}<a name="line.205"></a>
+<span class="sourceLineNo">206</span>   * @param reloadCache Should the region location cache be reloaded<a name="line.206"></a>
+<span class="sourceLineNo">207</span>   * @return true if the request was accepted in the queue, otherwise false<a name="line.207"></a>
+<span class="sourceLineNo">208</span>   */<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  boolean _put(final TableName tableName, final Put put, int maxAttempts, boolean reloadCache) {<a name="line.209"></a>
+<span class="sourceLineNo">210</span>    if (maxAttempts &lt;= 0) {<a name="line.210"></a>
+<span class="sourceLineNo">211</span>      return false;<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    }<a name="line.212"></a>
+<span class="sourceLineNo">213</span><a name="line.213"></a>
+<span class="sourceLineNo">214</span>    try {<a name="line.214"></a>
+<span class="sourceLineNo">215</span>      HTable.validatePut(put, maxKeyValueSize);<a name="line.215"></a>
+<span class="sourceLineNo">216</span>      // Allow mocking to get at the connection, but don't expose the connection to users.<a name="line.216"></a>
+<span class="sourceLineNo">217</span>      ClusterConnection conn = (ClusterConnection) getConnection();<a name="line.217"></a>
+<span class="sourceLineNo">218</span>      HRegionLocation loc = conn.getRegionLocation(tableName, put.getRow(), reloadCache);<a name="line.218"></a>
+<span class="sourceLineNo">219</span>      if (loc != null) {<a name="line.219"></a>
+<span class="sourceLineNo">220</span>        // Add the put pair into its corresponding queue.<a name="line.220"></a>
+<span class="sourceLineNo">221</span>        LinkedBlockingQueue&lt;PutStatus&gt; queue = getQueue(loc);<a name="line.221"></a>
+<span class="sourceLineNo">222</span><a name="line.222"></a>
+<span class="sourceLineNo">223</span>        // Generate a MultiPutStatus object and offer it into the queue<a name="line.223"></a>
+<span class="sourceLineNo">224</span>        PutStatus s = new PutStatus(loc.getRegionInfo(), put, maxAttempts);<a name="line.224"></a>
+<span class="sourceLineNo">225</span><a name="line.225"></a>
+<span class="sourceLineNo">226</span>        return queue.offer(s);<a name="line.226"></a>
+<span class="sourceLineNo">227</span>      }<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    } catch (IOException e) {<a name="line.228"></a>
+<span class="sourceLineNo">229</span>      LOG.debug("Cannot process the put " + put, e);<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    }<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    return false;<a name="line.231"></a>
+<span class="sourceLineNo">232</span>  }<a name="line.232"></a>
+<span class="sourceLineNo">233</span><a name="line.233"></a>
+<span class="sourceLineNo">234</span>  /**<a name="line.234"></a>
+<span class="sourceLineNo">235</span>   * @deprecated Use {@link #put(TableName, Put) } instead.<a name="line.235"></a>
+<span class="sourceLineNo">236</span>   */<a name="line.236"></a>
+<span class="sourceLineNo">237</span>  @Deprecated<a name="line.237"></a>
+<span class="sourceLineNo">238</span>  public boolean put(final byte[] tableName, final Put put, int retry) {<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    return put(TableName.valueOf(tableName), put, retry);<a name="line.239"></a>
+<span class="sourceLineNo">240</span>  }<a name="line.240"></a>
+<span class="sourceLineNo">241</span><a name="line.241"></a>
+<span class="sourceLineNo">242</span>  /**<a name="line.242"></a>
+<span class="sourceLineNo">243</span>   * @deprecated Use {@link #put(TableName, Put)} instead.<a name="line.243"></a>
+<span class="sourceLineNo">244</span>   */<a name="line.244"></a>
+<span class="sourceLineNo">245</span>  @Deprecated<a name="line.245"></a>
+<span class="sourceLineNo">246</span>  public boolean put(final byte[] tableName, Put put) {<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    return put(TableName.valueOf(tableName), put);<a name="line.247"></a>
+<span class="sourceLineNo">248</span>  }<a name="line.248"></a>
+<span class="sourceLineNo">249</span><a name="line.249"></a>
+<span class="sourceLineNo">250</span>  /**<a name="line.250"></a>
+<span class="sourceLineNo">251</span>   * @return the current HTableMultiplexerStatus<a name="line.251"></a>
+<span class="sourceLineNo">252</span>   */<a name="line.252"></a>
+<span class="sourceLineNo">253</span>  public HTableMultiplexerStatus getHTableMultiplexerStatus() {<a name="line.253"></a>
+<span class="sourceLineNo">254</span>    return new HTableMultiplexerStatus(serverToFlushWorkerMap);<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>  @VisibleForTesting<a name="line.257"></a>
+<span class="sourceLineNo">258</span>  LinkedBlockingQueue&lt;PutStatus&gt; getQueue(HRegionLocation addr) {<a name="line.258"></a>
+<span class="sourceLineNo">259</span>    FlushWorker worker = serverToFlushWorkerMap.get(addr);<a name="line.259"></a>
+<span class="sourceLineNo">260</span>    if (worker == null) {<a name="line.260"></a>
+<span class="sourceLineNo">261</span>      synchronized (this.serverToFlushWorkerMap) {<a name="line.261"></a>
+<span class="sourceLineNo">262</span>        worker = serverToFlushWorkerMap.get(addr);<a name="line.262"></a>
+<span class="sourceLineNo">263</span>        if (worker == null) {<a name="line.263"></a>
+<span class="sourceLineNo">264</span>          // Create the flush worker<a name="line.264"></a>
+<span class="sourceLineNo">265</span>          worker = new FlushWorker(workerConf, this.conn, addr, this,<a name="line.265"></a>
+<span class="sourceLineNo">266</span>              perRegionServerBufferQueueSize, pool, executor);<a name="line.266"></a>
+<span class="sourceLineNo">267</span>          this.serverToFlushWorkerMap.put(addr, worker);<a name="line.267"></a>
+<span class="sourceLineNo">268</span>          executor.scheduleAtFixedRate(worker, flushPeriod, flushPeriod, TimeUnit.MILLISECONDS);<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>    }<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    return worker.getQueue();<a name="line.272"></a>
+<span class="sourceLineNo">273</span>  }<a name="line.273"></a>
+<span class="sourceLineNo">274</span><a name="line.274"></a>
+<span class="sourceLineNo">275</span>  @VisibleForTesting<a name="line.275"></a>
+<span class="sourceLineNo">276</span>  ClusterConnection getConnection() {<a name="line.276"></a>
+<span class="sourceLineNo">277</span>    return this.conn;<a name="line.277"></a>
+<span class="sourceLineNo">278</span>  }<a name="line.278"></a>
+<span class="sourceLineNo">279</span><a name="line.279"></a>
+<span class="sourceLineNo">280</span>  /**<a name="line.280"></a>
+<span class="sourceLineNo">281</span>   * HTableMultiplexerStatus keeps track of the current status of the HTableMultiplexer.<a name="line.281"></a>
+<span class="sourceLineNo">282</span>   * report the number of buffered requests and the number of the failed (dropped) requests<a name="line.282"></a>
+<span class="sourceLineNo">283</span>   * in total or on per region server basis.<a name="line.283"></a>
+<span class="sourceLineNo">284</span>   */<a name="line.284"></a>
+<span class="sourceLineNo">285</span>  @InterfaceAudience.Public<a name="line.285"></a>
+<span class="sourceLineNo">286</span>  @InterfaceStability.Evolving<a name="line.286"></a>
+<span class="sourceLineNo">287</span>  public static class HTableMultiplexerStatus {<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    private long totalFailedPutCounter;<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    private long totalBufferedPutCounter;<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    private long maxLatency;<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    private long overallAverageLatency;<a name="line.291"></a>
+<span class="sourceLineNo">292</span>    private Map&lt;String, Long&gt; serverToFailedCounterMap;<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    private Map&lt;String, Long&gt; serverToBufferedCounterMap;<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    private Map&lt;String, Long&gt; serverToAverageLatencyMap;<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    private Map&lt;String, Long&gt; serverToMaxLatencyMap;<a name="line.295"></a>
+<span class="sourceLineNo">296</span><a name="line.296"></a>
+<span class="sourceLineNo">297</span>    public HTableMultiplexerStatus(<a name="line.297"></a>
+<span class="sourceLineNo">298</span>        Map&lt;HRegionLocation, FlushWorker&gt; serverToFlushWorkerMap) {<a name="line.298"></a>
+<span class="sourceLineNo">299</span>      this.totalBufferedPutCounter = 0;<a name="line.299"></a>
+<span class="sourceLineNo">300</span>      this.totalFailedPutCounter = 0;<a name="line.300"></a>
+<span class="sourceLineNo">301</span>      this.maxLatency = 0;<a name="line.301"></a>
+<span class="sourceLineNo">302</span>      this.overallAverageLatency = 0;<a name="line.302"></a>
+<span class="sourceLineNo">303</span>      this.serverToBufferedCounterMap = new HashMap&lt;String, Long&gt;();<a name="line.303"></a>
+<span class="sourceLineNo">304</span>      this.serverToFailedCounterMap = new HashMap&lt;String, Long&gt;();<a name="line.304"></a>
+<span class="sourceLineNo">305</span>      this.serverToAverageLatencyMap = new HashMap&lt;String, Long&gt;();<a name="line.305"></a>
+<span class="sourceLineNo">306</span>      this.serverToMaxLatencyMap = new HashMap&lt;String, Long&gt;();<a name="line.306"></a>
+<span class="sourceLineNo">307</span>      this.initialize(serverToFlushWorkerMap);<a name="line.307"></a>
 <span class="sourceLineNo">308</span>    }<a name="line.308"></a>
 <span class="sourceLineNo">309</span><a name="line.309"></a>
-<span class="sourceLineNo">310</span>    public long getTotalBufferedCounter() {<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      return this.totalBufferedPutCounter;<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    }<a name="line.312"></a>
-<span class="sourceLineNo">313</span><a name="line.313"></a>
-<span class="sourceLineNo">314</span>    public long getTotalFailedCounter() {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>      return this.totalFailedPutCounter;<a name="line.315"></a>
-<span class="sourceLineNo">316</span>    }<a name="line.316"></a>
-<span class="sourceLineNo">317</span><a name="line.317"></a>
-<span class="sourceLineNo">318</span>    public long getMaxLatency() {<a name="line.318"></a>
-<span class="sourceLineNo">319</span>      return this.maxLatency;<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    }<a name="line.320"></a>
-<span class="sourceLineNo">321</span><a name="line.321"></a>
-<span class="sourceLineNo">322</span>    public long getOverallAverageLatency() {<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      return this.overallAverageLatency;<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>    public Map&lt;String, Long&gt; getBufferedCounterForEachRegionServer() {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>      return this.serverToBufferedCounterMap;<a name="line.327"></a>
-<span class="sourceLineNo">328</span>    }<a name="line.328"></a>
-<span class="sourceLineNo">329</span><a name="line.329"></a>
-<span class="sourceLineNo">330</span>    public Map&lt;String, Long&gt; getFailedCounterForEachRegionServer() {<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      return this.serverToFailedCounterMap;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    }<a name="line.332"></a>
-<span class="sourceLineNo">333</span><a name="line.333"></a>
-<span class="sourceLineNo">334</span>    public Map&lt;String, Long&gt; getMaxLatencyForEachRegionServer() {<a name="line.334"></a>
-<span class="sourceLineNo">335</span>      return this.serverToMaxLatencyMap;<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    }<a name="line.336"></a>
-<span class="sourceLineNo">337</span><a name="line.337"></a>
-<span class="sourceLineNo">338</span>    public Map&lt;String, Long&gt; getAverageLatencyForEachRegionServer() {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>      return this.serverToAverageLatencyMap;<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    }<a name="line.340"></a>
-<span class="sourceLineNo">341</span>  }<a name="line.341"></a>
-<span class="sourceLineNo">342</span><a name="line.342"></a>
-<span class="sourceLineNo">343</span>  private static class PutStatus {<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    private final HRegionInfo regionInfo;<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    private final Put put;<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    private final int maxAttempCount;<a name="line.346"></a>
-<span class="sourceLineNo">347</span><a name="line.347"></a>
-<span class="sourceLineNo">348</span>    public PutStatus(HRegionInfo regionInfo, Put put, int maxAttempCount) {<a name="line.348"></a>
-<span class="sourceLineNo">349</span>      this.regionInfo = regionInfo;<a name="line.349"></a>
-<span class="sourceLineNo">350</span>      this.put = put;<a name="line.350"></a>
-<span class="sourceLineNo">351</span>      this.maxAttempCount = maxAttempCount;<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    }<a name="line.352"></a>
-<span class="sourceLineNo">353</span>  }<a name="line.353"></a>
+<span class="sourceLineNo">310</span>    private void initialize(<a name="line.310"></a>
+<span class="sourceLineNo">311</span>        Map&lt;HRegionLocation, FlushWorker&gt; serverToFlushWorkerMap) {<a name="line.311"></a>
+<span class="sourceLineNo">312</span>      if (serverToFlushWorkerMap == null) {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>        return;<a name="line.313"></a>
+<span class="sourceLineNo">314</span>      }<a name="line.314"></a>
+<span class="sourceLineNo">315</span><a name="line.315"></a>
+<span class="sourceLineNo">316</span>      long averageCalcSum = 0;<a name="line.316"></a>
+<span class="sourceLineNo">317</span>      int averageCalcCount = 0;<a name="line.317"></a>
+<span class="sourceLineNo">318</span>      for (Map.Entry&lt;HRegionLocation, FlushWorker&gt; entry : serverToFlushWorkerMap<a name="line.318"></a>
+<span class="sourceLineNo">319</span>          .entrySet()) {<a name="line.319"></a>
+<span class="sourceLineNo">320</span>        HRegionLocation addr = entry.getKey();<a name="line.320"></a>
+<span class="sourceLineNo">321</span>        FlushWorker worker = entry.getValue();<a name="line.321"></a>
+<span class="sourceLineNo">322</span><a name="line.322"></a>
+<span class="sourceLineNo">323</span>        long bufferedCounter = worker.getTotalBufferedCount();<a name="line.323"></a>
+<span class="sourceLineNo">324</span>        long failedCounter = worker.getTotalFailedCount();<a name="line.324"></a>
+<span class="sourceLineNo">325</span>        long serverMaxLatency = worker.getMaxLatency();<a name="line.325"></a>
+<span class="sourceLineNo">326</span>        AtomicAverageCounter averageCounter = worker.getAverageLatencyCounter();<a name="line.326"></a>
+<span class="sourceLineNo">327</span>        // Get sum and count pieces separately to compute overall average<a name="line.327"></a>
+<span class="sourceLineNo">328</span>        SimpleEntry&lt;Long, Integer&gt; averageComponents = averageCounter<a name="line.328"></a>
+<span class="sourceLineNo">329</span>            .getComponents();<a name="line.329"></a>
+<span class="sourceLineNo">330</span>        long serverAvgLatency = averageCounter.getAndReset();<a name="line.330"></a>
+<span class="sourceLineNo">331</span><a name="line.331"></a>
+<span class="sourceLineNo">332</span>        this.totalBufferedPutCounter += bufferedCounter;<a name="line.332"></a>
+<span class="sourceLineNo">333</span>        this.totalFailedPutCounter += failedCounter;<a name="line.333"></a>
+<span class="sourceLineNo">334</span>        if (serverMaxLatency &gt; this.maxLatency) {<a name="line.334"></a>
+<span class="sourceLineNo">335</span>          this.maxLatency = serverMaxLatency;<a name="line.335"></a>
+<span class="sourceLineNo">336</span>        }<a name="line.336"></a>
+<span class="sourceLineNo">337</span>        averageCalcSum += averageComponents.getKey();<a name="line.337"></a>
+<span class="sourceLineNo">338</span>        averageCalcCount += averageComponents.getValue();<a name="line.338"></a>
+<span class="sourceLineNo">339</span><a name="line.339"></a>
+<span class="sourceLineNo">340</span>        this.serverToBufferedCounterMap.put(addr.getHostnamePort(),<a name="line.340"></a>
+<span class="sourceLineNo">341</span>            bufferedCounter);<a name="line.341"></a>
+<span class="sourceLineNo">342</span>        this.serverToFailedCounterMap<a name="line.342"></a>
+<span class="sourceLineNo">343</span>            .put(addr.getHostnamePort(),<a name="line.343"></a>
+<span class="sourceLineNo">344</span>            failedCounter);<a name="line.344"></a>
+<span class="sourceLineNo">345</span>        this.serverToAverageLatencyMap.put(addr.getHostnamePort(),<a name="line.345"></a>
+<span class="sourceLineNo">346</span>            serverAvgLatency);<a name="line.346"></a>
+<span class="sourceLineNo">347</span>        this.serverToMaxLatencyMap<a name="line.347"></a>
+<span class="sourceLineNo">348</span>            .put(addr.getHostnamePort(),<a name="line.348"></a>
+<span class="sourceLineNo">349</span>            serverMaxLatency);<a name="line.349"></a>
+<span class="sourceLineNo">350</span>      }<a name="line.350"></a>
+<span class="sourceLineNo">351</span>      this.overallAverageLatency = averageCalcCount != 0 ? averageCalcSum<a name="line.351"></a>
+<span class="sourceLineNo">352</span>          / averageCalcCount : 0;<a name="line.352"></a>
+<span class="sourceLineNo">353</span>    }<a name="line.353"></a>
 <span class="sourceLineNo">354</span><a name="line.354"></a>
-<span class="sourceLineNo">355</span>  /**<a name="line.355"></a>
-<span class="sourceLineNo">356</span>   * Helper to count the average over an interval until reset.<a name="line.356"></a>
-<span class="sourceLineNo">357</span>   */<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  private static class AtomicAverageCounter {<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    private long sum;<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    private int count;<a name="line.360"></a>
-<span class="sourceLineNo">361</span><a name="line.361"></a>
-<span class="sourceLineNo">362</span>    public AtomicAverageCounter() {<a name="line.362"></a>
-<span class="sourceLineNo">363</span>      this.sum = 0L;<a name="line.363"></a>
-<span class="sourceLineNo">364</span>      this.count = 0;<a name="line.364"></a>
+<span class="sourceLineNo">355</span>    public long getTotalBufferedCounter() {<a name="line.355"></a>
+<span class="sourceLineNo">356</span>      return this.totalBufferedPutCounter;<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>    public long getTotalFailedCounter() {<a name="line.359"></a>
+<span class="sourceLineNo">360</span>      return this.totalFailedPutCounter;<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>    public long getMaxLatency() {<a name="line.363"></a>
+<span class="sourceLineNo">364</span>      return this.maxLatency;<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>    public synchronized long getAndReset() {<a name="line.367"></a>
-<span class="sourceLineNo">368</span>      long result = this.get();<a name="line.368"></a>
-<span class="sourceLineNo">369</span>      this.reset();<a name="line.369"></a>
-<span class="sourceLineNo">370</span>      return result;<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>    public synchronized long get() {<a name="line.373"></a>
-<span class="sourceLineNo">374</span>      if (this.count == 0) {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>        return 0;<a name="line.375"></a>
-<span class="sourceLineNo">376</span>      }<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      return this.sum / this.count;<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>    public synchronized SimpleEntry&lt;Long, Integer&gt; getComponents() {<a name="line.380"></a>
-<span class="sourceLineNo">381</span>      return new SimpleEntry&lt;Long, Integer&gt;(sum, count);<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    }<a name="line.382"></a>
-<span class="sourceLineNo">383</span><a name="line.383"></a>
-<span class="sourceLineNo">384</span>    public synchronized void reset() {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>      this.sum = 0L;<a name="line.385"></a>
-<span class="sourceLineNo">386</span>      this.count = 0;<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    }<a name="line.387"></a>
-<span class="sourceLineNo">388</span><a name="line.388"></a>
-<span class="sourceLineNo">389</span>    public synchronized void add(long value) {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>      this.sum += value;<a name="line.390"></a>
-<span class="sourceLineNo">391</span>      this.count++;<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    }<a name="line.392"></a>
-<span class="sourceLineNo">393</span>  }<a name="line.393"></a>
-<span class="sourceLineNo">394</span><a name="line.394"></a>
-<span class="sourceLineNo">395</span>  private static class FlushWorker implements Runnable {<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    private final HRegionLocation addr;<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    private final LinkedBlockingQueue&lt;PutStatus&gt; queue;<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    private final HTableMultiplexer multiplexer;<a name="line.398"></a>
-<span class="sourceLineNo">399</span>    private final AtomicLong totalFailedPutCount = new AtomicLong(0);<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    private final AtomicInteger currentProcessingCount = new AtomicInteger(0);<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    private final AtomicAverageCounter averageLatency = new AtomicAverageCounter();<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    private final AtomicLong maxLatency = new AtomicLong(0);<a name="line.402"></a>
-<span class="sourceLineNo">403</span><a name="line.403"></a>
-<span class="sourceLineNo">404</span>    private final AsyncProcess ap;<a name="line.404"></a>
-<span class="sourceLineNo">405</span>    private final List&lt;PutStatus&gt; processingList = new ArrayList&lt;&gt;();<a name="line.405"></a>
-<span class="sourceLineNo">406</span>    private final ScheduledExecutorService executor;<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    private final int maxRetryInQueue;<a name="line.407"></a>
-<span class="sourceLineNo">408</span>    private final AtomicInteger retryInQueue = new AtomicInteger(0);<a name="line.408"></a>
-<span class="sourceLineNo">409</span><a name="line.409"></a>
-<span class="sourceLineNo">410</span>    public FlushWorker(Configuration conf, ClusterConnection conn, HRegionLocation addr,<a name="line.410"></a>
-<span class="sourceLineNo">411</span>        HTableMultiplexer htableMultiplexer, int perRegionServerBufferQueueSize,<a name="line.411"></a>
-<span class="sourceLineNo">412</span>        ExecutorService pool, ScheduledExecutorService executor) {<a name="line.412"></a>
-<span class="sourceLineNo">413</span>      this.addr = addr;<a name="line.413"></a>
-<span class="sourceLineNo">414</span>      this.multiplexer = htableMultiplexer;<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      this.queue = new LinkedBlockingQueue&lt;&gt;(perRegionServerBufferQueueSize);<a name="line.415"></a>
-<span class="sourceLineNo">416</span>      RpcRetryingCallerFactory rpcCallerFactory = RpcRetryingCallerFactory.instantiate(conf);<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      RpcControllerFactory rpcControllerFactory = RpcControllerFactory.instantiate(conf);<a name="line.417"></a>
-<span class="sourceLineNo">418</span>      this.ap = new AsyncProcess(conn, conf, pool, rpcCallerFactory, false, rpcControllerFactory);<a name="line.418"></a>
-<span class="sourceLineNo">419</span>      this.executor = executor;<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      this.maxRetryInQueue = conf.getInt(TABLE_MULTIPLEXER_MAX_RETRIES_IN_QUEUE, 10000);<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    }<a name="line.421"></a>
-<span class="sourceLineNo">422</span><a name="line.422"></a>
-<span class="sourceLineNo">423</span>    protected LinkedBlockingQueue&lt;PutStatus&gt; getQueue() {<a name="line.423"></a>
-<span class="sourceLineNo">424</span>      return this.queue;<a name="line.424"></a>
-<span class="sourceLineNo">425</span>    }<a name="line.425"></a>
-<span class="sourceLineNo">426</span><a name="line.426"></a>
-<span class="sourceLineNo">427</span>    public long getTotalFailedCount() {<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      return totalFailedPutCount.get();<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>    public long getTotalBufferedCount() {<a name="line.431"></a>
-<span class="sourceLineNo">432</span>      return queue.size() + currentProcessingCount.get();<a name="line.432"></a>
+<span class="sourceLineNo">367</span>    public long getOverallAverageLatency() {<a name="line.367"></a>
+<span class="sourceLineNo">368</span>      return this.overallAverageLatency;<a name="line.368"></a>
+<span class="sourceLineNo">369</span>    }<a name="line.369"></a>
+<span class="sourceLineNo">370</span><a name="line.370"></a>
+<span class="sourceLineNo">371</span>    public Map&lt;String, Long&gt; getBufferedCounterForEachRegionServer() {<a name="line.371"></a>
+<span class="sourceLineNo">372</span>      return this.serverToBufferedCounterMap;<a name="line.372"></a>
+<span class="sourceLineNo">373</span>    }<a name="line.373"></a>
+<span class="sourceLineNo">374</span><a name="line.374"></a>
+<span class="sourceLineNo">375</span>    public Map&lt;String, Long&gt; getFailedCounterForEachRegionServer() {<a name="line.375"></a>
+<span class="sourceLineNo">376</span>      return this.serverToFailedCounterMap;<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    }<a name="line.377"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>    public Map&lt;String, Long&gt; getMaxLatencyForEachRegionServer() {<a name="line.379"></a>
+<span class="sourceLineNo">380</span>      return this.serverToMaxLatencyMap;<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>    public Map&lt;String, Long&gt; getAverageLatencyForEachRegionServer() {<a name="line.383"></a>
+<span class="sourceLineNo">384</span>      return this.serverToAverageLatencyMap;<a name="line.384"></a>
+<span class="sourceLineNo">385</span>    }<a name="line.385"></a>
+<span class="sourceLineNo">386</span>  }<a name="line.386"></a>
+<span class="sourceLineNo">387</span><a name="line.387"></a>
+<span class="sourceLineNo">388</span>  @VisibleForTesting<a name="line.388"></a>
+<span class="sourceLineNo">389</span>  static class PutStatus {<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    final HRegionInfo regionInfo;<a name="line.390"></a>
+<span class="sourceLineNo">391</span>    final Put put;<a name="line.391"></a>
+<span class="sourceLineNo">392</span>    final int maxAttempCount;<a name="line.392"></a>
+<span class="sourceLineNo">393</span><a name="line.393"></a>
+<span class="sourceLineNo">394</span>    public PutStatus(HRegionInfo regionInfo, Put put, int maxAttempCount) {<a name="line.394"></a>
+<span class="sourceLineNo">395</span>      this.regionInfo = regionInfo;<a name="line.395"></a>
+<span class="sourceLineNo">396</span>      this.put = put;<a name="line.396"></a>
+<span class="sourceLineNo">397</span>      this.maxAttempCount = maxAttempCount;<a name="line.397"></a>
+<span class="sourceLineNo">398</span>    }<a name="line.398"></a>
+<span class="sourceLineNo">399</span>  }<a name="line.399"></a>
+<span class="sourceLineNo">400</span><a name="line.400"></a>
+<span class="sourceLineNo">401</span>  /**<a name="line.401"></a>
+<span class="sourceLineNo">402</span>   * Helper to count the average over an interval until reset.<a name="line.402"></a>
+<span class="sourceLineNo">403</span>   */<a name="line.403"></a>
+<span class="sourceLineNo">404</span>  private static class AtomicAverageCounter {<a name="line.404"></a>
+<span class="sourceLineNo">405</span>    private long sum;<a name="line.405"></a>
+<span class="sourceLineNo">406</span>    private int count;<a name="line.406"></a>
+<span class="sourceLineNo">407</span><a name="line.407"></a>
+<span class="sourceLineNo">408</span>    public AtomicAverageCounter() {<a name="line.408"></a>
+<span class="sourceLineNo">409</span>      this.sum = 0L;<a name="line.409"></a>
+<span class="sourceLineNo">410</span>      this.count = 0;<a name="line.410"></a>
+<span class="sourceLineNo">411</span>    }<a name="line.411"></a>
+<span class="sourceLineNo">412</span><a name="line.412"></a>
+<span class="sourceLineNo">413</span>    public synchronized long getAndReset() {<a name="line.413"></a>
+<span class="sourceLineNo">414</span>      long result = this.get();<a name="line.414"></a>
+<span class="sourceLineNo">415</span>      this.reset();<a name="line.415"></a>
+<span class="sourceLineNo">416</span>      return result;<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>    public synchronized long get() {<a name="line.419"></a>
+<span class="sourceLineNo">420</span>      if (this.count == 0) {<a name="line.420"></a>
+<span class="sourceLineNo">421</span>        return 0;<a name="line.421"></a>
+<span class="sourceLineNo">422</span>      }<a name="line.422"></a>
+<span class="sourceLineNo">423</span>      return this.sum / this.count;<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>    public synchronized SimpleEntry&lt;Long, Integer&gt; getComponents() {<a name="line.426"></a>
+<span class="sourceLineNo">427</span>      return new SimpleEntry&lt;Long, Integer&gt;(sum, count);<a name="line.427"></a>
+<span class="sourceLineNo">428</span>    }<a name="line.428"></a>
+<span class="sourceLineNo">429</span><a name="line.429"></a>
+<span class="sourceLineNo">430</span>    public synchronized void reset() {<a name="line.430"></a>
+<span class="sourceLineNo">431</span>      this.sum = 0L;<a name="line.431"></a>
+<span class="sourceLineNo">432</span>      this.count = 0;<a name="line.432"></a>
 <span class="sourceLineNo">433</span>    }<a name="line.433"></a>
 <span class="sourceLineNo">434</span><a name="line.434"></a>
-<span class="sourceLineNo">435</span>    public AtomicAverageCounter getAverageLatencyCounter() {<a name="line.435"></a>
-<span class="sourceLineNo">436</span>      return this.averageLatency;<a name="line.436"></a>
-<span class="sourceLineNo">437</span>    }<a name="line.437"></a>
-<span class="sourceLineNo">438</span><a name="line.438"></a>
-<span class="sourceLineNo">439</span>    public long getMaxLatency() {<a name="line.439"></a>
-<span class="sourceLineNo">440</span>      return this.maxLatency.getAndSet(0);<a name="line.440"></a>
-<span class="sourceLineNo">441</span>    }<a name="line.441"></a>
-<span class="sourceLineNo">442</span><a name="line.442"></a>
-<span class="sourceLineNo">443</span>    private boolean resubmitFailedPut(PutStatus ps, HRegionLocation oldLoc) throws IOException {<a name="line.443"></a>
-<span class="sourceLineNo">444</span>      // Decrease the retry count<a name="line.444"></a>
-<span class="sourceLineNo">445</span>      final int retryCount = ps.maxAttempCount - 1;<a name="line.445"></a>
-<span class="sourceLineNo">446</span><a name="line.446"></a>
-<span class="sourceLineNo">447</span>      if (retryCount &lt;= 0) {<a name="line.447"></a>
-<span class="sourceLineNo">448</span>        // Update the failed counter and no retry any more.<a name="line.448"></a>
-<span class="sourceLineNo">449</span>        return false;<a name="line.449"></a>
-<span class="sourceLineNo">450</span>      }<a name="line.450"></a>
-<span class="sourceLineNo">451</span><a name="line.451"></a>
-<span class="sourceLineNo">452</span>      int cnt = retryInQueue.incrementAndGet();<a name="line.452"></a>
-<span class="sourceLineNo">453</span>      if (cnt &gt; maxRetryInQueue) {<a name="line.453"></a>
-<span class="sourceLineNo">454</span>        // Too many Puts in queue for resubmit, give up this<a name="line.454"></a>
-<span class="sourceLineNo">455</span>        retryInQueue.decrementAndGet();<a name="line.455"></a>
-<span class="sourceLineNo">456</span>        return false;<a name="line.456"></a>
-<span class="sourceLineNo">457</span>      }<a name="line.457"></a>
-<span class="sourceLineNo">458</span><a name="line.458"></a>
-<span class="sourceLineNo">459</span>      final Put failedPut = ps.put;<a name="line.459"></a>
-<span class="sourceLineNo">460</span>      // The currentPut is failed. So get the table name for the currentPut.<a name="line.460"></a>
-<span class="sourceLineNo">461</span>      final TableName tableName = ps.regionInfo.getTable();<a name="line.461"></a>
-<span class="sourceLineNo">462</span><a name="line.462"></a>
-<span class="sourceLineNo">463</span>      long delayMs = ConnectionUtils.getPauseTime(multiplexer.flushPeriod,<a name="line.463"></a>
-<span class="sourceLineNo">464</span>        multiplexer.maxAttempts - retryCount - 1);<a name="line.464"></a>
-<span class="sourceLineNo">465</span>      if (LOG.isDebugEnabled()) {<a name="line.465"></a>
-<span class="sourceLineNo">466</span>        LOG.debug("resubmitting after " + delayMs + "ms: " + retryCount);<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>      executor.schedule(new Runnable() {<a name="line.469"></a>
-<span class="sourceLineNo">470</span>        @Override<a name="line.470"></a>
-<span class="sourceLineNo">471</span>        public void run() {<a name="line.471"></a>
-<span class="sourceLineNo">472</span>          boolean succ = false;<a name="line.472"></a>
-<span class="sourceLineNo">473</span>          try {<a name="line.473"></a>
-<span class="sourceLineNo">474</span>            succ = FlushWorker.this.multiplexer.put(tableName, failedPut, retryCount);<a name="line.474"></a>
-<span class="sourceLineNo">475</span>          } finally {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>            FlushWorker.this.retryInQueue.decrementAndGet();<a name="line.476"></a>
-<span class="sourceLineNo">477</span>            if (!succ) {<a name="line.477"></a>
-<span class="sourceLineNo">478</span>              FlushWorker.this.totalFailedPutCount.incrementAndGet();<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>      }, delayMs, TimeUnit.MILLISECONDS);<a name="line.482"></a>
-<span class="sourceLineNo">483</span>      return true;<a name="line.483"></a>
+<span class="sourceLineNo">435</span>    public synchronized void add(long value) {<a name="line.435"></a>
+<span class="sourceLineNo">436</span>      this.sum += value;<a name="line.436"></a>
+<span class="sourceLineNo">437</span>      this.count++;<a name="line.437"></a>
+<span class="sourceLineNo">438</span>    }<a name="line.438"></a>
+<span class="sourceLineNo">439</span>  }<a name="line.439"></a>
+<span class="sourceLineNo">440</span><a name="line.440"></a>
+<span class="sourceLineNo">441</span>  @VisibleForTesting<a name="line.441"></a>
+<span class="sourceLineNo">442</span>  static class FlushWorker implements Runnable {<a name="line.442"></a>
+<span class="sourceLineNo">443</span>    private final HRegionLocation addr;<a name="line.443"></a>
+<span class="sourceLineNo">444</span>    private final LinkedBlockingQueue&lt;PutStatus&gt; queue;<a name="line.444"></a>
+<span class="sourceLineNo">445</span>    private final HTableMultiplexer multiplexer;<a name="line.445"></a>
+<span class="sourceLineNo">446</span>    private final AtomicLong totalFailedPutCount = new AtomicLong(0);<a name="line.446"></a>
+<span class="sourceLineNo">447</span>    private final AtomicInteger currentProcessingCount = new AtomicInteger(0);<a name="line.447"></a>
+<span class="sourceLineNo">448</span>    private final AtomicAverageCounter averageLatency = new AtomicAverageCounter();<a name="line.448"></a>
+<span class="sourceLineNo">449</span>    private final AtomicLong maxLatency = new AtomicLong(0);<a name="line.449"></a>
+<span class="sourceLineNo">450</span><a name="line.450"></a>
+<span class="sourceLineNo">451</span>    private final AsyncProcess ap;<a name="line.451"></a>
+<span class="sourceLineNo">452</span>    private final List&lt;PutStatus&gt; processingList = new ArrayList&lt;&gt;();<a name="line.452"></a>
+<span class="sourceLineNo">453</span>    private final ScheduledExecutorService executor;<a name="line.453"></a>
+<span class="sourceLineNo">454</span>    private final int maxRetryInQueue;<a name="line.454"></a>
+<span class="sourceLineNo">455</span>    private final AtomicInteger retryInQueue = new AtomicInteger(0);<a name="line.455"></a>
+<span class="sourceLineNo">456</span><a name="line.456"></a>
+<span class="sourceLineNo">457</span>    public FlushWorker(Configuration conf, ClusterConnection conn, HRegionLocation addr,<a name="line.457"></a>
+<span class="sourceLineNo">458</span>        HTableMultiplexer htableMultiplexer, int perRegionServerBufferQueueSize,<a name="line.458"></a>
+<span class="sourceLineNo">459</span>        ExecutorService pool, ScheduledExecutorService executor) {<a name="line.459"></a>
+<span class="sourceLineNo">460</span>      this.addr = addr;<a name="line.460"></a>
+<span class="sourceLineNo">461</span>      this.multiplexer = htableMultiplexer;<a name="line.461"></a>
+<span class="sourceLineNo">462</span>      this.queue = new LinkedBlockingQueue&lt;&gt;(perRegionServerBufferQueueSize);<a name="line.462"></a>
+<span class="sourceLineNo">463</span>      RpcRetryingCallerFactory rpcCallerFactory = RpcRetryingCallerFactory.instantiate(conf);<a name="line.463"></a>
+<span class="sourceLineNo">464</span>      RpcControllerFactory rpcControllerFactory = RpcControllerFactory.instantiate(conf);<a name="line.464"></a>
+<span class="sourceLineNo">465</span>      this.ap = new AsyncProcess(conn, conf, pool, rpcCallerFactory, false, rpcControllerFactory);<a name="line.465"></a>
+<span class="sourceLineNo">466</span>      this.executor = executor;<a name="line.466"></a>
+<span class="sourceLineNo">467</span>      this.maxRetryInQueue = conf.getInt(TABLE_MULTIPLEXER_MAX_RETRIES_IN_QUEUE, 10000);<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>    protected LinkedBlockingQueue&lt;PutStatus&gt; getQueue() {<a name="line.470"></a>
+<span class="sourceLineNo">471</span>      return this.queu

<TRUNCATED>

[37/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/org/apache/hadoop/hbase/client/class-use/Put.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/class-use/Put.html b/devapidocs/org/apache/hadoop/hbase/client/class-use/Put.html
index 4dc7f10..91584f8 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/class-use/Put.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/class-use/Put.html
@@ -280,7 +280,7 @@ service.</div>
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a></code></td>
+<td class="colFirst"><code>(package private) <a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a></code></td>
 <td class="colLast"><span class="strong">HTableMultiplexer.PutStatus.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.PutStatus.html#put">put</a></strong></code>&nbsp;</td>
 </tr>
 </tbody>
@@ -454,12 +454,22 @@ service.</div>
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><code>(package private) boolean</code></td>
+<td class="colLast"><span class="strong">HTableMultiplexer.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html#_put(org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.client.Put,%20int,%20boolean)">_put</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+        <a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put,
+        int&nbsp;maxAttempts,
+        boolean&nbsp;reloadCache)</code>
+<div class="block">Internal "put" which exposes a boolean flag to control whether or not the region location
+ cache should be reloaded when trying to queue the <a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Put</code></a>.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">RowMutations.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html#add(org.apache.hadoop.hbase.client.Put)">add</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;p)</code>
 <div class="block">Add a <a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Put</code></a> operation to the list of mutations</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">Table.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#checkAndPut(byte[],%20byte[],%20byte[],%20byte[],%20org.apache.hadoop.hbase.client.Put)">checkAndPut</a></strong>(byte[]&nbsp;row,
                       byte[]&nbsp;family,
@@ -470,7 +480,7 @@ service.</div>
  value.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">HTable.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/client/HTable.html#checkAndPut(byte[],%20byte[],%20byte[],%20byte[],%20org.apache.hadoop.hbase.client.Put)">checkAndPut</a></strong>(byte[]&nbsp;row,
                       byte[]&nbsp;family,
@@ -481,7 +491,7 @@ service.</div>
  value.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">HTableWrapper.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/client/HTableWrapper.html#checkAndPut(byte[],%20byte[],%20byte[],%20byte[],%20org.apache.hadoop.hbase.client.Put)">checkAndPut</a></strong>(byte[]&nbsp;row,
                       byte[]&nbsp;family,
@@ -489,7 +499,7 @@ service.</div>
                       byte[]&nbsp;value,
                       <a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">Table.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#checkAndPut(byte[],%20byte[],%20byte[],%20org.apache.hadoop.hbase.filter.CompareFilter.CompareOp,%20byte[],%20org.apache.hadoop.hbase.client.Put)">checkAndPut</a></strong>(byte[]&nbsp;row,
                       byte[]&nbsp;family,
@@ -501,7 +511,7 @@ service.</div>
  value.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">HTable.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/client/HTable.html#checkAndPut(byte[],%20byte[],%20byte[],%20org.apache.hadoop.hbase.filter.CompareFilter.CompareOp,%20byte[],%20org.apache.hadoop.hbase.client.Put)">checkAndPut</a></strong>(byte[]&nbsp;row,
                       byte[]&nbsp;family,
@@ -513,7 +523,7 @@ service.</div>
  value.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">HTableWrapper.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/client/HTableWrapper.html#checkAndPut(byte[],%20byte[],%20byte[],%20org.apache.hadoop.hbase.filter.CompareFilter.CompareOp,%20byte[],%20org.apache.hadoop.hbase.client.Put)">checkAndPut</a></strong>(byte[]&nbsp;row,
                       byte[]&nbsp;family,
@@ -522,7 +532,7 @@ service.</div>
                       byte[]&nbsp;value,
                       <a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">HTableMultiplexer.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html#put(byte[],%20org.apache.hadoop.hbase.client.Put)">put</a></strong>(byte[]&nbsp;tableName,
       <a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put)</code>
@@ -531,7 +541,7 @@ service.</div>
 </div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">HTableMultiplexer.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html#put(byte[],%20org.apache.hadoop.hbase.client.Put,%20int)">put</a></strong>(byte[]&nbsp;tableName,
       <a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put,
@@ -541,30 +551,30 @@ service.</div>
 </div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">Table.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/client/Table.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>void</code></td>
 <td class="colLast"><span class="strong">HTable.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/client/HTable.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>void</code></td>
 <td class="colLast"><span class="strong">HTableWrapper.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/client/HTableWrapper.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>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">HTableMultiplexer.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html#put(org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.client.Put)">put</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
       <a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put)</code>
 <div class="block">The put request will be buffered by its corresponding buffer queue.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">HTableMultiplexer.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html#put(org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.client.Put,%20int)">put</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
       <a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put,
@@ -572,15 +582,15 @@ service.</div>
 <div class="block">The put request will be buffered by its corresponding buffer queue.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">BufferedMutatorImpl.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/client/BufferedMutatorImpl.html#validatePut(org.apache.hadoop.hbase.client.Put)">validatePut</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">HTable.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/client/HTable.html#validatePut(org.apache.hadoop.hbase.client.Put)">validatePut</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="strong">HTable.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/client/HTable.html#validatePut(org.apache.hadoop.hbase.client.Put,%20int)">validatePut</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put,
                       int&nbsp;maxKeyValueSize)</code>&nbsp;</td>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/org/apache/hadoop/hbase/client/class-use/Result.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/class-use/Result.html b/devapidocs/org/apache/hadoop/hbase/client/class-use/Result.html
index faba5f5..72a07f9 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/class-use/Result.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/class-use/Result.html
@@ -1568,7 +1568,7 @@ service.</div>
 </tr>
 <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"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#append(org.apache.hadoop.hbase.client.Append,%20long,%20long)">append</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/client/Append.html" title="class in org.apache.hadoop.hbase.client">Append</a>&nbsp;mutate,
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#append(org.apache.hadoop.hbase.client.Append,%20long,%20long)">append</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/client/Append.html" title="class in org.apache.hadoop.hbase.client">Append</a>&nbsp;mutation,
             long&nbsp;nonceGroup,
             long&nbsp;nonce)</code>&nbsp;</td>
 </tr>
@@ -1591,6 +1591,23 @@ service.</div>
 </td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a></code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doCoprocessorPreCall(org.apache.hadoop.hbase.regionserver.Region.Operation,%20org.apache.hadoop.hbase.client.Mutation)">doCoprocessorPreCall</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,
+                                        <a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation)</code>
+<div class="block">Do coprocessor pre-increment or pre-append call.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a></code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doDelta(org.apache.hadoop.hbase.regionserver.Region.Operation,%20org.apache.hadoop.hbase.client.Mutation,%20long,%20long,%20boolean)">doDelta</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,
+              <a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
+              long&nbsp;nonceGroup,
+              long&nbsp;nonce,
+              boolean&nbsp;returnResults)</code>
+<div class="block">Add "deltas" to Cells.</div>
+</td>
+</tr>
+<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"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#get(org.apache.hadoop.hbase.client.Get)">get</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>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/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 8a2b2e0..245f711 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/class-use/RowMutations.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/class-use/RowMutations.html
@@ -196,10 +196,23 @@ service.</div>
 </td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>private boolean</code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doCheckAndRowMutate(byte[],%20byte[],%20byte[],%20org.apache.hadoop.hbase.filter.CompareFilter.CompareOp,%20org.apache.hadoop.hbase.filter.ByteArrayComparable,%20org.apache.hadoop.hbase.client.RowMutations,%20org.apache.hadoop.hbase.client.Mutation,%20boolean)">doCheckAndRowMutate</a></strong>(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,
+                                      <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;rowMutations,
+                                      <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">checkAndMutate and checkAndRowMutate are 90% the same.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">HRegion.</span><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>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">Region.</span><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>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/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 d037e1d..653ac43 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/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/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/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/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/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/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/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/358717f6/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 e95907b..c1251d1 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/class-use/ByteArrayComparable.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/class-use/ByteArrayComparable.html
@@ -580,7 +580,7 @@
                             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,
                             <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,
+                            <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>&nbsp;</td>
 </tr>
 <tr class="rowColor">
@@ -633,6 +633,19 @@
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>private boolean</code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doCheckAndRowMutate(byte[],%20byte[],%20byte[],%20org.apache.hadoop.hbase.filter.CompareFilter.CompareOp,%20org.apache.hadoop.hbase.filter.ByteArrayComparable,%20org.apache.hadoop.hbase.client.RowMutations,%20org.apache.hadoop.hbase.client.Mutation,%20boolean)">doCheckAndRowMutate</a></strong>(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,
+                                      <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;rowMutations,
+                                      <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">checkAndMutate and checkAndRowMutate are 90% the same.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">RegionCoprocessorHost.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.html#postCheckAndDelete(byte[],%20byte[],%20byte[],%20org.apache.hadoop.hbase.filter.CompareFilter.CompareOp,%20org.apache.hadoop.hbase.filter.ByteArrayComparable,%20org.apache.hadoop.hbase.client.Delete,%20boolean)">postCheckAndDelete</a></strong>(byte[]&nbsp;row,
                                     byte[]&nbsp;family,
@@ -642,7 +655,7 @@
                                     <a href="../../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a>&nbsp;delete,
                                     boolean&nbsp;result)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">RegionCoprocessorHost.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.html#postCheckAndPut(byte[],%20byte[],%20byte[],%20org.apache.hadoop.hbase.filter.CompareFilter.CompareOp,%20org.apache.hadoop.hbase.filter.ByteArrayComparable,%20org.apache.hadoop.hbase.client.Put,%20boolean)">postCheckAndPut</a></strong>(byte[]&nbsp;row,
                               byte[]&nbsp;family,
@@ -652,7 +665,7 @@
                               <a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put,
                               boolean&nbsp;result)</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/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a></code></td>
 <td class="colLast"><span class="strong">RegionCoprocessorHost.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.html#preCheckAndDelete(byte[],%20byte[],%20byte[],%20org.apache.hadoop.hbase.filter.CompareFilter.CompareOp,%20org.apache.hadoop.hbase.filter.ByteArrayComparable,%20org.apache.hadoop.hbase.client.Delete)">preCheckAndDelete</a></strong>(byte[]&nbsp;row,
                                   byte[]&nbsp;family,
@@ -661,7 +674,7 @@
                                   <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/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a>&nbsp;delete)</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/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a></code></td>
 <td class="colLast"><span class="strong">RegionCoprocessorHost.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.html#preCheckAndDeleteAfterRowLock(byte[],%20byte[],%20byte[],%20org.apache.hadoop.hbase.filter.CompareFilter.CompareOp,%20org.apache.hadoop.hbase.filter.ByteArrayComparable,%20org.apache.hadoop.hbase.client.Delete)">preCheckAndDeleteAfterRowLock</a></strong>(byte[]&nbsp;row,
                                                           byte[]&nbsp;family,
@@ -670,7 +683,7 @@
                                                           <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/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a>&nbsp;delete)</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/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a></code></td>
 <td class="colLast"><span class="strong">RegionCoprocessorHost.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.html#preCheckAndPut(byte[],%20byte[],%20byte[],%20org.apache.hadoop.hbase.filter.CompareFilter.CompareOp,%20org.apache.hadoop.hbase.filter.ByteArrayComparable,%20org.apache.hadoop.hbase.client.Put)">preCheckAndPut</a></strong>(byte[]&nbsp;row,
                             byte[]&nbsp;family,
@@ -679,7 +692,7 @@
                             <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/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put)</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/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a></code></td>
 <td class="colLast"><span class="strong">RegionCoprocessorHost.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.html#preCheckAndPutAfterRowLock(byte[],%20byte[],%20byte[],%20org.apache.hadoop.hbase.filter.CompareFilter.CompareOp,%20org.apache.hadoop.hbase.filter.ByteArrayComparable,%20org.apache.hadoop.hbase.client.Put)">preCheckAndPutAfterRowLock</a></strong>(byte[]&nbsp;row,
                                                     byte[]&nbsp;family,

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/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 786b327..a6fdbbf 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
@@ -602,7 +602,7 @@ the order they are declared.</div>
                             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,
                             <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,
+                            <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>&nbsp;</td>
 </tr>
 <tr class="rowColor">
@@ -655,6 +655,24 @@ the order they are declared.</div>
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>private boolean</code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doCheckAndRowMutate(byte[],%20byte[],%20byte[],%20org.apache.hadoop.hbase.filter.CompareFilter.CompareOp,%20org.apache.hadoop.hbase.filter.ByteArrayComparable,%20org.apache.hadoop.hbase.client.RowMutations,%20org.apache.hadoop.hbase.client.Mutation,%20boolean)">doCheckAndRowMutate</a></strong>(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,
+                                      <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;rowMutations,
+                                      <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">checkAndMutate and checkAndRowMutate are 90% the same.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private boolean</code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#matches(org.apache.hadoop.hbase.filter.CompareFilter.CompareOp,%20int)">matches</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
+              int&nbsp;compareResult)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">RegionCoprocessorHost.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.html#postCheckAndDelete(byte[],%20byte[],%20byte[],%20org.apache.hadoop.hbase.filter.CompareFilter.CompareOp,%20org.apache.hadoop.hbase.filter.ByteArrayComparable,%20org.apache.hadoop.hbase.client.Delete,%20boolean)">postCheckAndDelete</a></strong>(byte[]&nbsp;row,
                                     byte[]&nbsp;family,

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/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 2f4fedd..2e70b52 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/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter"><span class="strong">FilterList.Operator</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="strong">Filter.ReturnCode</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/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/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/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/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/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/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/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/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter"><span class="strong">FilterList.Operator</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/org/apache/hadoop/hbase/io/class-use/TimeRange.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/class-use/TimeRange.html b/devapidocs/org/apache/hadoop/hbase/io/class-use/TimeRange.html
index ac51c14..7c5dc70 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/class-use/TimeRange.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/class-use/TimeRange.html
@@ -192,11 +192,12 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;</code></td>
-<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doGet(org.apache.hadoop.hbase.regionserver.Store,%20byte[],%20java.util.Map.Entry,%20org.apache.hadoop.hbase.io.TimeRange)">doGet</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&nbsp;store,
-          byte[]&nbsp;row,
-          <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">Map.Entry</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;family,
-          <a href="../../../../../../org/apache/hadoop/hbase/io/TimeRange.html" title="class in org.apache.hadoop.hbase.io">TimeRange</a>&nbsp;tr)</code>
-<div class="block">Run a Get against passed in <code>store</code> on passed <code>row</code>, etc.</div>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#get(org.apache.hadoop.hbase.client.Mutation,%20org.apache.hadoop.hbase.regionserver.Store,%20java.util.List,%20org.apache.hadoop.hbase.client.IsolationLevel,%20org.apache.hadoop.hbase.io.TimeRange)">get</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="../../../../../../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;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;coordinates,
+      <a href="../../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client">IsolationLevel</a>&nbsp;isolation,
+      <a href="../../../../../../org/apache/hadoop/hbase/io/TimeRange.html" title="class in org.apache.hadoop.hbase.io">TimeRange</a>&nbsp;tr)</code>
+<div class="block">Do a specific Get on passed <code>columnFamily</code> and column qualifiers.</div>
 </td>
 </tr>
 <tr class="rowColor">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/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 665170c..4e3d45a 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/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/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/BlockPriority.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="strong">BlockPriority</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="strong">BlockType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="strong">CacheConfig.ExternalBlockCaches</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.Writer.State.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="strong">HFileBlock.Writer.State</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/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/Cacheable.MemoryType.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="strong">Cacheable.MemoryType</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/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 4821a4e..8697762 100644
--- a/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
@@ -267,10 +267,10 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/CellCounter.CellCounterMapper.Counters.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="strong">CellCounter.CellCounterMapper.Counters</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/TableSplit.Version.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="strong">TableSplit.Version</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/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/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/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/358717f6/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 8e59fea..443b1cb 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
@@ -318,8 +318,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.<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.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/MetricsMasterSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.master"><span class="strong">MetricsMasterSourceFactoryImpl.FactoryStorage</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/SplitLogManager.ResubmitDirective.html" title="enum in org.apache.hadoop.hbase.master"><span class="strong">SplitLogManager.ResubmitDirective</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html" title="enum in org.apache.hadoop.hbase.master"><span class="strong">MasterRpcServices.BalanceSwitchMode</span></a></li>
 <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>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/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 aaf26d9..a0a1bcc 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/ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="strong">ServerProcedureInterface.ServerOperationType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.MarkRegionOfflineOpResult.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="strong">DisableTableProcedure.MarkRegionOfflineOpResult</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/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/ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="strong">ServerProcedureInterface.ServerOperationType</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/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 7cca8ed..08d604c 100644
--- a/devapidocs/org/apache/hadoop/hbase/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/package-tree.html
@@ -362,13 +362,13 @@
 <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/HConstants.OperationStatusCode.html" title="enum in org.apache.hadoop.hbase"><span class="strong">HConstants.OperationStatusCode</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase"><span class="strong">MetaTableAccessor.QueryType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase"><span class="strong">KeepDeletedCells</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/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/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/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/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/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/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/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase"><span class="strong">MetaTableAccessor.QueryType</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/org/apache/hadoop/hbase/package-use.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/package-use.html b/devapidocs/org/apache/hadoop/hbase/package-use.html
index 0f1900f..8f65fe9 100644
--- a/devapidocs/org/apache/hadoop/hbase/package-use.html
+++ b/devapidocs/org/apache/hadoop/hbase/package-use.html
@@ -2718,11 +2718,6 @@ service.</div>
 <div class="block">Immutable POJO class for representing a table name.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/Tag.html#org.apache.hadoop.hbase.regionserver">Tag</a>
-<div class="block">Tags are part of cells and helps to add metadata about them.</div>
-</td>
-</tr>
 </tbody>
 </table>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/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 1f26c76..48b65c6 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/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>
-<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/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="strong">ThrottleType</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/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 755335c..387334c 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.573">DefaultMemStore.MemStoreScanner</a>
+<pre>protected class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.html#line.572">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>
@@ -342,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.575">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.574">cellSetNextRow</a></pre>
 </li>
 </ul>
 <a name="snapshotNextRow">
@@ -351,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.576">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.575">snapshotNextRow</a></pre>
 </li>
 </ul>
 <a name="cellSetItRow">
@@ -360,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.579">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.578">cellSetItRow</a></pre>
 </li>
 </ul>
 <a name="snapshotItRow">
@@ -369,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.580">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.579">snapshotItRow</a></pre>
 </li>
 </ul>
 <a name="cellSetIt">
@@ -378,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.583">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.582">cellSetIt</a></pre>
 </li>
 </ul>
 <a name="snapshotIt">
@@ -387,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.584">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.583">snapshotIt</a></pre>
 </li>
 </ul>
 <a name="cellSetAtCreation">
@@ -396,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.587">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.586">cellSetAtCreation</a></pre>
 </li>
 </ul>
 <a name="snapshotAtCreation">
@@ -405,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.588">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.587">snapshotAtCreation</a></pre>
 </li>
 </ul>
 <a name="theNext">
@@ -414,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.591">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.590">theNext</a></pre>
 </li>
 </ul>
 <a name="allocatorAtCreation">
@@ -423,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.594">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.593">allocatorAtCreation</a></pre>
 </li>
 </ul>
 <a name="snapshotAllocatorAtCreation">
@@ -432,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.595">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.594">snapshotAllocatorAtCreation</a></pre>
 </li>
 </ul>
 <a name="stopSkippingCellsIfNextRow">
@@ -441,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.599">stopSkippingCellsIfNextRow</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.598">stopSkippingCellsIfNextRow</a></pre>
 </li>
 </ul>
 <a name="readPoint">
@@ -450,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.601">readPoint</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.600">readPoint</a></pre>
 </li>
 </ul>
 </li>
@@ -467,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.624">DefaultMemStore.MemStoreScanner</a>(long&nbsp;readPoint)</pre>
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.623">DefaultMemStore.MemStoreScanner</a>(long&nbsp;readPoint)</pre>
 </li>
 </ul>
 </li>
@@ -484,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.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>
+<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.647">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>
@@ -496,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.684">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.683">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>
@@ -510,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.703">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.702">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>
@@ -520,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.721">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.720">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>
@@ -532,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.742">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.741">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>
@@ -544,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.748">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.747">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>
@@ -556,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.776">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.775">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>
@@ -566,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.792">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.791">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>
@@ -576,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.803">close</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.802">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>
@@ -587,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.828">getSequenceID</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.827">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>
@@ -598,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.833">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.832">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>
@@ -620,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.843">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.842">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>
@@ -635,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.857">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.856">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>
@@ -650,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.890">seekToLastRow</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#line.889">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


[45/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/checkstyle.rss
----------------------------------------------------------------------
diff --git a/checkstyle.rss b/checkstyle.rss
index 23f7207..d41eb5e 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: 1673,
-             Errors: 12850,
+             Errors: 12772,
              Warnings: 0,
              Infos: 0
       </title>
@@ -1413,7 +1413,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  279
+                  211
                 </td>
               </tr>
                           <tr>
@@ -1903,7 +1903,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  4
+                  2
                 </td>
               </tr>
                           <tr>
@@ -14825,7 +14825,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  15
+                  9
                 </td>
               </tr>
                           <tr>
@@ -16505,7 +16505,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  19
+                  18
                 </td>
               </tr>
                           <tr>
@@ -21377,7 +21377,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  6
+                  5
                 </td>
               </tr>
                           <tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/coc.html
----------------------------------------------------------------------
diff --git a/coc.html b/coc.html
index ca1ca2c..d790748 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="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <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-02-07</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-09</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/cygwin.html
----------------------------------------------------------------------
diff --git a/cygwin.html b/cygwin.html
index 0242de4..35150be 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="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <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-02-07</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-09</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/dependencies.html
----------------------------------------------------------------------
diff --git a/dependencies.html b/dependencies.html
index 27f77fb..5270b06 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="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <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-02-07</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-09</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/dependency-convergence.html b/dependency-convergence.html
index 4ac87b4..4d39e30 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="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <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" />
@@ -287,10 +287,10 @@
 <td>24</td></tr>
 <tr class="b">
 <th>Number of dependencies (NOD):</th>
-<td>80</td></tr>
+<td>81</td></tr>
 <tr class="a">
 <th>Number of unique artifacts (NOA):</th>
-<td>80</td></tr>
+<td>81</td></tr>
 <tr class="b">
 <th>Number of SNAPSHOT artifacts (NOS):</th>
 <td>0</td></tr>
@@ -1151,6 +1151,18 @@
 <li><a class="externalLink" href="http://hbase.apache.org/hbase-assembly">org.apache.hbase:hbase-assembly</a></li>
 <li><a class="externalLink" href="http://hbase.apache.org/hbase-it">org.apache.hbase:hbase-it</a></li></ol></td></tr></table></td></tr></table></div>
 <div class="section">
+<h4><a name="org.apache.hbase:hbase-spark"></a>org.apache.hbase:hbase-spark</h4>
+<table border="0" class="table table-striped">
+<tr class="a">
+<td><img alt="success" src="images/icon_success_sml.gif" /></td>
+<td>
+<table border="0" class="table table-striped">
+<tr class="b">
+<td width="25%">2.0.0-SNAPSHOT</td>
+<td>
+<ol style="list-style-type: lower-alpha">
+<li><a class="externalLink" href="http://hbase.apache.org/hbase-assembly">org.apache.hbase:hbase-assembly</a></li></ol></td></tr></table></td></tr></table></div>
+<div class="section">
 <h4><a name="org.apache.hbase:hbase-testing-util"></a>org.apache.hbase:hbase-testing-util</h4>
 <table border="0" class="table table-striped">
 <tr class="a">
@@ -1593,7 +1605,7 @@
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-02-07</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-09</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/dependency-info.html
----------------------------------------------------------------------
diff --git a/dependency-info.html b/dependency-info.html
index 9040dee..4f4234c 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="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <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-02-07</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-09</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/dependency-management.html
----------------------------------------------------------------------
diff --git a/dependency-management.html b/dependency-management.html
index 29c467d..022442c 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="20160207" />
+    <meta name="Date-Revision-yyyymmdd" content="20160209" />
     <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-02-07</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-09</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/allclasses-frame.html
----------------------------------------------------------------------
diff --git a/devapidocs/allclasses-frame.html b/devapidocs/allclasses-frame.html
index b9faa1b..970db79 100644
--- a/devapidocs/allclasses-frame.html
+++ b/devapidocs/allclasses-frame.html
@@ -827,7 +827,7 @@
 <li><a href="org/apache/hadoop/hbase/regionserver/HMobStore.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">HMobStore</a></li>
 <li><a href="org/apache/hadoop/hbase/zookeeper/HQuorumPeer.html" title="class in org.apache.hadoop.hbase.zookeeper" target="classFrame">HQuorumPeer</a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">HRegion</a></li>
-<li><a href="org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">HRegion.BatchOperationInProgress</a></li>
+<li><a href="org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">HRegion.BatchOperation</a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">HRegion.FlushResultImpl</a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">HRegion.MutationBatch</a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">HRegion.PrepareFlushResult</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/allclasses-noframe.html
----------------------------------------------------------------------
diff --git a/devapidocs/allclasses-noframe.html b/devapidocs/allclasses-noframe.html
index a798e9e..49492e9 100644
--- a/devapidocs/allclasses-noframe.html
+++ b/devapidocs/allclasses-noframe.html
@@ -827,7 +827,7 @@
 <li><a href="org/apache/hadoop/hbase/regionserver/HMobStore.html" title="class in org.apache.hadoop.hbase.regionserver">HMobStore</a></li>
 <li><a href="org/apache/hadoop/hbase/zookeeper/HQuorumPeer.html" title="class in org.apache.hadoop.hbase.zookeeper">HQuorumPeer</a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></li>
-<li><a href="org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a></li>
+<li><a href="org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.FlushResultImpl</a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.MutationBatch</a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.PrepareFlushResult</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/constant-values.html
----------------------------------------------------------------------
diff --git a/devapidocs/constant-values.html b/devapidocs/constant-values.html
index 8c2a87d..2abce8d 100644
--- a/devapidocs/constant-values.html
+++ b/devapidocs/constant-values.html
@@ -13411,47 +13411,33 @@
 <td class="colLast"><code>30000000L</code></td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a name="org.apache.hadoop.hbase.regionserver.HRegion.DEFAULT_MAX_WAIT_FOR_SEQ_ID">
-<!--   -->
-</a><code>private&nbsp;static&nbsp;final&nbsp;int</code></td>
-<td><code><a href="org/apache/hadoop/hbase/regionserver/HRegion.html#DEFAULT_MAX_WAIT_FOR_SEQ_ID">DEFAULT_MAX_WAIT_FOR_SEQ_ID</a></code></td>
-<td class="colLast"><code>30000</code></td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.regionserver.HRegion.DEFAULT_ROW_PROCESSOR_TIMEOUT">
 <!--   -->
 </a><code>static&nbsp;final&nbsp;long</code></td>
 <td><code><a href="org/apache/hadoop/hbase/regionserver/HRegion.html#DEFAULT_ROW_PROCESSOR_TIMEOUT">DEFAULT_ROW_PROCESSOR_TIMEOUT</a></code></td>
 <td class="colLast"><code>60000L</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.regionserver.HRegion.DEFAULT_ROWLOCK_WAIT_DURATION">
 <!--   -->
 </a><code>static&nbsp;final&nbsp;int</code></td>
 <td><code><a href="org/apache/hadoop/hbase/regionserver/HRegion.html#DEFAULT_ROWLOCK_WAIT_DURATION">DEFAULT_ROWLOCK_WAIT_DURATION</a></code></td>
 <td class="colLast"><code>30000</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.regionserver.HRegion.LOAD_CFS_ON_DEMAND_CONFIG_KEY">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/regionserver/HRegion.html#LOAD_CFS_ON_DEMAND_CONFIG_KEY">LOAD_CFS_ON_DEMAND_CONFIG_KEY</a></code></td>
 <td class="colLast"><code>"hbase.hregion.scan.loadColumnFamiliesOnDemand"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.regionserver.HRegion.MAX_FLUSH_PER_CHANGES">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;long</code></td>
 <td><code><a href="org/apache/hadoop/hbase/regionserver/HRegion.html#MAX_FLUSH_PER_CHANGES">MAX_FLUSH_PER_CHANGES</a></code></td>
 <td class="colLast"><code>1000000000L</code></td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><a name="org.apache.hadoop.hbase.regionserver.HRegion.MAX_WAIT_FOR_SEQ_ID_KEY">
-<!--   -->
-</a><code>private&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td><code><a href="org/apache/hadoop/hbase/regionserver/HRegion.html#MAX_WAIT_FOR_SEQ_ID_KEY">MAX_WAIT_FOR_SEQ_ID_KEY</a></code></td>
-<td class="colLast"><code>"hbase.hregion.max.wait.for.sequenceid.ms"</code></td>
-</tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.regionserver.HRegion.MEMSTORE_FLUSH_PER_CHANGES">
 <!--   -->


[12/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatch.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatch.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatch.html
index d266952..fbdde18 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatch.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatch.html
@@ -7,36 +7,36 @@
 <body>
 <div class="sourceContainer">
 <pre><span class="sourceLineNo">001</span>/*<a name="line.1"></a>
-<span class="sourceLineNo">002</span> *<a name="line.2"></a>
-<span class="sourceLineNo">003</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.3"></a>
-<span class="sourceLineNo">004</span> * or more contributor license agreements.  See the NOTICE file<a name="line.4"></a>
-<span class="sourceLineNo">005</span> * distributed with this work for additional information<a name="line.5"></a>
-<span class="sourceLineNo">006</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.6"></a>
-<span class="sourceLineNo">007</span> * to you under the Apache License, Version 2.0 (the<a name="line.7"></a>
-<span class="sourceLineNo">008</span> * "License"); you may not use this file except in compliance<a name="line.8"></a>
-<span class="sourceLineNo">009</span> * with the License.  You may obtain a copy of the License at<a name="line.9"></a>
-<span class="sourceLineNo">010</span> *<a name="line.10"></a>
-<span class="sourceLineNo">011</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.11"></a>
-<span class="sourceLineNo">012</span> *<a name="line.12"></a>
-<span class="sourceLineNo">013</span> * Unless required by applicable law or agreed to in writing, software<a name="line.13"></a>
-<span class="sourceLineNo">014</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.14"></a>
-<span class="sourceLineNo">015</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.15"></a>
-<span class="sourceLineNo">016</span> * See the License for the specific language governing permissions and<a name="line.16"></a>
-<span class="sourceLineNo">017</span> * limitations under the License.<a name="line.17"></a>
-<span class="sourceLineNo">018</span> */<a name="line.18"></a>
-<span class="sourceLineNo">019</span>package org.apache.hadoop.hbase.regionserver;<a name="line.19"></a>
-<span class="sourceLineNo">020</span><a name="line.20"></a>
-<span class="sourceLineNo">021</span>import java.io.EOFException;<a name="line.21"></a>
-<span class="sourceLineNo">022</span>import java.io.FileNotFoundException;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.io.IOException;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.io.InterruptedIOException;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.lang.reflect.Constructor;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.text.ParseException;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import java.util.AbstractList;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import java.util.ArrayList;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import java.util.Arrays;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import java.util.Collection;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import java.util.Collections;<a name="line.31"></a>
+<span class="sourceLineNo">002</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.2"></a>
+<span class="sourceLineNo">003</span> * or more contributor license agreements.  See the NOTICE file<a name="line.3"></a>
+<span class="sourceLineNo">004</span> * distributed with this work for additional information<a name="line.4"></a>
+<span class="sourceLineNo">005</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.5"></a>
+<span class="sourceLineNo">006</span> * to you under the Apache License, Version 2.0 (the<a name="line.6"></a>
+<span class="sourceLineNo">007</span> * "License"); you may not use this file except in compliance<a name="line.7"></a>
+<span class="sourceLineNo">008</span> * with the License.  You may obtain a copy of the License at<a name="line.8"></a>
+<span class="sourceLineNo">009</span> *<a name="line.9"></a>
+<span class="sourceLineNo">010</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.10"></a>
+<span class="sourceLineNo">011</span> *<a name="line.11"></a>
+<span class="sourceLineNo">012</span> * Unless required by applicable law or agreed to in writing, software<a name="line.12"></a>
+<span class="sourceLineNo">013</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.13"></a>
+<span class="sourceLineNo">014</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.14"></a>
+<span class="sourceLineNo">015</span> * See the License for the specific language governing permissions and<a name="line.15"></a>
+<span class="sourceLineNo">016</span> * limitations under the License.<a name="line.16"></a>
+<span class="sourceLineNo">017</span> */<a name="line.17"></a>
+<span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.regionserver;<a name="line.18"></a>
+<span class="sourceLineNo">019</span><a name="line.19"></a>
+<span class="sourceLineNo">020</span>import java.io.EOFException;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import java.io.FileNotFoundException;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import java.io.IOException;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import java.io.InterruptedIOException;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.lang.reflect.Constructor;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.text.ParseException;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.util.AbstractList;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.util.ArrayList;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import java.util.Arrays;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import java.util.Collection;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import java.util.Collections;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import java.util.Comparator;<a name="line.31"></a>
 <span class="sourceLineNo">032</span>import java.util.HashMap;<a name="line.32"></a>
 <span class="sourceLineNo">033</span>import java.util.HashSet;<a name="line.33"></a>
 <span class="sourceLineNo">034</span>import java.util.Iterator;<a name="line.34"></a>
@@ -49,35 +49,35 @@
 <span class="sourceLineNo">041</span>import java.util.RandomAccess;<a name="line.41"></a>
 <span class="sourceLineNo">042</span>import java.util.Set;<a name="line.42"></a>
 <span class="sourceLineNo">043</span>import java.util.TreeMap;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import java.util.concurrent.Callable;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import java.util.concurrent.CompletionService;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import java.util.concurrent.ConcurrentMap;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import java.util.concurrent.ConcurrentSkipListMap;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import java.util.concurrent.ExecutionException;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import java.util.concurrent.ExecutorCompletionService;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import java.util.concurrent.ExecutorService;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import java.util.concurrent.Executors;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import java.util.concurrent.Future;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import java.util.concurrent.FutureTask;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import java.util.concurrent.ThreadFactory;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import java.util.concurrent.ThreadPoolExecutor;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import java.util.concurrent.TimeUnit;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import java.util.concurrent.TimeoutException;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import java.util.concurrent.atomic.AtomicBoolean;<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.atomic.AtomicLong;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import java.util.concurrent.locks.Lock;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import java.util.concurrent.locks.ReadWriteLock;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import java.util.concurrent.locks.ReentrantReadWriteLock;<a name="line.64"></a>
-<span class="sourceLineNo">065</span><a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.commons.logging.Log;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.commons.logging.LogFactory;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.conf.Configuration;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.fs.FileStatus;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.fs.FileSystem;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.fs.Path;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.ArrayBackedTag;<a name="line.72"></a>
+<span class="sourceLineNo">044</span>import java.util.UUID;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import java.util.concurrent.Callable;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import java.util.concurrent.CompletionService;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import java.util.concurrent.ConcurrentMap;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import java.util.concurrent.ConcurrentSkipListMap;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import java.util.concurrent.ExecutionException;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import java.util.concurrent.ExecutorCompletionService;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import java.util.concurrent.ExecutorService;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import java.util.concurrent.Executors;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import java.util.concurrent.Future;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import java.util.concurrent.FutureTask;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import java.util.concurrent.ThreadFactory;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import java.util.concurrent.ThreadPoolExecutor;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import java.util.concurrent.TimeUnit;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import java.util.concurrent.TimeoutException;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import java.util.concurrent.atomic.AtomicBoolean;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import java.util.concurrent.locks.Lock;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import java.util.concurrent.locks.ReadWriteLock;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import java.util.concurrent.locks.ReentrantReadWriteLock;<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.fs.FileStatus;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.fs.FileSystem;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.fs.Path;<a name="line.72"></a>
 <span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.Cell;<a name="line.73"></a>
 <span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.CellComparator;<a name="line.74"></a>
 <span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.75"></a>
@@ -85,8169 +85,7763 @@
 <span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.CompoundConfiguration;<a name="line.77"></a>
 <span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.78"></a>
 <span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.DroppedSnapshotException;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.HBaseConfiguration;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.HConstants;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.HConstants.OperationStatusCode;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.HDFSBlocksDistribution;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.KeyValue;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.KeyValueUtil;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.RegionTooBusyException;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.ShareableMemory;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.TableName;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.Tag;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.TagRewriteCell;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.TagType;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.TagUtil;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.UnknownScannerException;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.backup.HFileArchiver;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.client.Append;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.client.Durability;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.client.Get;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.client.Increment;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.client.IsolationLevel;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.client.Put;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.client.Result;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.client.RowMutations;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.conf.ConfigurationManager;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.conf.PropagatingConfigurationObserver;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.coprocessor.RegionObserver;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.errorhandling.ForeignExceptionSnare;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.exceptions.FailedSanityCheckException;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.exceptions.RegionInRecoveryException;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.exceptions.UnknownProtocolException;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.filter.ByteArrayComparable;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.filter.FilterWrapper;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.filter.IncompatibleFilterException;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.io.HeapSize;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.io.TimeRange;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.io.hfile.BlockCache;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.io.hfile.CacheConfig;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.io.hfile.HFile;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.ipc.CallerDisconnectedException;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.ipc.RpcCallContext;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.mob.MobUtils;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.monitoring.MonitoredTask;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.protobuf.ResponseConverter;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceCall;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.RegionLoad;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.StoreSequenceId;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor.FlushAction;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor.StoreFlushDescriptor;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor.EventType;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.StoreDescriptor;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.NextState;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.regionserver.compactions.CompactionContext;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.regionserver.throttle.CompactionThroughputControllerFactory;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.regionserver.throttle.NoLimitThroughputController;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.regionserver.throttle.ThroughputController;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.regionserver.wal.HLogKey;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.regionserver.wal.ReplayHLogKey;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.regionserver.wal.WALUtil;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.security.User;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.snapshot.SnapshotDescriptionUtils;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.snapshot.SnapshotManifest;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.util.ByteStringer;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.util.CancelableProgressable;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.util.ClassSize;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.util.CompressionTest;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.util.Counter;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.util.EncryptionTest;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.util.FSTableDescriptors;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.util.HashedBytes;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.Threads;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.wal.WALFactory;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.wal.WALSplitter.MutationReplay;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.io.MultipleIOException;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.util.StringUtils;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.htrace.Trace;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>import org.apache.htrace.TraceScope;<a name="line.186"></a>
-<span class="sourceLineNo">187</span><a name="line.187"></a>
-<span class="sourceLineNo">188</span>import com.google.common.annotations.VisibleForTesting;<a name="line.188"></a>
-<span class="sourceLineNo">189</span>import com.google.common.base.Optional;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>import com.google.common.base.Preconditions;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>import com.google.common.collect.Lists;<a name="line.191"></a>
-<span class="sourceLineNo">192</span>import com.google.common.collect.Maps;<a name="line.192"></a>
-<span class="sourceLineNo">193</span>import com.google.common.io.Closeables;<a name="line.193"></a>
-<span class="sourceLineNo">194</span>import com.google.protobuf.ByteString;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>import com.google.protobuf.Descriptors;<a name="line.195"></a>
-<span class="sourceLineNo">196</span>import com.google.protobuf.Message;<a name="line.196"></a>
-<span class="sourceLineNo">197</span>import com.google.protobuf.RpcCallback;<a name="line.197"></a>
-<span class="sourceLineNo">198</span>import com.google.protobuf.RpcController;<a name="line.198"></a>
-<span class="sourceLineNo">199</span>import com.google.protobuf.Service;<a name="line.199"></a>
-<span class="sourceLineNo">200</span>import com.google.protobuf.TextFormat;<a name="line.200"></a>
-<span class="sourceLineNo">201</span><a name="line.201"></a>
-<span class="sourceLineNo">202</span>@InterfaceAudience.Private<a name="line.202"></a>
-<span class="sourceLineNo">203</span>public class HRegion implements HeapSize, PropagatingConfigurationObserver, Region {<a name="line.203"></a>
-<span class="sourceLineNo">204</span>  private static final Log LOG = LogFactory.getLog(HRegion.class);<a name="line.204"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.HConstants;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.HConstants.OperationStatusCode;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.HDFSBlocksDistribution;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.KeyValue;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.KeyValueUtil;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.RegionTooBusyException;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.ShareableMemory;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.TableName;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.Tag;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.TagRewriteCell;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.TagUtil;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.UnknownScannerException;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.backup.HFileArchiver;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.client.Append;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.client.Durability;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.client.Get;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.client.Increment;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.client.IsolationLevel;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.client.Put;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.client.Result;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.client.RowMutations;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.conf.ConfigurationManager;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.conf.PropagatingConfigurationObserver;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.coprocessor.RegionObserver.MutationType;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.errorhandling.ForeignExceptionSnare;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.exceptions.FailedSanityCheckException;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.exceptions.RegionInRecoveryException;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.exceptions.UnknownProtocolException;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.filter.ByteArrayComparable;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.filter.FilterWrapper;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.filter.IncompatibleFilterException;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.io.HeapSize;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.io.TimeRange;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.io.hfile.HFile;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.ipc.CallerDisconnectedException;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.ipc.RpcCallContext;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.mob.MobUtils;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.monitoring.MonitoredTask;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.protobuf.ResponseConverter;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceCall;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.RegionLoad;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.StoreSequenceId;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor.FlushAction;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor.StoreFlushDescriptor;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor.EventType;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.StoreDescriptor;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl.WriteEntry;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.NextState;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.regionserver.compactions.CompactionContext;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.regionserver.throttle.CompactionThroughputControllerFactory;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.regionserver.throttle.NoLimitThroughputController;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.regionserver.throttle.ThroughputController;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.regionserver.wal.HLogKey;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.regionserver.wal.ReplayHLogKey;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.regionserver.wal.WALUtil;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.security.User;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.snapshot.SnapshotDescriptionUtils;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.snapshot.SnapshotManifest;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.util.ByteStringer;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.util.CancelableProgressable;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.util.ClassSize;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.util.CompressionTest;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.util.Counter;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.util.EncryptionTest;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.util.HashedBytes;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.util.Threads;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.wal.WALFactory;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.wal.WALSplitter.MutationReplay;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>import org.apache.hadoop.io.MultipleIOException;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>import org.apache.hadoop.util.StringUtils;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>import org.apache.htrace.Trace;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.htrace.TraceScope;<a name="line.182"></a>
+<span class="sourceLineNo">183</span><a name="line.183"></a>
+<span class="sourceLineNo">184</span>import com.google.common.annotations.VisibleForTesting;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import com.google.common.base.Optional;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import com.google.common.base.Preconditions;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import com.google.common.collect.Lists;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>import com.google.common.collect.Maps;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>import com.google.common.io.Closeables;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>import com.google.protobuf.ByteString;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>import com.google.protobuf.Descriptors;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>import com.google.protobuf.Message;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>import com.google.protobuf.RpcCallback;<a name="line.193"></a>
+<span class="sourceLineNo">194</span>import com.google.protobuf.RpcController;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>import com.google.protobuf.Service;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>import com.google.protobuf.TextFormat;<a name="line.196"></a>
+<span class="sourceLineNo">197</span><a name="line.197"></a>
+<span class="sourceLineNo">198</span>@SuppressWarnings("deprecation")<a name="line.198"></a>
+<span class="sourceLineNo">199</span>@InterfaceAudience.Private<a name="line.199"></a>
+<span class="sourceLineNo">200</span>public class HRegion implements HeapSize, PropagatingConfigurationObserver, Region {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>  private static final Log LOG = LogFactory.getLog(HRegion.class);<a name="line.201"></a>
+<span class="sourceLineNo">202</span><a name="line.202"></a>
+<span class="sourceLineNo">203</span>  public static final String LOAD_CFS_ON_DEMAND_CONFIG_KEY =<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    "hbase.hregion.scan.loadColumnFamiliesOnDemand";<a name="line.204"></a>
 <span class="sourceLineNo">205</span><a name="line.205"></a>
-<span class="sourceLineNo">206</span>  public static final String LOAD_CFS_ON_DEMAND_CONFIG_KEY =<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    "hbase.hregion.scan.loadColumnFamiliesOnDemand";<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>   * Longest time we'll wait on a sequenceid.<a name="line.210"></a>
-<span class="sourceLineNo">211</span>   * Sequenceid comes up out of the WAL subsystem. WAL subsystem can go bad or a test might use<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   * it without cleaning up previous usage properly; generally, a WAL roll is needed. The timeout<a name="line.212"></a>
-<span class="sourceLineNo">213</span>   * is for a latch in WALKey. There is no global accounting of outstanding WALKeys; intentionally<a name="line.213"></a>
-<span class="sourceLineNo">214</span>   * to avoid contention, but it makes it so if an abort or problem, we could be stuck waiting<a name="line.214"></a>
-<span class="sourceLineNo">215</span>   * on the WALKey latch. Revisit.<a name="line.215"></a>
-<span class="sourceLineNo">216</span>   */<a name="line.216"></a>
-<span class="sourceLineNo">217</span>  private final int maxWaitForSeqId;<a name="line.217"></a>
-<span class="sourceLineNo">218</span>  private static final String MAX_WAIT_FOR_SEQ_ID_KEY = "hbase.hregion.max.wait.for.sequenceid.ms";<a name="line.218"></a>
-<span class="sourceLineNo">219</span>  private static final int DEFAULT_MAX_WAIT_FOR_SEQ_ID = 30000;<a name="line.219"></a>
+<span class="sourceLineNo">206</span>  /**<a name="line.206"></a>
+<span class="sourceLineNo">207</span>   * This is the global default value for durability. All tables/mutations not<a name="line.207"></a>
+<span class="sourceLineNo">208</span>   * defining a durability or using USE_DEFAULT will default to this value.<a name="line.208"></a>
+<span class="sourceLineNo">209</span>   */<a name="line.209"></a>
+<span class="sourceLineNo">210</span>  private static final Durability DEFAULT_DURABILITY = Durability.SYNC_WAL;<a name="line.210"></a>
+<span class="sourceLineNo">211</span><a name="line.211"></a>
+<span class="sourceLineNo">212</span>  final AtomicBoolean closed = new AtomicBoolean(false);<a name="line.212"></a>
+<span class="sourceLineNo">213</span><a name="line.213"></a>
+<span class="sourceLineNo">214</span>  /* Closing can take some time; use the closing flag if there is stuff we don't<a name="line.214"></a>
+<span class="sourceLineNo">215</span>   * want to do while in closing state; e.g. like offer this region up to the<a name="line.215"></a>
+<span class="sourceLineNo">216</span>   * master as a region to close if the carrying regionserver is overloaded.<a name="line.216"></a>
+<span class="sourceLineNo">217</span>   * Once set, it is never cleared.<a name="line.217"></a>
+<span class="sourceLineNo">218</span>   */<a name="line.218"></a>
+<span class="sourceLineNo">219</span>  final AtomicBoolean closing = new AtomicBoolean(false);<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>   * This is the global default value for durability. All tables/mutations not<a name="line.222"></a>
-<span class="sourceLineNo">223</span>   * defining a durability or using USE_DEFAULT will default to this value.<a name="line.223"></a>
+<span class="sourceLineNo">222</span>   * The max sequence id of flushed data on this region. There is no edit in memory that is<a name="line.222"></a>
+<span class="sourceLineNo">223</span>   * less that this sequence id.<a name="line.223"></a>
 <span class="sourceLineNo">224</span>   */<a name="line.224"></a>
-<span class="sourceLineNo">225</span>  private static final Durability DEFAULT_DURABILITY = Durability.SYNC_WAL;<a name="line.225"></a>
+<span class="sourceLineNo">225</span>  private volatile long maxFlushedSeqId = HConstants.NO_SEQNUM;<a name="line.225"></a>
 <span class="sourceLineNo">226</span><a name="line.226"></a>
-<span class="sourceLineNo">227</span>  final AtomicBoolean closed = new AtomicBoolean(false);<a name="line.227"></a>
-<span class="sourceLineNo">228</span><a name="line.228"></a>
-<span class="sourceLineNo">229</span>  /* Closing can take some time; use the closing flag if there is stuff we don't<a name="line.229"></a>
-<span class="sourceLineNo">230</span>   * want to do while in closing state; e.g. like offer this region up to the<a name="line.230"></a>
-<span class="sourceLineNo">231</span>   * master as a region to close if the carrying regionserver is overloaded.<a name="line.231"></a>
-<span class="sourceLineNo">232</span>   * Once set, it is never cleared.<a name="line.232"></a>
-<span class="sourceLineNo">233</span>   */<a name="line.233"></a>
-<span class="sourceLineNo">234</span>  final AtomicBoolean closing = new AtomicBoolean(false);<a name="line.234"></a>
-<span class="sourceLineNo">235</span><a name="line.235"></a>
-<span class="sourceLineNo">236</span>  /**<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   * The max sequence id of flushed data on this region. There is no edit in memory that is<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   * less that this sequence id.<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   */<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  private volatile long maxFlushedSeqId = HConstants.NO_SEQNUM;<a name="line.240"></a>
+<span class="sourceLineNo">227</span>  /**<a name="line.227"></a>
+<span class="sourceLineNo">228</span>   * Record the sequence id of last flush operation. Can be in advance of<a name="line.228"></a>
+<span class="sourceLineNo">229</span>   * {@link #maxFlushedSeqId} when flushing a single column family. In this case,<a name="line.229"></a>
+<span class="sourceLineNo">230</span>   * {@link #maxFlushedSeqId} will be older than the oldest edit in memory.<a name="line.230"></a>
+<span class="sourceLineNo">231</span>   */<a name="line.231"></a>
+<span class="sourceLineNo">232</span>  private volatile long lastFlushOpSeqId = HConstants.NO_SEQNUM;<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>   * The sequence id of the last replayed open region event from the primary region. This is used<a name="line.235"></a>
+<span class="sourceLineNo">236</span>   * to skip entries before this due to the possibility of replay edits coming out of order from<a name="line.236"></a>
+<span class="sourceLineNo">237</span>   * replication.<a name="line.237"></a>
+<span class="sourceLineNo">238</span>   */<a name="line.238"></a>
+<span class="sourceLineNo">239</span>  protected volatile long lastReplayedOpenRegionSeqId = -1L;<a name="line.239"></a>
+<span class="sourceLineNo">240</span>  protected volatile long lastReplayedCompactionSeqId = -1L;<a name="line.240"></a>
 <span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>  /**<a name="line.242"></a>
-<span class="sourceLineNo">243</span>   * Record the sequence id of last flush operation. Can be in advance of<a name="line.243"></a>
-<span class="sourceLineNo">244</span>   * {@link #maxFlushedSeqId} when flushing a single column family. In this case,<a name="line.244"></a>
-<span class="sourceLineNo">245</span>   * {@link #maxFlushedSeqId} will be older than the oldest edit in memory.<a name="line.245"></a>
-<span class="sourceLineNo">246</span>   */<a name="line.246"></a>
-<span class="sourceLineNo">247</span>  private volatile long lastFlushOpSeqId = HConstants.NO_SEQNUM;<a name="line.247"></a>
-<span class="sourceLineNo">248</span><a name="line.248"></a>
-<span class="sourceLineNo">249</span>  /**<a name="line.249"></a>
-<span class="sourceLineNo">250</span>   * The sequence id of the last replayed open region event from the primary region. This is used<a name="line.250"></a>
-<span class="sourceLineNo">251</span>   * to skip entries before this due to the possibility of replay edits coming out of order from<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * replication.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  protected volatile long lastReplayedOpenRegionSeqId = -1L;<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  protected volatile long lastReplayedCompactionSeqId = -1L;<a name="line.255"></a>
+<span class="sourceLineNo">242</span>  //////////////////////////////////////////////////////////////////////////////<a name="line.242"></a>
+<span class="sourceLineNo">243</span>  // Members<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>  // map from a locked row to the context for that lock including:<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  // - CountDownLatch for threads waiting on that row<a name="line.247"></a>
+<span class="sourceLineNo">248</span>  // - the thread that owns the lock (allow reentrancy)<a name="line.248"></a>
+<span class="sourceLineNo">249</span>  // - reference count of (reentrant) locks held by the thread<a name="line.249"></a>
+<span class="sourceLineNo">250</span>  // - the row itself<a name="line.250"></a>
+<span class="sourceLineNo">251</span>  private final ConcurrentHashMap&lt;HashedBytes, RowLockContext&gt; lockedRows =<a name="line.251"></a>
+<span class="sourceLineNo">252</span>      new ConcurrentHashMap&lt;HashedBytes, RowLockContext&gt;();<a name="line.252"></a>
+<span class="sourceLineNo">253</span><a name="line.253"></a>
+<span class="sourceLineNo">254</span>  protected final Map&lt;byte[], Store&gt; stores = new ConcurrentSkipListMap&lt;byte[], Store&gt;(<a name="line.254"></a>
+<span class="sourceLineNo">255</span>      Bytes.BYTES_RAWCOMPARATOR);<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>  // Members<a name="line.258"></a>
-<span class="sourceLineNo">259</span>  //////////////////////////////////////////////////////////////////////////////<a name="line.259"></a>
-<span class="sourceLineNo">260</span><a name="line.260"></a>
-<span class="sourceLineNo">261</span>  // map from a locked row to the context for that lock including:<a name="line.261"></a>
-<span class="sourceLineNo">262</span>  // - CountDownLatch for threads waiting on that row<a name="line.262"></a>
-<span class="sourceLineNo">263</span>  // - the thread that owns the lock (allow reentrancy)<a name="line.263"></a>
-<span class="sourceLineNo">264</span>  // - reference count of (reentrant) locks held by the thread<a name="line.264"></a>
-<span class="sourceLineNo">265</span>  // - the row itself<a name="line.265"></a>
-<span class="sourceLineNo">266</span>  private final ConcurrentHashMap&lt;HashedBytes, RowLockContext&gt; lockedRows =<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      new ConcurrentHashMap&lt;HashedBytes, RowLockContext&gt;();<a name="line.267"></a>
-<span class="sourceLineNo">268</span><a name="line.268"></a>
-<span class="sourceLineNo">269</span>  protected final Map&lt;byte[], Store&gt; stores = new ConcurrentSkipListMap&lt;byte[], Store&gt;(<a name="line.269"></a>
-<span class="sourceLineNo">270</span>      Bytes.BYTES_RAWCOMPARATOR);<a name="line.270"></a>
-<span class="sourceLineNo">271</span><a name="line.271"></a>
-<span class="sourceLineNo">272</span>  // TODO: account for each registered handler in HeapSize computation<a name="line.272"></a>
-<span class="sourceLineNo">273</span>  private Map&lt;String, Service&gt; coprocessorServiceHandlers = Maps.newHashMap();<a name="line.273"></a>
+<span class="sourceLineNo">257</span>  // TODO: account for each registered handler in HeapSize computation<a name="line.257"></a>
+<span class="sourceLineNo">258</span>  private Map&lt;String, Service&gt; coprocessorServiceHandlers = Maps.newHashMap();<a name="line.258"></a>
+<span class="sourceLineNo">259</span><a name="line.259"></a>
+<span class="sourceLineNo">260</span>  private final AtomicLong memstoreSize = new AtomicLong(0);<a name="line.260"></a>
+<span class="sourceLineNo">261</span><a name="line.261"></a>
+<span class="sourceLineNo">262</span>  // Debug possible data loss due to WAL off<a name="line.262"></a>
+<span class="sourceLineNo">263</span>  final Counter numMutationsWithoutWAL = new Counter();<a name="line.263"></a>
+<span class="sourceLineNo">264</span>  final Counter dataInMemoryWithoutWAL = new Counter();<a name="line.264"></a>
+<span class="sourceLineNo">265</span><a name="line.265"></a>
+<span class="sourceLineNo">266</span>  // Debug why CAS operations are taking a while.<a name="line.266"></a>
+<span class="sourceLineNo">267</span>  final Counter checkAndMutateChecksPassed = new Counter();<a name="line.267"></a>
+<span class="sourceLineNo">268</span>  final Counter checkAndMutateChecksFailed = new Counter();<a name="line.268"></a>
+<span class="sourceLineNo">269</span><a name="line.269"></a>
+<span class="sourceLineNo">270</span>  // Number of requests<a name="line.270"></a>
+<span class="sourceLineNo">271</span>  final Counter readRequestsCount = new Counter();<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  final Counter filteredReadRequestsCount = new Counter();<a name="line.272"></a>
+<span class="sourceLineNo">273</span>  final Counter writeRequestsCount = new Counter();<a name="line.273"></a>
 <span class="sourceLineNo">274</span><a name="line.274"></a>
-<span class="sourceLineNo">275</span>  private final AtomicLong memstoreSize = new AtomicLong(0);<a name="line.275"></a>
-<span class="sourceLineNo">276</span><a name="line.276"></a>
-<span class="sourceLineNo">277</span>  // Debug possible data loss due to WAL off<a name="line.277"></a>
-<span class="sourceLineNo">278</span>  final Counter numMutationsWithoutWAL = new Counter();<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  final Counter dataInMemoryWithoutWAL = new Counter();<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  // Debug why CAS operations are taking a while.<a name="line.281"></a>
-<span class="sourceLineNo">282</span>  final Counter checkAndMutateChecksPassed = new Counter();<a name="line.282"></a>
-<span class="sourceLineNo">283</span>  final Counter checkAndMutateChecksFailed = new Counter();<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>  //Number of requests<a name="line.285"></a>
-<span class="sourceLineNo">286</span>  final Counter readRequestsCount = new Counter();<a name="line.286"></a>
-<span class="sourceLineNo">287</span>  final Counter filteredReadRequestsCount = new Counter();<a name="line.287"></a>
-<span class="sourceLineNo">288</span>  final Counter writeRequestsCount = new Counter();<a name="line.288"></a>
-<span class="sourceLineNo">289</span><a name="line.289"></a>
-<span class="sourceLineNo">290</span>  // Number of requests blocked by memstore size.<a name="line.290"></a>
-<span class="sourceLineNo">291</span>  private final Counter blockedRequestsCount = new Counter();<a name="line.291"></a>
-<span class="sourceLineNo">292</span><a name="line.292"></a>
-<span class="sourceLineNo">293</span>  // Compaction counters<a name="line.293"></a>
-<span class="sourceLineNo">294</span>  final AtomicLong compactionsFinished = new AtomicLong(0L);<a name="line.294"></a>
-<span class="sourceLineNo">295</span>  final AtomicLong compactionNumFilesCompacted = new AtomicLong(0L);<a name="line.295"></a>
-<span class="sourceLineNo">296</span>  final AtomicLong compactionNumBytesCompacted = new AtomicLong(0L);<a name="line.296"></a>
-<span class="sourceLineNo">297</span><a name="line.297"></a>
-<span class="sourceLineNo">298</span>  private final WAL wal;<a name="line.298"></a>
-<span class="sourceLineNo">299</span>  private final HRegionFileSystem fs;<a name="line.299"></a>
-<span class="sourceLineNo">300</span>  protected final Configuration conf;<a name="line.300"></a>
-<span class="sourceLineNo">301</span>  private final Configuration baseConf;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  private final int rowLockWaitDuration;<a name="line.302"></a>
-<span class="sourceLineNo">303</span>  private CompactedHFilesDischarger compactedFileDischarger;<a name="line.303"></a>
-<span class="sourceLineNo">304</span>  static final int DEFAULT_ROWLOCK_WAIT_DURATION = 30000;<a name="line.304"></a>
-<span class="sourceLineNo">305</span><a name="line.305"></a>
-<span class="sourceLineNo">306</span>  // The internal wait duration to acquire a lock before read/update<a name="line.306"></a>
-<span class="sourceLineNo">307</span>  // from the region. It is not per row. The purpose of this wait time<a name="line.307"></a>
-<span class="sourceLineNo">308</span>  // is to avoid waiting a long time while the region is busy, so that<a name="line.308"></a>
-<span class="sourceLineNo">309</span>  // we can release the IPC handler soon enough to improve the<a name="line.309"></a>
-<span class="sourceLineNo">310</span>  // availability of the region server. It can be adjusted by<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  // tuning configuration "hbase.busy.wait.duration".<a name="line.311"></a>
-<span class="sourceLineNo">312</span>  final long busyWaitDuration;<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  static final long DEFAULT_BUSY_WAIT_DURATION = HConstants.DEFAULT_HBASE_RPC_TIMEOUT;<a name="line.313"></a>
+<span class="sourceLineNo">275</span>  // Number of requests blocked by memstore size.<a name="line.275"></a>
+<span class="sourceLineNo">276</span>  private final Counter blockedRequestsCount = new Counter();<a name="line.276"></a>
+<span class="sourceLineNo">277</span><a name="line.277"></a>
+<span class="sourceLineNo">278</span>  // Compaction counters<a name="line.278"></a>
+<span class="sourceLineNo">279</span>  final AtomicLong compactionsFinished = new AtomicLong(0L);<a name="line.279"></a>
+<span class="sourceLineNo">280</span>  final AtomicLong compactionNumFilesCompacted = new AtomicLong(0L);<a name="line.280"></a>
+<span class="sourceLineNo">281</span>  final AtomicLong compactionNumBytesCompacted = new AtomicLong(0L);<a name="line.281"></a>
+<span class="sourceLineNo">282</span><a name="line.282"></a>
+<span class="sourceLineNo">283</span>  private final WAL wal;<a name="line.283"></a>
+<span class="sourceLineNo">284</span>  private final HRegionFileSystem fs;<a name="line.284"></a>
+<span class="sourceLineNo">285</span>  protected final Configuration conf;<a name="line.285"></a>
+<span class="sourceLineNo">286</span>  private final Configuration baseConf;<a name="line.286"></a>
+<span class="sourceLineNo">287</span>  private final int rowLockWaitDuration;<a name="line.287"></a>
+<span class="sourceLineNo">288</span>  private CompactedHFilesDischarger compactedFileDischarger;<a name="line.288"></a>
+<span class="sourceLineNo">289</span>  static final int DEFAULT_ROWLOCK_WAIT_DURATION = 30000;<a name="line.289"></a>
+<span class="sourceLineNo">290</span><a name="line.290"></a>
+<span class="sourceLineNo">291</span>  // The internal wait duration to acquire a lock before read/update<a name="line.291"></a>
+<span class="sourceLineNo">292</span>  // from the region. It is not per row. The purpose of this wait time<a name="line.292"></a>
+<span class="sourceLineNo">293</span>  // is to avoid waiting a long time while the region is busy, so that<a name="line.293"></a>
+<span class="sourceLineNo">294</span>  // we can release the IPC handler soon enough to improve the<a name="line.294"></a>
+<span class="sourceLineNo">295</span>  // availability of the region server. It can be adjusted by<a name="line.295"></a>
+<span class="sourceLineNo">296</span>  // tuning configuration "hbase.busy.wait.duration".<a name="line.296"></a>
+<span class="sourceLineNo">297</span>  final long busyWaitDuration;<a name="line.297"></a>
+<span class="sourceLineNo">298</span>  static final long DEFAULT_BUSY_WAIT_DURATION = HConstants.DEFAULT_HBASE_RPC_TIMEOUT;<a name="line.298"></a>
+<span class="sourceLineNo">299</span><a name="line.299"></a>
+<span class="sourceLineNo">300</span>  // If updating multiple rows in one call, wait longer,<a name="line.300"></a>
+<span class="sourceLineNo">301</span>  // i.e. waiting for busyWaitDuration * # of rows. However,<a name="line.301"></a>
+<span class="sourceLineNo">302</span>  // we can limit the max multiplier.<a name="line.302"></a>
+<span class="sourceLineNo">303</span>  final int maxBusyWaitMultiplier;<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span>  // Max busy wait duration. There is no point to wait longer than the RPC<a name="line.305"></a>
+<span class="sourceLineNo">306</span>  // purge timeout, when a RPC call will be terminated by the RPC engine.<a name="line.306"></a>
+<span class="sourceLineNo">307</span>  final long maxBusyWaitDuration;<a name="line.307"></a>
+<span class="sourceLineNo">308</span><a name="line.308"></a>
+<span class="sourceLineNo">309</span>  // negative number indicates infinite timeout<a name="line.309"></a>
+<span class="sourceLineNo">310</span>  static final long DEFAULT_ROW_PROCESSOR_TIMEOUT = 60 * 1000L;<a name="line.310"></a>
+<span class="sourceLineNo">311</span>  final ExecutorService rowProcessorExecutor = Executors.newCachedThreadPool();<a name="line.311"></a>
+<span class="sourceLineNo">312</span><a name="line.312"></a>
+<span class="sourceLineNo">313</span>  private final ConcurrentHashMap&lt;RegionScanner, Long&gt; scannerReadPoints;<a name="line.313"></a>
 <span class="sourceLineNo">314</span><a name="line.314"></a>
-<span class="sourceLineNo">315</span>  // If updating multiple rows in one call, wait longer,<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  // i.e. waiting for busyWaitDuration * # of rows. However,<a name="line.316"></a>
-<span class="sourceLineNo">317</span>  // we can limit the max multiplier.<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  final int maxBusyWaitMultiplier;<a name="line.318"></a>
+<span class="sourceLineNo">315</span>  /**<a name="line.315"></a>
+<span class="sourceLineNo">316</span>   * The sequence ID that was encountered when this region was opened.<a name="line.316"></a>
+<span class="sourceLineNo">317</span>   */<a name="line.317"></a>
+<span class="sourceLineNo">318</span>  private long openSeqNum = HConstants.NO_SEQNUM;<a name="line.318"></a>
 <span class="sourceLineNo">319</span><a name="line.319"></a>
-<span class="sourceLineNo">320</span>  // Max busy wait duration. There is no point to wait longer than the RPC<a name="line.320"></a>
-<span class="sourceLineNo">321</span>  // purge timeout, when a RPC call will be terminated by the RPC engine.<a name="line.321"></a>
-<span class="sourceLineNo">322</span>  final long maxBusyWaitDuration;<a name="line.322"></a>
-<span class="sourceLineNo">323</span><a name="line.323"></a>
-<span class="sourceLineNo">324</span>  // negative number indicates infinite timeout<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  static final long DEFAULT_ROW_PROCESSOR_TIMEOUT = 60 * 1000L;<a name="line.325"></a>
-<span class="sourceLineNo">326</span>  final ExecutorService rowProcessorExecutor = Executors.newCachedThreadPool();<a name="line.326"></a>
-<span class="sourceLineNo">327</span><a name="line.327"></a>
-<span class="sourceLineNo">328</span>  private final ConcurrentHashMap&lt;RegionScanner, Long&gt; scannerReadPoints;<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>   * The sequence ID that was encountered when this region was opened.<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   */<a name="line.332"></a>
-<span class="sourceLineNo">333</span>  private long openSeqNum = HConstants.NO_SEQNUM;<a name="line.333"></a>
-<span class="sourceLineNo">334</span><a name="line.334"></a>
-<span class="sourceLineNo">335</span>  /**<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   * The default setting for whether to enable on-demand CF loading for<a name="line.336"></a>
-<span class="sourceLineNo">337</span>   * scan requests to this region. Requests can override it.<a name="line.337"></a>
-<span class="sourceLineNo">338</span>   */<a name="line.338"></a>
-<span class="sourceLineNo">339</span>  private boolean isLoadingCfsOnDemandDefault = false;<a name="line.339"></a>
-<span class="sourceLineNo">340</span><a name="line.340"></a>
-<span class="sourceLineNo">341</span>  private final AtomicInteger majorInProgress = new AtomicInteger(0);<a name="line.341"></a>
-<span class="sourceLineNo">342</span>  private final AtomicInteger minorInProgress = new AtomicInteger(0);<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>  // Context: During replay we want to ensure that we do not lose any data. So, we<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  // have to be conservative in how we replay wals. For each store, we calculate<a name="line.346"></a>
-<span class="sourceLineNo">347</span>  // the maxSeqId up to which the store was flushed. And, skip the edits which<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  // are equal to or lower than maxSeqId for each store.<a name="line.348"></a>
-<span class="sourceLineNo">349</span>  // The following map is populated when opening the region<a name="line.349"></a>
-<span class="sourceLineNo">350</span>  Map&lt;byte[], Long&gt; maxSeqIdInStores = new TreeMap&lt;byte[], Long&gt;(Bytes.BYTES_COMPARATOR);<a name="line.350"></a>
-<span class="sourceLineNo">351</span><a name="line.351"></a>
-<span class="sourceLineNo">352</span>  /** Saved state from replaying prepare flush cache */<a name="line.352"></a>
-<span class="sourceLineNo">353</span>  private PrepareFlushResult prepareFlushResult = null;<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>   * Config setting for whether to allow writes when a region is in recovering or not.<a name="line.356"></a>
-<span class="sourceLineNo">357</span>   */<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  private boolean disallowWritesInRecovering = false;<a name="line.358"></a>
-<span class="sourceLineNo">359</span><a name="line.359"></a>
-<span class="sourceLineNo">360</span>  // when a region is in recovering state, it can only accept writes not reads<a name="line.360"></a>
-<span class="sourceLineNo">361</span>  private volatile boolean recovering = false;<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>  private volatile Optional&lt;ConfigurationManager&gt; configurationManager;<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>   * @return The smallest mvcc readPoint across all the scanners in this<a name="line.366"></a>
-<span class="sourceLineNo">367</span>   * region. Writes older than this readPoint, are included in every<a name="line.367"></a>
-<span class="sourceLineNo">368</span>   * read operation.<a name="line.368"></a>
-<span class="sourceLineNo">369</span>   */<a name="line.369"></a>
-<span class="sourceLineNo">370</span>  public long getSmallestReadPoint() {<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    long minimumReadPoint;<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    // We need to ensure that while we are calculating the smallestReadPoint<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    // no new RegionScanners can grab a readPoint that we are unaware of.<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    // We achieve this by synchronizing on the scannerReadPoints object.<a name="line.374"></a>
-<span class="sourceLineNo">375</span>    synchronized(scannerReadPoints) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>      minimumReadPoint = mvcc.getReadPoint();<a name="line.376"></a>
-<span class="sourceLineNo">377</span><a name="line.377"></a>
-<span class="sourceLineNo">378</span>      for (Long readPoint: this.scannerReadPoints.values()) {<a name="line.378"></a>
-<span class="sourceLineNo">379</span>        if (readPoint &lt; minimumReadPoint) {<a name="line.379"></a>
-<span class="sourceLineNo">380</span>          minimumReadPoint = readPoint;<a name="line.380"></a>
-<span class="sourceLineNo">381</span>        }<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      }<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    }<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    return minimumReadPoint;<a name="line.384"></a>
-<span class="sourceLineNo">385</span>  }<a name="line.385"></a>
-<span class="sourceLineNo">386</span><a name="line.386"></a>
-<span class="sourceLineNo">387</span>  /*<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * Data structure of write state flags used coordinating flushes,<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   * compactions and closes.<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   */<a name="line.390"></a>
-<span class="sourceLineNo">391</span>  static class WriteState {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    // Set while a memstore flush is happening.<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    volatile boolean flushing = false;<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    // Set when a flush has been requested.<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    volatile boolean flushRequested = false;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    // Number of compactions running.<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    AtomicInteger compacting = new AtomicInteger(0);<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    // Gets set in close. If set, cannot compact or flush again.<a name="line.398"></a>
-<span class="sourceLineNo">399</span>    volatile boolean writesEnabled = true;<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    // Set if region is read-only<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    volatile boolean readOnly = false;<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    // whether the reads are enabled. This is different than readOnly, because readOnly is<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    // static in the lifetime of the region, while readsEnabled is dynamic<a name="line.403"></a>
-<span class="sourceLineNo">404</span>    volatile boolean readsEnabled = true;<a name="line.404"></a>
-<span class="sourceLineNo">405</span><a name="line.405"></a>
-<span class="sourceLineNo">406</span>    /**<a name="line.406"></a>
-<span class="sourceLineNo">407</span>     * Set flags that make this region read-only.<a name="line.407"></a>
-<span class="sourceLineNo">408</span>     *<a name="line.408"></a>
-<span class="sourceLineNo">409</span>     * @param onOff flip value for region r/o setting<a name="line.409"></a>
-<span class="sourceLineNo">410</span>     */<a name="line.410"></a>
-<span class="sourceLineNo">411</span>    synchronized void setReadOnly(final boolean onOff) {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      this.writesEnabled = !onOff;<a name="line.412"></a>
-<span class="sourceLineNo">413</span>      this.readOnly = onOff;<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    }<a name="line.414"></a>
+<span class="sourceLineNo">320</span>  /**<a name="line.320"></a>
+<span class="sourceLineNo">321</span>   * The default setting for whether to enable on-demand CF loading for<a name="line.321"></a>
+<span class="sourceLineNo">322</span>   * scan requests to this region. Requests can override it.<a name="line.322"></a>
+<span class="sourceLineNo">323</span>   */<a name="line.323"></a>
+<span class="sourceLineNo">324</span>  private boolean isLoadingCfsOnDemandDefault = false;<a name="line.324"></a>
+<span class="sourceLineNo">325</span><a name="line.325"></a>
+<span class="sourceLineNo">326</span>  private final AtomicInteger majorInProgress = new AtomicInteger(0);<a name="line.326"></a>
+<span class="sourceLineNo">327</span>  private final AtomicInteger minorInProgress = new AtomicInteger(0);<a name="line.327"></a>
+<span class="sourceLineNo">328</span><a name="line.328"></a>
+<span class="sourceLineNo">329</span>  //<a name="line.329"></a>
+<span class="sourceLineNo">330</span>  // Context: During replay we want to ensure that we do not lose any data. So, we<a name="line.330"></a>
+<span class="sourceLineNo">331</span>  // have to be conservative in how we replay wals. For each store, we calculate<a name="line.331"></a>
+<span class="sourceLineNo">332</span>  // the maxSeqId up to which the store was flushed. And, skip the edits which<a name="line.332"></a>
+<span class="sourceLineNo">333</span>  // are equal to or lower than maxSeqId for each store.<a name="line.333"></a>
+<span class="sourceLineNo">334</span>  // The following map is populated when opening the region<a name="line.334"></a>
+<span class="sourceLineNo">335</span>  Map&lt;byte[], Long&gt; maxSeqIdInStores = new TreeMap&lt;byte[], Long&gt;(Bytes.BYTES_COMPARATOR);<a name="line.335"></a>
+<span class="sourceLineNo">336</span><a name="line.336"></a>
+<span class="sourceLineNo">337</span>  /** Saved state from replaying prepare flush cache */<a name="line.337"></a>
+<span class="sourceLineNo">338</span>  private PrepareFlushResult prepareFlushResult = null;<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>   * Config setting for whether to allow writes when a region is in recovering or not.<a name="line.341"></a>
+<span class="sourceLineNo">342</span>   */<a name="line.342"></a>
+<span class="sourceLineNo">343</span>  private boolean disallowWritesInRecovering = false;<a name="line.343"></a>
+<span class="sourceLineNo">344</span><a name="line.344"></a>
+<span class="sourceLineNo">345</span>  // When a region is in recovering state, it can only accept writes not reads<a name="line.345"></a>
+<span class="sourceLineNo">346</span>  private volatile boolean recovering = false;<a name="line.346"></a>
+<span class="sourceLineNo">347</span><a name="line.347"></a>
+<span class="sourceLineNo">348</span>  private volatile Optional&lt;ConfigurationManager&gt; configurationManager;<a name="line.348"></a>
+<span class="sourceLineNo">349</span><a name="line.349"></a>
+<span class="sourceLineNo">350</span>  /**<a name="line.350"></a>
+<span class="sourceLineNo">351</span>   * @return The smallest mvcc readPoint across all the scanners in this<a name="line.351"></a>
+<span class="sourceLineNo">352</span>   * region. Writes older than this readPoint, are included in every<a name="line.352"></a>
+<span class="sourceLineNo">353</span>   * read operation.<a name="line.353"></a>
+<span class="sourceLineNo">354</span>   */<a name="line.354"></a>
+<span class="sourceLineNo">355</span>  public long getSmallestReadPoint() {<a name="line.355"></a>
+<span class="sourceLineNo">356</span>    long minimumReadPoint;<a name="line.356"></a>
+<span class="sourceLineNo">357</span>    // We need to ensure that while we are calculating the smallestReadPoint<a name="line.357"></a>
+<span class="sourceLineNo">358</span>    // no new RegionScanners can grab a readPoint that we are unaware of.<a name="line.358"></a>
+<span class="sourceLineNo">359</span>    // We achieve this by synchronizing on the scannerReadPoints object.<a name="line.359"></a>
+<span class="sourceLineNo">360</span>    synchronized(scannerReadPoints) {<a name="line.360"></a>
+<span class="sourceLineNo">361</span>      minimumReadPoint = mvcc.getReadPoint();<a name="line.361"></a>
+<span class="sourceLineNo">362</span>      for (Long readPoint: this.scannerReadPoints.values()) {<a name="line.362"></a>
+<span class="sourceLineNo">363</span>        if (readPoint &lt; minimumReadPoint) {<a name="line.363"></a>
+<span class="sourceLineNo">364</span>          minimumReadPoint = readPoint;<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>    return minimumReadPoint;<a name="line.368"></a>
+<span class="sourceLineNo">369</span>  }<a name="line.369"></a>
+<span class="sourceLineNo">370</span><a name="line.370"></a>
+<span class="sourceLineNo">371</span>  /*<a name="line.371"></a>
+<span class="sourceLineNo">372</span>   * Data structure of write state flags used coordinating flushes,<a name="line.372"></a>
+<span class="sourceLineNo">373</span>   * compactions and closes.<a name="line.373"></a>
+<span class="sourceLineNo">374</span>   */<a name="line.374"></a>
+<span class="sourceLineNo">375</span>  static class WriteState {<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    // Set while a memstore flush is happening.<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    volatile boolean flushing = false;<a name="line.377"></a>
+<span class="sourceLineNo">378</span>    // Set when a flush has been requested.<a name="line.378"></a>
+<span class="sourceLineNo">379</span>    volatile boolean flushRequested = false;<a name="line.379"></a>
+<span class="sourceLineNo">380</span>    // Number of compactions running.<a name="line.380"></a>
+<span class="sourceLineNo">381</span>    AtomicInteger compacting = new AtomicInteger(0);<a name="line.381"></a>
+<span class="sourceLineNo">382</span>    // Gets set in close. If set, cannot compact or flush again.<a name="line.382"></a>
+<span class="sourceLineNo">383</span>    volatile boolean writesEnabled = true;<a name="line.383"></a>
+<span class="sourceLineNo">384</span>    // Set if region is read-only<a name="line.384"></a>
+<span class="sourceLineNo">385</span>    volatile boolean readOnly = false;<a name="line.385"></a>
+<span class="sourceLineNo">386</span>    // whether the reads are enabled. This is different than readOnly, because readOnly is<a name="line.386"></a>
+<span class="sourceLineNo">387</span>    // static in the lifetime of the region, while readsEnabled is dynamic<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    volatile boolean readsEnabled = true;<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>     * Set flags that make this region read-only.<a name="line.391"></a>
+<span class="sourceLineNo">392</span>     *<a name="line.392"></a>
+<span class="sourceLineNo">393</span>     * @param onOff flip value for region r/o setting<a name="line.393"></a>
+<span class="sourceLineNo">394</span>     */<a name="line.394"></a>
+<span class="sourceLineNo">395</span>    synchronized void setReadOnly(final boolean onOff) {<a name="line.395"></a>
+<span class="sourceLineNo">396</span>      this.writesEnabled = !onOff;<a name="line.396"></a>
+<span class="sourceLineNo">397</span>      this.readOnly = onOff;<a name="line.397"></a>
+<span class="sourceLineNo">398</span>    }<a name="line.398"></a>
+<span class="sourceLineNo">399</span><a name="line.399"></a>
+<span class="sourceLineNo">400</span>    boolean isReadOnly() {<a name="line.400"></a>
+<span class="sourceLineNo">401</span>      return this.readOnly;<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>    boolean isFlushRequested() {<a name="line.404"></a>
+<span class="sourceLineNo">405</span>      return this.flushRequested;<a name="line.405"></a>
+<span class="sourceLineNo">406</span>    }<a name="line.406"></a>
+<span class="sourceLineNo">407</span><a name="line.407"></a>
+<span class="sourceLineNo">408</span>    void setReadsEnabled(boolean readsEnabled) {<a name="line.408"></a>
+<span class="sourceLineNo">409</span>      this.readsEnabled = readsEnabled;<a name="line.409"></a>
+<span class="sourceLineNo">410</span>    }<a name="line.410"></a>
+<span class="sourceLineNo">411</span><a name="line.411"></a>
+<span class="sourceLineNo">412</span>    static final long HEAP_SIZE = ClassSize.align(<a name="line.412"></a>
+<span class="sourceLineNo">413</span>        ClassSize.OBJECT + 5 * Bytes.SIZEOF_BOOLEAN);<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>    boolean isReadOnly() {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      return this.readOnly;<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>    boolean isFlushRequested() {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>      return this.flushRequested;<a name="line.421"></a>
-<span class="sourceLineNo">422</span>    }<a name="line.422"></a>
-<span class="sourceLineNo">423</span><a name="line.423"></a>
-<span class="sourceLineNo">424</span>    void setReadsEnabled(boolean readsEnabled) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span>      this.readsEnabled = readsEnabled;<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    }<a name="line.426"></a>
+<span class="sourceLineNo">416</span>  /**<a name="line.416"></a>
+<span class="sourceLineNo">417</span>   * Objects from this class are created when flushing to describe all the different states that<a name="line.417"></a>
+<span class="sourceLineNo">418</span>   * that method ends up in. The Result enum describes those states. The sequence id should only<a name="line.418"></a>
+<span class="sourceLineNo">419</span>   * be specified if the flush was successful, and the failure message should only be specified<a name="line.419"></a>
+<span class="sourceLineNo">420</span>   * if it didn't flush.<a name="line.420"></a>
+<span class="sourceLineNo">421</span>   */<a name="line.421"></a>
+<span class="sourceLineNo">422</span>  public static class FlushResultImpl implements FlushResult {<a name="line.422"></a>
+<span class="sourceLineNo">423</span>    final Result result;<a name="line.423"></a>
+<span class="sourceLineNo">424</span>    final String failureReason;<a name="line.424"></a>
+<span class="sourceLineNo">425</span>    final long flushSequenceId;<a name="line.425"></a>
+<span class="sourceLineNo">426</span>    final boolean wroteFlushWalMarker;<a name="line.426"></a>
 <span class="sourceLineNo">427</span><a name="line.427"></a>
-<span class="sourceLineNo">428</span>    static final long HEAP_SIZE = ClassSize.align(<a name="line.428"></a>
-<span class="sourceLineNo">429</span>        ClassSize.OBJECT + 5 * Bytes.SIZEOF_BOOLEAN);<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  }<a name="line.430"></a>
-<span class="sourceLineNo">431</span><a name="line.431"></a>
-<span class="sourceLineNo">432</span>  /**<a name="line.432"></a>
-<span class="sourceLineNo">433</span>   * Objects from this class are created when flushing to describe all the different states that<a name="line.433"></a>
-<span class="sourceLineNo">434</span>   * that method ends up in. The Result enum describes those states. The sequence id should only<a name="line.434"></a>
-<span class="sourceLineNo">435</span>   * be specified if the flush was successful, and the failure message should only be specified<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   * if it didn't flush.<a name="line.436"></a>
-<span class="sourceLineNo">437</span>   */<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  public static class FlushResultImpl implements FlushResult {<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    final Result result;<a name="line.439"></a>
-<span class="sourceLineNo">440</span>    final String failureReason;<a name="line.440"></a>
-<span class="sourceLineNo">441</span>    final long flushSequenceId;<a name="line.441"></a>
-<span class="sourceLineNo">442</span>    final boolean wroteFlushWalMarker;<a name="line.442"></a>
-<span class="sourceLineNo">443</span><a name="line.443"></a>
-<span class="sourceLineNo">444</span>    /**<a name="line.444"></a>
-<span class="sourceLineNo">445</span>     * Convenience constructor to use when the flush is successful, the failure message is set to<a name="line.445"></a>
-<span class="sourceLineNo">446</span>     * null.<a name="line.446"></a>
-<span class="sourceLineNo">447</span>     * @param result Expecting FLUSHED_NO_COMPACTION_NEEDED or FLUSHED_COMPACTION_NEEDED.<a name="line.447"></a>
-<span class="sourceLineNo">448</span>     * @param flushSequenceId Generated sequence id that comes right after the edits in the<a name="line.448"></a>
-<span class="sourceLineNo">449</span>     *                        memstores.<a name="line.449"></a>
-<span class="sourceLineNo">450</span>     */<a name="line.450"></a>
-<span c

<TRUNCATED>

[27/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/org/apache/hadoop/hbase/wal/class-use/WAL.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/class-use/WAL.html b/devapidocs/org/apache/hadoop/hbase/wal/class-use/WAL.html
index 4f2d90c..ae6f58a 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/class-use/WAL.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/class-use/WAL.html
@@ -186,13 +186,6 @@
 <td class="colLast"><span class="strong">LogRoller.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/LogRoller.html#addWAL(org.apache.hadoop.hbase.wal.WAL)">addWAL</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="rowColor">
-<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></code></td>
-<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#appendEmptyEdit(org.apache.hadoop.hbase.wal.WAL)">appendEmptyEdit</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal)</code>
-<div class="block">Append a faked WALEdit in order to get a long sequence number and wal syncer will just ignore
- the WALEdit append later.</div>
-</td>
-</tr>
-<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"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#createHRegion(org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.fs.Path,%20org.apache.hadoop.conf.Configuration,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.wal.WAL)">createHRegion</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;info,
                           org.apache.hadoop.fs.Path&nbsp;rootDir,
@@ -200,7 +193,7 @@
                           <a href="../../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;hTableDescriptor,
                           <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="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"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#createHRegion(org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.fs.Path,%20org.apache.hadoop.conf.Configuration,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.wal.WAL,%20boolean)">createHRegion</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;info,
                           org.apache.hadoop.fs.Path&nbsp;rootDir,
@@ -211,13 +204,26 @@
 <div class="block">Convenience method creating new HRegions.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doAbortFlushToWAL(org.apache.hadoop.hbase.wal.WAL,%20long,%20java.util.Map)">doAbortFlushToWAL</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;flushOpSeqId,
+                                  <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;org.apache.hadoop.fs.Path&gt;&gt;&nbsp;committedFiles)</code>&nbsp;</td>
+</tr>
 <tr class="altColor">
+<td class="colFirst"><code>private static void</code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doSyncOfUnflushedWALChanges(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HRegionInfo)">doSyncOfUnflushedWALChanges</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/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri)</code>
+<div class="block">Sync unflushed WAL changes.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>protected long</code></td>
 <td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getNextSequenceId(org.apache.hadoop.hbase.wal.WAL)">getNextSequenceId</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal)</code>
 <div class="block">Method to safely get the next sequence number.</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"><span class="strong">HRegion.</span><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,
@@ -227,14 +233,14 @@
 <div class="block">Flush the memstore.</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"><span class="strong">HRegion.</span><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="rowColor">
+<tr class="altColor">
 <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"><span class="strong">HRegion.</span><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,
@@ -242,7 +248,7 @@
                                                   <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="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"><span class="strong">HRegion.</span><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,
@@ -255,7 +261,7 @@
  <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>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"><span class="strong">HRegion.</span><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,
@@ -266,7 +272,7 @@
 <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"><span class="strong">HRegion.</span><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,
@@ -279,7 +285,7 @@
 <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"><span class="strong">HRegion.</span><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,
@@ -293,7 +299,7 @@
 <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"><span class="strong">HRegion.</span><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,
@@ -302,7 +308,7 @@
 <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"><span class="strong">HRegion.</span><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,
@@ -313,7 +319,7 @@
 <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"><span class="strong">HRegion.</span><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,
@@ -323,7 +329,7 @@
 <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"><span class="strong">HRegion.</span><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,
@@ -335,7 +341,7 @@
 <div class="block">Open a Region.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="strong">HRegion.</span><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,
@@ -344,7 +350,7 @@
                           <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"><span class="strong">HRegion.</span><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>
@@ -352,11 +358,11 @@
  reasons.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><span class="strong">HRegion.</span><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="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><span class="strong">HRegion.</span><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>
@@ -451,7 +457,19 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>static long</code></td>
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></code></td>
+<td class="colLast"><span class="strong">WALUtil.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#doFullAppendTransaction(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl,%20boolean)">doFullAppendTransaction</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/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/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;edit,
+                                              <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;mvcc,
+                                              boolean&nbsp;sync)</code>
+<div class="block">A 'full' WAL transaction involves starting an mvcc transaction followed by an append,
+ an optional sync, and then a call to complete the mvcc transaction.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></code></td>
 <td class="colLast"><span class="strong">WALUtil.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#writeBulkLoadMarkerAndSync(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.protobuf.generated.WALProtos.BulkLoadDescriptor,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl)">writeBulkLoadMarkerAndSync</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/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,
@@ -460,8 +478,8 @@
 <div class="block">Write a log marker that a bulk load has succeeded and is about to be committed.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static long</code></td>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></code></td>
 <td class="colLast"><span class="strong">WALUtil.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#writeCompactionMarker(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl)">writeCompactionMarker</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/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,
@@ -470,8 +488,8 @@
 <div class="block">Write the marker that a compaction has succeeded and is about to be committed.</div>
 </td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code>static long</code></td>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></code></td>
 <td class="colLast"><span class="strong">WALUtil.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#writeFlushMarker(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor,%20boolean,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl)">writeFlushMarker</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/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,
@@ -481,23 +499,22 @@
 <div class="block">Write a flush marker indicating a start / abort or a complete of a region flush</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private static long</code></td>
-<td class="colLast"><span class="strong">WALUtil.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#writeMarker(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl,%20boolean)">writeMarker</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal,
+<tr class="altColor">
+<td class="colFirst"><code>private static <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></code></td>
+<td class="colLast"><span class="strong">WALUtil.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#writeMarker(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl)">writeMarker</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/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/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;edit,
-                      <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;mvcc,
-                      boolean&nbsp;sync)</code>&nbsp;</td>
+                      <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;mvcc)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code>static long</code></td>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></code></td>
 <td class="colLast"><span class="strong">WALUtil.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#writeRegionEventMarker(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl)">writeRegionEventMarker</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/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,
                                             org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor&nbsp;r,
                                             <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;mvcc)</code>
-<div class="block">Write a region open marker indicating that the region is opened</div>
+<div class="block">Write a region open marker indicating that the region is opened.</div>
 </td>
 </tr>
 </tbody>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/org/apache/hadoop/hbase/wal/class-use/WALFactory.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/class-use/WALFactory.html b/devapidocs/org/apache/hadoop/hbase/wal/class-use/WALFactory.html
index a8c2b88..aa6ee1e 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/class-use/WALFactory.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/class-use/WALFactory.html
@@ -123,23 +123,6 @@
 </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/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a> with parameters of type <a href="../../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>private static void</code></td>
-<td class="colLast"><span class="strong">HRegion.</span><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,
-                        <a href="../../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a>&nbsp;walFactory,
-                        org.apache.hadoop.conf.Configuration&nbsp;c,
-                        boolean&nbsp;majorCompact)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
 <table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
 <caption><span>Constructors in <a href="../../../../../../org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a> with parameters of type <a href="../../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/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 82922c8..a4aab37 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/class-use/WALKey.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/class-use/WALKey.html
@@ -271,22 +271,6 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </a>
 <h3>Uses of <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a> in <a href="../../../../../../org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a></h3>
 <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/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a> that return <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></code></td>
-<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#appendEmptyEdit(org.apache.hadoop.hbase.wal.WAL)">appendEmptyEdit</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal)</code>
-<div class="block">Append a faked WALEdit in order to get a long sequence number and wal syncer will just ignore
- the WALEdit append later.</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/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a> with parameters of type <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
@@ -336,6 +320,76 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </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/regionserver/wal/package-summary.html">org.apache.hadoop.hbase.regionserver.wal</a> that return <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></code></td>
+<td class="colLast"><span class="strong">WALUtil.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#doFullAppendTransaction(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl,%20boolean)">doFullAppendTransaction</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/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/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;edit,
+                                              <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;mvcc,
+                                              boolean&nbsp;sync)</code>
+<div class="block">A 'full' WAL transaction involves starting an mvcc transaction followed by an append,
+ an optional sync, and then a call to complete the mvcc transaction.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></code></td>
+<td class="colLast"><span class="strong">WALUtil.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#writeBulkLoadMarkerAndSync(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.protobuf.generated.WALProtos.BulkLoadDescriptor,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl)">writeBulkLoadMarkerAndSync</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/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,
+                                                    org.apache.hadoop.hbase.protobuf.generated.WALProtos.BulkLoadDescriptor&nbsp;desc,
+                                                    <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;mvcc)</code>
+<div class="block">Write a log marker that a bulk load has succeeded and is about to be committed.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></code></td>
+<td class="colLast"><span class="strong">WALUtil.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#writeCompactionMarker(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl)">writeCompactionMarker</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/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,
+                                          org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor&nbsp;c,
+                                          <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;mvcc)</code>
+<div class="block">Write the marker that a compaction has succeeded and is about to be committed.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></code></td>
+<td class="colLast"><span class="strong">WALUtil.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#writeFlushMarker(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor,%20boolean,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl)">writeFlushMarker</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/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,
+                                org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor&nbsp;f,
+                                boolean&nbsp;sync,
+                                <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;mvcc)</code>
+<div class="block">Write a flush marker indicating a start / abort or a complete of a region flush</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></code></td>
+<td class="colLast"><span class="strong">WALUtil.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#writeMarker(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl)">writeMarker</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/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/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;edit,
+                      <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;mvcc)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></code></td>
+<td class="colLast"><span class="strong">WALUtil.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#writeRegionEventMarker(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl)">writeRegionEventMarker</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/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,
+                                            org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor&nbsp;r,
+                                            <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;mvcc)</code>
+<div class="block">Write a region open marker indicating that the region is opened.</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/regionserver/wal/package-summary.html">org.apache.hadoop.hbase.regionserver.wal</a> with parameters of type <a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/org/apache/hadoop/hbase/wal/package-summary.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/package-summary.html b/devapidocs/org/apache/hadoop/hbase/wal/package-summary.html
index c52f6ef..5e714b6 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/package-summary.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/package-summary.html
@@ -176,7 +176,7 @@
 <tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></td>
 <td class="colLast">
-<div class="block">A Key for an entry in the change log.</div>
+<div class="block">A Key for an entry in the WAL.</div>
 </td>
 </tr>
 <tr class="altColor">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html b/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
index 2cda76d..1f810f3 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
@@ -148,9 +148,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.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/RegionGroupingProvider.Strategies.html" title="enum in org.apache.hadoop.hbase.wal"><span class="strong">RegionGroupingProvider.Strategies</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.Version.html" title="enum in org.apache.hadoop.hbase.wal"><span class="strong">WALKey.Version</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.Providers.html" title="enum in org.apache.hadoop.hbase.wal"><span class="strong">WALFactory.Providers</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/RegionGroupingProvider.Strategies.html" title="enum in org.apache.hadoop.hbase.wal"><span class="strong">RegionGroupingProvider.Strategies</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/org/apache/hadoop/hbase/wal/package-use.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/package-use.html b/devapidocs/org/apache/hadoop/hbase/wal/package-use.html
index 0dcec2a..7ff390b 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/package-use.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/package-use.html
@@ -132,7 +132,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tr>
 <tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/wal/class-use/WALKey.html#org.apache.hadoop.hbase.coprocessor">WALKey</a>
-<div class="block">A Key for an entry in the change log.</div>
+<div class="block">A Key for an entry in the WAL.</div>
 </td>
 </tr>
 </tbody>
@@ -160,7 +160,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tr>
 <tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/wal/class-use/WALKey.html#org.apache.hadoop.hbase.mapreduce">WALKey</a>
-<div class="block">A Key for an entry in the change log.</div>
+<div class="block">A Key for an entry in the WAL.</div>
 </td>
 </tr>
 </tbody>
@@ -187,7 +187,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tr>
 <tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/wal/class-use/WALKey.html#org.apache.hadoop.hbase.regionserver">WALKey</a>
-<div class="block">A Key for an entry in the change log.</div>
+<div class="block">A Key for an entry in the WAL.</div>
 </td>
 </tr>
 <tr class="rowColor">
@@ -231,7 +231,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tr>
 <tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/wal/class-use/WALKey.html#org.apache.hadoop.hbase.regionserver.wal">WALKey</a>
-<div class="block">A Key for an entry in the change log.</div>
+<div class="block">A Key for an entry in the WAL.</div>
 </td>
 </tr>
 <tr class="altColor">
@@ -285,7 +285,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tr>
 <tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/wal/class-use/WALKey.html#org.apache.hadoop.hbase.replication.regionserver">WALKey</a>
-<div class="block">A Key for an entry in the change log.</div>
+<div class="block">A Key for an entry in the WAL.</div>
 </td>
 </tr>
 <tr class="rowColor">
@@ -393,7 +393,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tr>
 <tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/wal/class-use/WALKey.html#org.apache.hadoop.hbase.wal">WALKey</a>
-<div class="block">A Key for an entry in the change log.</div>
+<div class="block">A Key for an entry in the WAL.</div>
 </td>
 </tr>
 <tr class="altColor">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/overview-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/overview-tree.html b/devapidocs/overview-tree.html
index e27517c..1123f9c 100644
--- a/devapidocs/overview-tree.html
+++ b/devapidocs/overview-tree.html
@@ -1508,7 +1508,7 @@
 </li>
 <li type="circle">org.apache.hadoop.hbase.zookeeper.<a href="org/apache/hadoop/hbase/zookeeper/HQuorumPeer.html" title="class in org.apache.hadoop.hbase.zookeeper"><span class="strong">HQuorumPeer</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="strong">HRegion</span></a> (implements org.apache.hadoop.hbase.io.<a href="org/apache/hadoop/hbase/io/HeapSize.html" title="interface in org.apache.hadoop.hbase.io">HeapSize</a>, org.apache.hadoop.hbase.conf.<a href="org/apache/hadoop/hbase/conf/PropagatingConfigurationObserver.html" title="interface in org.apache.hadoop.hbase.conf">PropagatingConfigurationObserver</a>, org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>)</li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="strong">HRegion.BatchOperationInProgress</span></a>&lt;T&gt;
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="strong">HRegion.BatchOperation</span></a>&lt;T&gt;
 <ul>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="strong">HRegion.MutationBatch</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatch.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="strong">HRegion.ReplayBatch</span></a></li>


[15/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html
index d266952..fbdde18 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html
@@ -7,36 +7,36 @@
 <body>
 <div class="sourceContainer">
 <pre><span class="sourceLineNo">001</span>/*<a name="line.1"></a>
-<span class="sourceLineNo">002</span> *<a name="line.2"></a>
-<span class="sourceLineNo">003</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.3"></a>
-<span class="sourceLineNo">004</span> * or more contributor license agreements.  See the NOTICE file<a name="line.4"></a>
-<span class="sourceLineNo">005</span> * distributed with this work for additional information<a name="line.5"></a>
-<span class="sourceLineNo">006</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.6"></a>
-<span class="sourceLineNo">007</span> * to you under the Apache License, Version 2.0 (the<a name="line.7"></a>
-<span class="sourceLineNo">008</span> * "License"); you may not use this file except in compliance<a name="line.8"></a>
-<span class="sourceLineNo">009</span> * with the License.  You may obtain a copy of the License at<a name="line.9"></a>
-<span class="sourceLineNo">010</span> *<a name="line.10"></a>
-<span class="sourceLineNo">011</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.11"></a>
-<span class="sourceLineNo">012</span> *<a name="line.12"></a>
-<span class="sourceLineNo">013</span> * Unless required by applicable law or agreed to in writing, software<a name="line.13"></a>
-<span class="sourceLineNo">014</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.14"></a>
-<span class="sourceLineNo">015</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.15"></a>
-<span class="sourceLineNo">016</span> * See the License for the specific language governing permissions and<a name="line.16"></a>
-<span class="sourceLineNo">017</span> * limitations under the License.<a name="line.17"></a>
-<span class="sourceLineNo">018</span> */<a name="line.18"></a>
-<span class="sourceLineNo">019</span>package org.apache.hadoop.hbase.regionserver;<a name="line.19"></a>
-<span class="sourceLineNo">020</span><a name="line.20"></a>
-<span class="sourceLineNo">021</span>import java.io.EOFException;<a name="line.21"></a>
-<span class="sourceLineNo">022</span>import java.io.FileNotFoundException;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.io.IOException;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.io.InterruptedIOException;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.lang.reflect.Constructor;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.text.ParseException;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import java.util.AbstractList;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import java.util.ArrayList;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import java.util.Arrays;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import java.util.Collection;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import java.util.Collections;<a name="line.31"></a>
+<span class="sourceLineNo">002</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.2"></a>
+<span class="sourceLineNo">003</span> * or more contributor license agreements.  See the NOTICE file<a name="line.3"></a>
+<span class="sourceLineNo">004</span> * distributed with this work for additional information<a name="line.4"></a>
+<span class="sourceLineNo">005</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.5"></a>
+<span class="sourceLineNo">006</span> * to you under the Apache License, Version 2.0 (the<a name="line.6"></a>
+<span class="sourceLineNo">007</span> * "License"); you may not use this file except in compliance<a name="line.7"></a>
+<span class="sourceLineNo">008</span> * with the License.  You may obtain a copy of the License at<a name="line.8"></a>
+<span class="sourceLineNo">009</span> *<a name="line.9"></a>
+<span class="sourceLineNo">010</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.10"></a>
+<span class="sourceLineNo">011</span> *<a name="line.11"></a>
+<span class="sourceLineNo">012</span> * Unless required by applicable law or agreed to in writing, software<a name="line.12"></a>
+<span class="sourceLineNo">013</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.13"></a>
+<span class="sourceLineNo">014</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.14"></a>
+<span class="sourceLineNo">015</span> * See the License for the specific language governing permissions and<a name="line.15"></a>
+<span class="sourceLineNo">016</span> * limitations under the License.<a name="line.16"></a>
+<span class="sourceLineNo">017</span> */<a name="line.17"></a>
+<span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.regionserver;<a name="line.18"></a>
+<span class="sourceLineNo">019</span><a name="line.19"></a>
+<span class="sourceLineNo">020</span>import java.io.EOFException;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import java.io.FileNotFoundException;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import java.io.IOException;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import java.io.InterruptedIOException;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.lang.reflect.Constructor;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.text.ParseException;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.util.AbstractList;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.util.ArrayList;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import java.util.Arrays;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import java.util.Collection;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import java.util.Collections;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import java.util.Comparator;<a name="line.31"></a>
 <span class="sourceLineNo">032</span>import java.util.HashMap;<a name="line.32"></a>
 <span class="sourceLineNo">033</span>import java.util.HashSet;<a name="line.33"></a>
 <span class="sourceLineNo">034</span>import java.util.Iterator;<a name="line.34"></a>
@@ -49,35 +49,35 @@
 <span class="sourceLineNo">041</span>import java.util.RandomAccess;<a name="line.41"></a>
 <span class="sourceLineNo">042</span>import java.util.Set;<a name="line.42"></a>
 <span class="sourceLineNo">043</span>import java.util.TreeMap;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import java.util.concurrent.Callable;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import java.util.concurrent.CompletionService;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import java.util.concurrent.ConcurrentMap;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import java.util.concurrent.ConcurrentSkipListMap;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import java.util.concurrent.ExecutionException;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import java.util.concurrent.ExecutorCompletionService;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import java.util.concurrent.ExecutorService;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import java.util.concurrent.Executors;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import java.util.concurrent.Future;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import java.util.concurrent.FutureTask;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import java.util.concurrent.ThreadFactory;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import java.util.concurrent.ThreadPoolExecutor;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import java.util.concurrent.TimeUnit;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import java.util.concurrent.TimeoutException;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import java.util.concurrent.atomic.AtomicBoolean;<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.atomic.AtomicLong;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import java.util.concurrent.locks.Lock;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import java.util.concurrent.locks.ReadWriteLock;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import java.util.concurrent.locks.ReentrantReadWriteLock;<a name="line.64"></a>
-<span class="sourceLineNo">065</span><a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.commons.logging.Log;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.commons.logging.LogFactory;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.conf.Configuration;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.fs.FileStatus;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.fs.FileSystem;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.fs.Path;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.ArrayBackedTag;<a name="line.72"></a>
+<span class="sourceLineNo">044</span>import java.util.UUID;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import java.util.concurrent.Callable;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import java.util.concurrent.CompletionService;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import java.util.concurrent.ConcurrentMap;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import java.util.concurrent.ConcurrentSkipListMap;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import java.util.concurrent.ExecutionException;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import java.util.concurrent.ExecutorCompletionService;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import java.util.concurrent.ExecutorService;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import java.util.concurrent.Executors;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import java.util.concurrent.Future;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import java.util.concurrent.FutureTask;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import java.util.concurrent.ThreadFactory;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import java.util.concurrent.ThreadPoolExecutor;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import java.util.concurrent.TimeUnit;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import java.util.concurrent.TimeoutException;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import java.util.concurrent.atomic.AtomicBoolean;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import java.util.concurrent.locks.Lock;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import java.util.concurrent.locks.ReadWriteLock;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import java.util.concurrent.locks.ReentrantReadWriteLock;<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.fs.FileStatus;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.fs.FileSystem;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.fs.Path;<a name="line.72"></a>
 <span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.Cell;<a name="line.73"></a>
 <span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.CellComparator;<a name="line.74"></a>
 <span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.75"></a>
@@ -85,8169 +85,7763 @@
 <span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.CompoundConfiguration;<a name="line.77"></a>
 <span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.78"></a>
 <span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.DroppedSnapshotException;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.HBaseConfiguration;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.HConstants;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.HConstants.OperationStatusCode;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.HDFSBlocksDistribution;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.KeyValue;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.KeyValueUtil;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.RegionTooBusyException;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.ShareableMemory;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.TableName;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.Tag;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.TagRewriteCell;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.TagType;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.TagUtil;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.UnknownScannerException;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.backup.HFileArchiver;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.client.Append;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.client.Durability;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.client.Get;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.client.Increment;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.client.IsolationLevel;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.client.Put;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.client.Result;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.client.RowMutations;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.conf.ConfigurationManager;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.conf.PropagatingConfigurationObserver;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.coprocessor.RegionObserver;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.errorhandling.ForeignExceptionSnare;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.exceptions.FailedSanityCheckException;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.exceptions.RegionInRecoveryException;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.exceptions.UnknownProtocolException;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.filter.ByteArrayComparable;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.filter.FilterWrapper;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.filter.IncompatibleFilterException;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.io.HeapSize;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.io.TimeRange;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.io.hfile.BlockCache;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.io.hfile.CacheConfig;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.io.hfile.HFile;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.ipc.CallerDisconnectedException;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.ipc.RpcCallContext;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.mob.MobUtils;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.monitoring.MonitoredTask;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.protobuf.ResponseConverter;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceCall;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.RegionLoad;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.StoreSequenceId;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor.FlushAction;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor.StoreFlushDescriptor;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor.EventType;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.StoreDescriptor;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.NextState;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.regionserver.compactions.CompactionContext;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.regionserver.throttle.CompactionThroughputControllerFactory;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.regionserver.throttle.NoLimitThroughputController;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.regionserver.throttle.ThroughputController;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.regionserver.wal.HLogKey;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.regionserver.wal.ReplayHLogKey;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.regionserver.wal.WALUtil;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.security.User;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.snapshot.SnapshotDescriptionUtils;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.snapshot.SnapshotManifest;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.util.ByteStringer;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.util.CancelableProgressable;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.util.ClassSize;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.util.CompressionTest;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.util.Counter;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.util.EncryptionTest;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.util.FSTableDescriptors;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.util.HashedBytes;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.Threads;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.wal.WALFactory;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.wal.WALSplitter.MutationReplay;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.io.MultipleIOException;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.util.StringUtils;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.htrace.Trace;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>import org.apache.htrace.TraceScope;<a name="line.186"></a>
-<span class="sourceLineNo">187</span><a name="line.187"></a>
-<span class="sourceLineNo">188</span>import com.google.common.annotations.VisibleForTesting;<a name="line.188"></a>
-<span class="sourceLineNo">189</span>import com.google.common.base.Optional;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>import com.google.common.base.Preconditions;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>import com.google.common.collect.Lists;<a name="line.191"></a>
-<span class="sourceLineNo">192</span>import com.google.common.collect.Maps;<a name="line.192"></a>
-<span class="sourceLineNo">193</span>import com.google.common.io.Closeables;<a name="line.193"></a>
-<span class="sourceLineNo">194</span>import com.google.protobuf.ByteString;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>import com.google.protobuf.Descriptors;<a name="line.195"></a>
-<span class="sourceLineNo">196</span>import com.google.protobuf.Message;<a name="line.196"></a>
-<span class="sourceLineNo">197</span>import com.google.protobuf.RpcCallback;<a name="line.197"></a>
-<span class="sourceLineNo">198</span>import com.google.protobuf.RpcController;<a name="line.198"></a>
-<span class="sourceLineNo">199</span>import com.google.protobuf.Service;<a name="line.199"></a>
-<span class="sourceLineNo">200</span>import com.google.protobuf.TextFormat;<a name="line.200"></a>
-<span class="sourceLineNo">201</span><a name="line.201"></a>
-<span class="sourceLineNo">202</span>@InterfaceAudience.Private<a name="line.202"></a>
-<span class="sourceLineNo">203</span>public class HRegion implements HeapSize, PropagatingConfigurationObserver, Region {<a name="line.203"></a>
-<span class="sourceLineNo">204</span>  private static final Log LOG = LogFactory.getLog(HRegion.class);<a name="line.204"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.HConstants;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.HConstants.OperationStatusCode;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.HDFSBlocksDistribution;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.KeyValue;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.KeyValueUtil;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.RegionTooBusyException;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.ShareableMemory;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.TableName;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.Tag;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.TagRewriteCell;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.TagUtil;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.UnknownScannerException;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.backup.HFileArchiver;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.client.Append;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.client.Durability;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.client.Get;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.client.Increment;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.client.IsolationLevel;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.client.Put;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.client.Result;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.client.RowMutations;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.conf.ConfigurationManager;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.conf.PropagatingConfigurationObserver;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.coprocessor.RegionObserver.MutationType;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.errorhandling.ForeignExceptionSnare;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.exceptions.FailedSanityCheckException;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.exceptions.RegionInRecoveryException;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.exceptions.UnknownProtocolException;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.filter.ByteArrayComparable;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.filter.FilterWrapper;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.filter.IncompatibleFilterException;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.io.HeapSize;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.io.TimeRange;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.io.hfile.HFile;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.ipc.CallerDisconnectedException;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.ipc.RpcCallContext;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.mob.MobUtils;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.monitoring.MonitoredTask;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.protobuf.ResponseConverter;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceCall;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.RegionLoad;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.StoreSequenceId;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor.FlushAction;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor.StoreFlushDescriptor;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor.EventType;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.StoreDescriptor;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl.WriteEntry;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.NextState;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.regionserver.compactions.CompactionContext;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.regionserver.throttle.CompactionThroughputControllerFactory;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.regionserver.throttle.NoLimitThroughputController;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.regionserver.throttle.ThroughputController;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.regionserver.wal.HLogKey;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.regionserver.wal.ReplayHLogKey;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.regionserver.wal.WALUtil;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.security.User;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.snapshot.SnapshotDescriptionUtils;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.snapshot.SnapshotManifest;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.util.ByteStringer;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.util.CancelableProgressable;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.util.ClassSize;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.util.CompressionTest;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.util.Counter;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.util.EncryptionTest;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.util.HashedBytes;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.util.Threads;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.wal.WALFactory;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.wal.WALSplitter.MutationReplay;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>import org.apache.hadoop.io.MultipleIOException;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>import org.apache.hadoop.util.StringUtils;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>import org.apache.htrace.Trace;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.htrace.TraceScope;<a name="line.182"></a>
+<span class="sourceLineNo">183</span><a name="line.183"></a>
+<span class="sourceLineNo">184</span>import com.google.common.annotations.VisibleForTesting;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import com.google.common.base.Optional;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import com.google.common.base.Preconditions;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import com.google.common.collect.Lists;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>import com.google.common.collect.Maps;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>import com.google.common.io.Closeables;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>import com.google.protobuf.ByteString;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>import com.google.protobuf.Descriptors;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>import com.google.protobuf.Message;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>import com.google.protobuf.RpcCallback;<a name="line.193"></a>
+<span class="sourceLineNo">194</span>import com.google.protobuf.RpcController;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>import com.google.protobuf.Service;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>import com.google.protobuf.TextFormat;<a name="line.196"></a>
+<span class="sourceLineNo">197</span><a name="line.197"></a>
+<span class="sourceLineNo">198</span>@SuppressWarnings("deprecation")<a name="line.198"></a>
+<span class="sourceLineNo">199</span>@InterfaceAudience.Private<a name="line.199"></a>
+<span class="sourceLineNo">200</span>public class HRegion implements HeapSize, PropagatingConfigurationObserver, Region {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>  private static final Log LOG = LogFactory.getLog(HRegion.class);<a name="line.201"></a>
+<span class="sourceLineNo">202</span><a name="line.202"></a>
+<span class="sourceLineNo">203</span>  public static final String LOAD_CFS_ON_DEMAND_CONFIG_KEY =<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    "hbase.hregion.scan.loadColumnFamiliesOnDemand";<a name="line.204"></a>
 <span class="sourceLineNo">205</span><a name="line.205"></a>
-<span class="sourceLineNo">206</span>  public static final String LOAD_CFS_ON_DEMAND_CONFIG_KEY =<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    "hbase.hregion.scan.loadColumnFamiliesOnDemand";<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>   * Longest time we'll wait on a sequenceid.<a name="line.210"></a>
-<span class="sourceLineNo">211</span>   * Sequenceid comes up out of the WAL subsystem. WAL subsystem can go bad or a test might use<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   * it without cleaning up previous usage properly; generally, a WAL roll is needed. The timeout<a name="line.212"></a>
-<span class="sourceLineNo">213</span>   * is for a latch in WALKey. There is no global accounting of outstanding WALKeys; intentionally<a name="line.213"></a>
-<span class="sourceLineNo">214</span>   * to avoid contention, but it makes it so if an abort or problem, we could be stuck waiting<a name="line.214"></a>
-<span class="sourceLineNo">215</span>   * on the WALKey latch. Revisit.<a name="line.215"></a>
-<span class="sourceLineNo">216</span>   */<a name="line.216"></a>
-<span class="sourceLineNo">217</span>  private final int maxWaitForSeqId;<a name="line.217"></a>
-<span class="sourceLineNo">218</span>  private static final String MAX_WAIT_FOR_SEQ_ID_KEY = "hbase.hregion.max.wait.for.sequenceid.ms";<a name="line.218"></a>
-<span class="sourceLineNo">219</span>  private static final int DEFAULT_MAX_WAIT_FOR_SEQ_ID = 30000;<a name="line.219"></a>
+<span class="sourceLineNo">206</span>  /**<a name="line.206"></a>
+<span class="sourceLineNo">207</span>   * This is the global default value for durability. All tables/mutations not<a name="line.207"></a>
+<span class="sourceLineNo">208</span>   * defining a durability or using USE_DEFAULT will default to this value.<a name="line.208"></a>
+<span class="sourceLineNo">209</span>   */<a name="line.209"></a>
+<span class="sourceLineNo">210</span>  private static final Durability DEFAULT_DURABILITY = Durability.SYNC_WAL;<a name="line.210"></a>
+<span class="sourceLineNo">211</span><a name="line.211"></a>
+<span class="sourceLineNo">212</span>  final AtomicBoolean closed = new AtomicBoolean(false);<a name="line.212"></a>
+<span class="sourceLineNo">213</span><a name="line.213"></a>
+<span class="sourceLineNo">214</span>  /* Closing can take some time; use the closing flag if there is stuff we don't<a name="line.214"></a>
+<span class="sourceLineNo">215</span>   * want to do while in closing state; e.g. like offer this region up to the<a name="line.215"></a>
+<span class="sourceLineNo">216</span>   * master as a region to close if the carrying regionserver is overloaded.<a name="line.216"></a>
+<span class="sourceLineNo">217</span>   * Once set, it is never cleared.<a name="line.217"></a>
+<span class="sourceLineNo">218</span>   */<a name="line.218"></a>
+<span class="sourceLineNo">219</span>  final AtomicBoolean closing = new AtomicBoolean(false);<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>   * This is the global default value for durability. All tables/mutations not<a name="line.222"></a>
-<span class="sourceLineNo">223</span>   * defining a durability or using USE_DEFAULT will default to this value.<a name="line.223"></a>
+<span class="sourceLineNo">222</span>   * The max sequence id of flushed data on this region. There is no edit in memory that is<a name="line.222"></a>
+<span class="sourceLineNo">223</span>   * less that this sequence id.<a name="line.223"></a>
 <span class="sourceLineNo">224</span>   */<a name="line.224"></a>
-<span class="sourceLineNo">225</span>  private static final Durability DEFAULT_DURABILITY = Durability.SYNC_WAL;<a name="line.225"></a>
+<span class="sourceLineNo">225</span>  private volatile long maxFlushedSeqId = HConstants.NO_SEQNUM;<a name="line.225"></a>
 <span class="sourceLineNo">226</span><a name="line.226"></a>
-<span class="sourceLineNo">227</span>  final AtomicBoolean closed = new AtomicBoolean(false);<a name="line.227"></a>
-<span class="sourceLineNo">228</span><a name="line.228"></a>
-<span class="sourceLineNo">229</span>  /* Closing can take some time; use the closing flag if there is stuff we don't<a name="line.229"></a>
-<span class="sourceLineNo">230</span>   * want to do while in closing state; e.g. like offer this region up to the<a name="line.230"></a>
-<span class="sourceLineNo">231</span>   * master as a region to close if the carrying regionserver is overloaded.<a name="line.231"></a>
-<span class="sourceLineNo">232</span>   * Once set, it is never cleared.<a name="line.232"></a>
-<span class="sourceLineNo">233</span>   */<a name="line.233"></a>
-<span class="sourceLineNo">234</span>  final AtomicBoolean closing = new AtomicBoolean(false);<a name="line.234"></a>
-<span class="sourceLineNo">235</span><a name="line.235"></a>
-<span class="sourceLineNo">236</span>  /**<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   * The max sequence id of flushed data on this region. There is no edit in memory that is<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   * less that this sequence id.<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   */<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  private volatile long maxFlushedSeqId = HConstants.NO_SEQNUM;<a name="line.240"></a>
+<span class="sourceLineNo">227</span>  /**<a name="line.227"></a>
+<span class="sourceLineNo">228</span>   * Record the sequence id of last flush operation. Can be in advance of<a name="line.228"></a>
+<span class="sourceLineNo">229</span>   * {@link #maxFlushedSeqId} when flushing a single column family. In this case,<a name="line.229"></a>
+<span class="sourceLineNo">230</span>   * {@link #maxFlushedSeqId} will be older than the oldest edit in memory.<a name="line.230"></a>
+<span class="sourceLineNo">231</span>   */<a name="line.231"></a>
+<span class="sourceLineNo">232</span>  private volatile long lastFlushOpSeqId = HConstants.NO_SEQNUM;<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>   * The sequence id of the last replayed open region event from the primary region. This is used<a name="line.235"></a>
+<span class="sourceLineNo">236</span>   * to skip entries before this due to the possibility of replay edits coming out of order from<a name="line.236"></a>
+<span class="sourceLineNo">237</span>   * replication.<a name="line.237"></a>
+<span class="sourceLineNo">238</span>   */<a name="line.238"></a>
+<span class="sourceLineNo">239</span>  protected volatile long lastReplayedOpenRegionSeqId = -1L;<a name="line.239"></a>
+<span class="sourceLineNo">240</span>  protected volatile long lastReplayedCompactionSeqId = -1L;<a name="line.240"></a>
 <span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>  /**<a name="line.242"></a>
-<span class="sourceLineNo">243</span>   * Record the sequence id of last flush operation. Can be in advance of<a name="line.243"></a>
-<span class="sourceLineNo">244</span>   * {@link #maxFlushedSeqId} when flushing a single column family. In this case,<a name="line.244"></a>
-<span class="sourceLineNo">245</span>   * {@link #maxFlushedSeqId} will be older than the oldest edit in memory.<a name="line.245"></a>
-<span class="sourceLineNo">246</span>   */<a name="line.246"></a>
-<span class="sourceLineNo">247</span>  private volatile long lastFlushOpSeqId = HConstants.NO_SEQNUM;<a name="line.247"></a>
-<span class="sourceLineNo">248</span><a name="line.248"></a>
-<span class="sourceLineNo">249</span>  /**<a name="line.249"></a>
-<span class="sourceLineNo">250</span>   * The sequence id of the last replayed open region event from the primary region. This is used<a name="line.250"></a>
-<span class="sourceLineNo">251</span>   * to skip entries before this due to the possibility of replay edits coming out of order from<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * replication.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  protected volatile long lastReplayedOpenRegionSeqId = -1L;<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  protected volatile long lastReplayedCompactionSeqId = -1L;<a name="line.255"></a>
+<span class="sourceLineNo">242</span>  //////////////////////////////////////////////////////////////////////////////<a name="line.242"></a>
+<span class="sourceLineNo">243</span>  // Members<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>  // map from a locked row to the context for that lock including:<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  // - CountDownLatch for threads waiting on that row<a name="line.247"></a>
+<span class="sourceLineNo">248</span>  // - the thread that owns the lock (allow reentrancy)<a name="line.248"></a>
+<span class="sourceLineNo">249</span>  // - reference count of (reentrant) locks held by the thread<a name="line.249"></a>
+<span class="sourceLineNo">250</span>  // - the row itself<a name="line.250"></a>
+<span class="sourceLineNo">251</span>  private final ConcurrentHashMap&lt;HashedBytes, RowLockContext&gt; lockedRows =<a name="line.251"></a>
+<span class="sourceLineNo">252</span>      new ConcurrentHashMap&lt;HashedBytes, RowLockContext&gt;();<a name="line.252"></a>
+<span class="sourceLineNo">253</span><a name="line.253"></a>
+<span class="sourceLineNo">254</span>  protected final Map&lt;byte[], Store&gt; stores = new ConcurrentSkipListMap&lt;byte[], Store&gt;(<a name="line.254"></a>
+<span class="sourceLineNo">255</span>      Bytes.BYTES_RAWCOMPARATOR);<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>  // Members<a name="line.258"></a>
-<span class="sourceLineNo">259</span>  //////////////////////////////////////////////////////////////////////////////<a name="line.259"></a>
-<span class="sourceLineNo">260</span><a name="line.260"></a>
-<span class="sourceLineNo">261</span>  // map from a locked row to the context for that lock including:<a name="line.261"></a>
-<span class="sourceLineNo">262</span>  // - CountDownLatch for threads waiting on that row<a name="line.262"></a>
-<span class="sourceLineNo">263</span>  // - the thread that owns the lock (allow reentrancy)<a name="line.263"></a>
-<span class="sourceLineNo">264</span>  // - reference count of (reentrant) locks held by the thread<a name="line.264"></a>
-<span class="sourceLineNo">265</span>  // - the row itself<a name="line.265"></a>
-<span class="sourceLineNo">266</span>  private final ConcurrentHashMap&lt;HashedBytes, RowLockContext&gt; lockedRows =<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      new ConcurrentHashMap&lt;HashedBytes, RowLockContext&gt;();<a name="line.267"></a>
-<span class="sourceLineNo">268</span><a name="line.268"></a>
-<span class="sourceLineNo">269</span>  protected final Map&lt;byte[], Store&gt; stores = new ConcurrentSkipListMap&lt;byte[], Store&gt;(<a name="line.269"></a>
-<span class="sourceLineNo">270</span>      Bytes.BYTES_RAWCOMPARATOR);<a name="line.270"></a>
-<span class="sourceLineNo">271</span><a name="line.271"></a>
-<span class="sourceLineNo">272</span>  // TODO: account for each registered handler in HeapSize computation<a name="line.272"></a>
-<span class="sourceLineNo">273</span>  private Map&lt;String, Service&gt; coprocessorServiceHandlers = Maps.newHashMap();<a name="line.273"></a>
+<span class="sourceLineNo">257</span>  // TODO: account for each registered handler in HeapSize computation<a name="line.257"></a>
+<span class="sourceLineNo">258</span>  private Map&lt;String, Service&gt; coprocessorServiceHandlers = Maps.newHashMap();<a name="line.258"></a>
+<span class="sourceLineNo">259</span><a name="line.259"></a>
+<span class="sourceLineNo">260</span>  private final AtomicLong memstoreSize = new AtomicLong(0);<a name="line.260"></a>
+<span class="sourceLineNo">261</span><a name="line.261"></a>
+<span class="sourceLineNo">262</span>  // Debug possible data loss due to WAL off<a name="line.262"></a>
+<span class="sourceLineNo">263</span>  final Counter numMutationsWithoutWAL = new Counter();<a name="line.263"></a>
+<span class="sourceLineNo">264</span>  final Counter dataInMemoryWithoutWAL = new Counter();<a name="line.264"></a>
+<span class="sourceLineNo">265</span><a name="line.265"></a>
+<span class="sourceLineNo">266</span>  // Debug why CAS operations are taking a while.<a name="line.266"></a>
+<span class="sourceLineNo">267</span>  final Counter checkAndMutateChecksPassed = new Counter();<a name="line.267"></a>
+<span class="sourceLineNo">268</span>  final Counter checkAndMutateChecksFailed = new Counter();<a name="line.268"></a>
+<span class="sourceLineNo">269</span><a name="line.269"></a>
+<span class="sourceLineNo">270</span>  // Number of requests<a name="line.270"></a>
+<span class="sourceLineNo">271</span>  final Counter readRequestsCount = new Counter();<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  final Counter filteredReadRequestsCount = new Counter();<a name="line.272"></a>
+<span class="sourceLineNo">273</span>  final Counter writeRequestsCount = new Counter();<a name="line.273"></a>
 <span class="sourceLineNo">274</span><a name="line.274"></a>
-<span class="sourceLineNo">275</span>  private final AtomicLong memstoreSize = new AtomicLong(0);<a name="line.275"></a>
-<span class="sourceLineNo">276</span><a name="line.276"></a>
-<span class="sourceLineNo">277</span>  // Debug possible data loss due to WAL off<a name="line.277"></a>
-<span class="sourceLineNo">278</span>  final Counter numMutationsWithoutWAL = new Counter();<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  final Counter dataInMemoryWithoutWAL = new Counter();<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  // Debug why CAS operations are taking a while.<a name="line.281"></a>
-<span class="sourceLineNo">282</span>  final Counter checkAndMutateChecksPassed = new Counter();<a name="line.282"></a>
-<span class="sourceLineNo">283</span>  final Counter checkAndMutateChecksFailed = new Counter();<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>  //Number of requests<a name="line.285"></a>
-<span class="sourceLineNo">286</span>  final Counter readRequestsCount = new Counter();<a name="line.286"></a>
-<span class="sourceLineNo">287</span>  final Counter filteredReadRequestsCount = new Counter();<a name="line.287"></a>
-<span class="sourceLineNo">288</span>  final Counter writeRequestsCount = new Counter();<a name="line.288"></a>
-<span class="sourceLineNo">289</span><a name="line.289"></a>
-<span class="sourceLineNo">290</span>  // Number of requests blocked by memstore size.<a name="line.290"></a>
-<span class="sourceLineNo">291</span>  private final Counter blockedRequestsCount = new Counter();<a name="line.291"></a>
-<span class="sourceLineNo">292</span><a name="line.292"></a>
-<span class="sourceLineNo">293</span>  // Compaction counters<a name="line.293"></a>
-<span class="sourceLineNo">294</span>  final AtomicLong compactionsFinished = new AtomicLong(0L);<a name="line.294"></a>
-<span class="sourceLineNo">295</span>  final AtomicLong compactionNumFilesCompacted = new AtomicLong(0L);<a name="line.295"></a>
-<span class="sourceLineNo">296</span>  final AtomicLong compactionNumBytesCompacted = new AtomicLong(0L);<a name="line.296"></a>
-<span class="sourceLineNo">297</span><a name="line.297"></a>
-<span class="sourceLineNo">298</span>  private final WAL wal;<a name="line.298"></a>
-<span class="sourceLineNo">299</span>  private final HRegionFileSystem fs;<a name="line.299"></a>
-<span class="sourceLineNo">300</span>  protected final Configuration conf;<a name="line.300"></a>
-<span class="sourceLineNo">301</span>  private final Configuration baseConf;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  private final int rowLockWaitDuration;<a name="line.302"></a>
-<span class="sourceLineNo">303</span>  private CompactedHFilesDischarger compactedFileDischarger;<a name="line.303"></a>
-<span class="sourceLineNo">304</span>  static final int DEFAULT_ROWLOCK_WAIT_DURATION = 30000;<a name="line.304"></a>
-<span class="sourceLineNo">305</span><a name="line.305"></a>
-<span class="sourceLineNo">306</span>  // The internal wait duration to acquire a lock before read/update<a name="line.306"></a>
-<span class="sourceLineNo">307</span>  // from the region. It is not per row. The purpose of this wait time<a name="line.307"></a>
-<span class="sourceLineNo">308</span>  // is to avoid waiting a long time while the region is busy, so that<a name="line.308"></a>
-<span class="sourceLineNo">309</span>  // we can release the IPC handler soon enough to improve the<a name="line.309"></a>
-<span class="sourceLineNo">310</span>  // availability of the region server. It can be adjusted by<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  // tuning configuration "hbase.busy.wait.duration".<a name="line.311"></a>
-<span class="sourceLineNo">312</span>  final long busyWaitDuration;<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  static final long DEFAULT_BUSY_WAIT_DURATION = HConstants.DEFAULT_HBASE_RPC_TIMEOUT;<a name="line.313"></a>
+<span class="sourceLineNo">275</span>  // Number of requests blocked by memstore size.<a name="line.275"></a>
+<span class="sourceLineNo">276</span>  private final Counter blockedRequestsCount = new Counter();<a name="line.276"></a>
+<span class="sourceLineNo">277</span><a name="line.277"></a>
+<span class="sourceLineNo">278</span>  // Compaction counters<a name="line.278"></a>
+<span class="sourceLineNo">279</span>  final AtomicLong compactionsFinished = new AtomicLong(0L);<a name="line.279"></a>
+<span class="sourceLineNo">280</span>  final AtomicLong compactionNumFilesCompacted = new AtomicLong(0L);<a name="line.280"></a>
+<span class="sourceLineNo">281</span>  final AtomicLong compactionNumBytesCompacted = new AtomicLong(0L);<a name="line.281"></a>
+<span class="sourceLineNo">282</span><a name="line.282"></a>
+<span class="sourceLineNo">283</span>  private final WAL wal;<a name="line.283"></a>
+<span class="sourceLineNo">284</span>  private final HRegionFileSystem fs;<a name="line.284"></a>
+<span class="sourceLineNo">285</span>  protected final Configuration conf;<a name="line.285"></a>
+<span class="sourceLineNo">286</span>  private final Configuration baseConf;<a name="line.286"></a>
+<span class="sourceLineNo">287</span>  private final int rowLockWaitDuration;<a name="line.287"></a>
+<span class="sourceLineNo">288</span>  private CompactedHFilesDischarger compactedFileDischarger;<a name="line.288"></a>
+<span class="sourceLineNo">289</span>  static final int DEFAULT_ROWLOCK_WAIT_DURATION = 30000;<a name="line.289"></a>
+<span class="sourceLineNo">290</span><a name="line.290"></a>
+<span class="sourceLineNo">291</span>  // The internal wait duration to acquire a lock before read/update<a name="line.291"></a>
+<span class="sourceLineNo">292</span>  // from the region. It is not per row. The purpose of this wait time<a name="line.292"></a>
+<span class="sourceLineNo">293</span>  // is to avoid waiting a long time while the region is busy, so that<a name="line.293"></a>
+<span class="sourceLineNo">294</span>  // we can release the IPC handler soon enough to improve the<a name="line.294"></a>
+<span class="sourceLineNo">295</span>  // availability of the region server. It can be adjusted by<a name="line.295"></a>
+<span class="sourceLineNo">296</span>  // tuning configuration "hbase.busy.wait.duration".<a name="line.296"></a>
+<span class="sourceLineNo">297</span>  final long busyWaitDuration;<a name="line.297"></a>
+<span class="sourceLineNo">298</span>  static final long DEFAULT_BUSY_WAIT_DURATION = HConstants.DEFAULT_HBASE_RPC_TIMEOUT;<a name="line.298"></a>
+<span class="sourceLineNo">299</span><a name="line.299"></a>
+<span class="sourceLineNo">300</span>  // If updating multiple rows in one call, wait longer,<a name="line.300"></a>
+<span class="sourceLineNo">301</span>  // i.e. waiting for busyWaitDuration * # of rows. However,<a name="line.301"></a>
+<span class="sourceLineNo">302</span>  // we can limit the max multiplier.<a name="line.302"></a>
+<span class="sourceLineNo">303</span>  final int maxBusyWaitMultiplier;<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span>  // Max busy wait duration. There is no point to wait longer than the RPC<a name="line.305"></a>
+<span class="sourceLineNo">306</span>  // purge timeout, when a RPC call will be terminated by the RPC engine.<a name="line.306"></a>
+<span class="sourceLineNo">307</span>  final long maxBusyWaitDuration;<a name="line.307"></a>
+<span class="sourceLineNo">308</span><a name="line.308"></a>
+<span class="sourceLineNo">309</span>  // negative number indicates infinite timeout<a name="line.309"></a>
+<span class="sourceLineNo">310</span>  static final long DEFAULT_ROW_PROCESSOR_TIMEOUT = 60 * 1000L;<a name="line.310"></a>
+<span class="sourceLineNo">311</span>  final ExecutorService rowProcessorExecutor = Executors.newCachedThreadPool();<a name="line.311"></a>
+<span class="sourceLineNo">312</span><a name="line.312"></a>
+<span class="sourceLineNo">313</span>  private final ConcurrentHashMap&lt;RegionScanner, Long&gt; scannerReadPoints;<a name="line.313"></a>
 <span class="sourceLineNo">314</span><a name="line.314"></a>
-<span class="sourceLineNo">315</span>  // If updating multiple rows in one call, wait longer,<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  // i.e. waiting for busyWaitDuration * # of rows. However,<a name="line.316"></a>
-<span class="sourceLineNo">317</span>  // we can limit the max multiplier.<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  final int maxBusyWaitMultiplier;<a name="line.318"></a>
+<span class="sourceLineNo">315</span>  /**<a name="line.315"></a>
+<span class="sourceLineNo">316</span>   * The sequence ID that was encountered when this region was opened.<a name="line.316"></a>
+<span class="sourceLineNo">317</span>   */<a name="line.317"></a>
+<span class="sourceLineNo">318</span>  private long openSeqNum = HConstants.NO_SEQNUM;<a name="line.318"></a>
 <span class="sourceLineNo">319</span><a name="line.319"></a>
-<span class="sourceLineNo">320</span>  // Max busy wait duration. There is no point to wait longer than the RPC<a name="line.320"></a>
-<span class="sourceLineNo">321</span>  // purge timeout, when a RPC call will be terminated by the RPC engine.<a name="line.321"></a>
-<span class="sourceLineNo">322</span>  final long maxBusyWaitDuration;<a name="line.322"></a>
-<span class="sourceLineNo">323</span><a name="line.323"></a>
-<span class="sourceLineNo">324</span>  // negative number indicates infinite timeout<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  static final long DEFAULT_ROW_PROCESSOR_TIMEOUT = 60 * 1000L;<a name="line.325"></a>
-<span class="sourceLineNo">326</span>  final ExecutorService rowProcessorExecutor = Executors.newCachedThreadPool();<a name="line.326"></a>
-<span class="sourceLineNo">327</span><a name="line.327"></a>
-<span class="sourceLineNo">328</span>  private final ConcurrentHashMap&lt;RegionScanner, Long&gt; scannerReadPoints;<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>   * The sequence ID that was encountered when this region was opened.<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   */<a name="line.332"></a>
-<span class="sourceLineNo">333</span>  private long openSeqNum = HConstants.NO_SEQNUM;<a name="line.333"></a>
-<span class="sourceLineNo">334</span><a name="line.334"></a>
-<span class="sourceLineNo">335</span>  /**<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   * The default setting for whether to enable on-demand CF loading for<a name="line.336"></a>
-<span class="sourceLineNo">337</span>   * scan requests to this region. Requests can override it.<a name="line.337"></a>
-<span class="sourceLineNo">338</span>   */<a name="line.338"></a>
-<span class="sourceLineNo">339</span>  private boolean isLoadingCfsOnDemandDefault = false;<a name="line.339"></a>
-<span class="sourceLineNo">340</span><a name="line.340"></a>
-<span class="sourceLineNo">341</span>  private final AtomicInteger majorInProgress = new AtomicInteger(0);<a name="line.341"></a>
-<span class="sourceLineNo">342</span>  private final AtomicInteger minorInProgress = new AtomicInteger(0);<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>  // Context: During replay we want to ensure that we do not lose any data. So, we<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  // have to be conservative in how we replay wals. For each store, we calculate<a name="line.346"></a>
-<span class="sourceLineNo">347</span>  // the maxSeqId up to which the store was flushed. And, skip the edits which<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  // are equal to or lower than maxSeqId for each store.<a name="line.348"></a>
-<span class="sourceLineNo">349</span>  // The following map is populated when opening the region<a name="line.349"></a>
-<span class="sourceLineNo">350</span>  Map&lt;byte[], Long&gt; maxSeqIdInStores = new TreeMap&lt;byte[], Long&gt;(Bytes.BYTES_COMPARATOR);<a name="line.350"></a>
-<span class="sourceLineNo">351</span><a name="line.351"></a>
-<span class="sourceLineNo">352</span>  /** Saved state from replaying prepare flush cache */<a name="line.352"></a>
-<span class="sourceLineNo">353</span>  private PrepareFlushResult prepareFlushResult = null;<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>   * Config setting for whether to allow writes when a region is in recovering or not.<a name="line.356"></a>
-<span class="sourceLineNo">357</span>   */<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  private boolean disallowWritesInRecovering = false;<a name="line.358"></a>
-<span class="sourceLineNo">359</span><a name="line.359"></a>
-<span class="sourceLineNo">360</span>  // when a region is in recovering state, it can only accept writes not reads<a name="line.360"></a>
-<span class="sourceLineNo">361</span>  private volatile boolean recovering = false;<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>  private volatile Optional&lt;ConfigurationManager&gt; configurationManager;<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>   * @return The smallest mvcc readPoint across all the scanners in this<a name="line.366"></a>
-<span class="sourceLineNo">367</span>   * region. Writes older than this readPoint, are included in every<a name="line.367"></a>
-<span class="sourceLineNo">368</span>   * read operation.<a name="line.368"></a>
-<span class="sourceLineNo">369</span>   */<a name="line.369"></a>
-<span class="sourceLineNo">370</span>  public long getSmallestReadPoint() {<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    long minimumReadPoint;<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    // We need to ensure that while we are calculating the smallestReadPoint<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    // no new RegionScanners can grab a readPoint that we are unaware of.<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    // We achieve this by synchronizing on the scannerReadPoints object.<a name="line.374"></a>
-<span class="sourceLineNo">375</span>    synchronized(scannerReadPoints) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>      minimumReadPoint = mvcc.getReadPoint();<a name="line.376"></a>
-<span class="sourceLineNo">377</span><a name="line.377"></a>
-<span class="sourceLineNo">378</span>      for (Long readPoint: this.scannerReadPoints.values()) {<a name="line.378"></a>
-<span class="sourceLineNo">379</span>        if (readPoint &lt; minimumReadPoint) {<a name="line.379"></a>
-<span class="sourceLineNo">380</span>          minimumReadPoint = readPoint;<a name="line.380"></a>
-<span class="sourceLineNo">381</span>        }<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      }<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    }<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    return minimumReadPoint;<a name="line.384"></a>
-<span class="sourceLineNo">385</span>  }<a name="line.385"></a>
-<span class="sourceLineNo">386</span><a name="line.386"></a>
-<span class="sourceLineNo">387</span>  /*<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * Data structure of write state flags used coordinating flushes,<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   * compactions and closes.<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   */<a name="line.390"></a>
-<span class="sourceLineNo">391</span>  static class WriteState {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    // Set while a memstore flush is happening.<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    volatile boolean flushing = false;<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    // Set when a flush has been requested.<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    volatile boolean flushRequested = false;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    // Number of compactions running.<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    AtomicInteger compacting = new AtomicInteger(0);<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    // Gets set in close. If set, cannot compact or flush again.<a name="line.398"></a>
-<span class="sourceLineNo">399</span>    volatile boolean writesEnabled = true;<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    // Set if region is read-only<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    volatile boolean readOnly = false;<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    // whether the reads are enabled. This is different than readOnly, because readOnly is<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    // static in the lifetime of the region, while readsEnabled is dynamic<a name="line.403"></a>
-<span class="sourceLineNo">404</span>    volatile boolean readsEnabled = true;<a name="line.404"></a>
-<span class="sourceLineNo">405</span><a name="line.405"></a>
-<span class="sourceLineNo">406</span>    /**<a name="line.406"></a>
-<span class="sourceLineNo">407</span>     * Set flags that make this region read-only.<a name="line.407"></a>
-<span class="sourceLineNo">408</span>     *<a name="line.408"></a>
-<span class="sourceLineNo">409</span>     * @param onOff flip value for region r/o setting<a name="line.409"></a>
-<span class="sourceLineNo">410</span>     */<a name="line.410"></a>
-<span class="sourceLineNo">411</span>    synchronized void setReadOnly(final boolean onOff) {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      this.writesEnabled = !onOff;<a name="line.412"></a>
-<span class="sourceLineNo">413</span>      this.readOnly = onOff;<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    }<a name="line.414"></a>
+<span class="sourceLineNo">320</span>  /**<a name="line.320"></a>
+<span class="sourceLineNo">321</span>   * The default setting for whether to enable on-demand CF loading for<a name="line.321"></a>
+<span class="sourceLineNo">322</span>   * scan requests to this region. Requests can override it.<a name="line.322"></a>
+<span class="sourceLineNo">323</span>   */<a name="line.323"></a>
+<span class="sourceLineNo">324</span>  private boolean isLoadingCfsOnDemandDefault = false;<a name="line.324"></a>
+<span class="sourceLineNo">325</span><a name="line.325"></a>
+<span class="sourceLineNo">326</span>  private final AtomicInteger majorInProgress = new AtomicInteger(0);<a name="line.326"></a>
+<span class="sourceLineNo">327</span>  private final AtomicInteger minorInProgress = new AtomicInteger(0);<a name="line.327"></a>
+<span class="sourceLineNo">328</span><a name="line.328"></a>
+<span class="sourceLineNo">329</span>  //<a name="line.329"></a>
+<span class="sourceLineNo">330</span>  // Context: During replay we want to ensure that we do not lose any data. So, we<a name="line.330"></a>
+<span class="sourceLineNo">331</span>  // have to be conservative in how we replay wals. For each store, we calculate<a name="line.331"></a>
+<span class="sourceLineNo">332</span>  // the maxSeqId up to which the store was flushed. And, skip the edits which<a name="line.332"></a>
+<span class="sourceLineNo">333</span>  // are equal to or lower than maxSeqId for each store.<a name="line.333"></a>
+<span class="sourceLineNo">334</span>  // The following map is populated when opening the region<a name="line.334"></a>
+<span class="sourceLineNo">335</span>  Map&lt;byte[], Long&gt; maxSeqIdInStores = new TreeMap&lt;byte[], Long&gt;(Bytes.BYTES_COMPARATOR);<a name="line.335"></a>
+<span class="sourceLineNo">336</span><a name="line.336"></a>
+<span class="sourceLineNo">337</span>  /** Saved state from replaying prepare flush cache */<a name="line.337"></a>
+<span class="sourceLineNo">338</span>  private PrepareFlushResult prepareFlushResult = null;<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>   * Config setting for whether to allow writes when a region is in recovering or not.<a name="line.341"></a>
+<span class="sourceLineNo">342</span>   */<a name="line.342"></a>
+<span class="sourceLineNo">343</span>  private boolean disallowWritesInRecovering = false;<a name="line.343"></a>
+<span class="sourceLineNo">344</span><a name="line.344"></a>
+<span class="sourceLineNo">345</span>  // When a region is in recovering state, it can only accept writes not reads<a name="line.345"></a>
+<span class="sourceLineNo">346</span>  private volatile boolean recovering = false;<a name="line.346"></a>
+<span class="sourceLineNo">347</span><a name="line.347"></a>
+<span class="sourceLineNo">348</span>  private volatile Optional&lt;ConfigurationManager&gt; configurationManager;<a name="line.348"></a>
+<span class="sourceLineNo">349</span><a name="line.349"></a>
+<span class="sourceLineNo">350</span>  /**<a name="line.350"></a>
+<span class="sourceLineNo">351</span>   * @return The smallest mvcc readPoint across all the scanners in this<a name="line.351"></a>
+<span class="sourceLineNo">352</span>   * region. Writes older than this readPoint, are included in every<a name="line.352"></a>
+<span class="sourceLineNo">353</span>   * read operation.<a name="line.353"></a>
+<span class="sourceLineNo">354</span>   */<a name="line.354"></a>
+<span class="sourceLineNo">355</span>  public long getSmallestReadPoint() {<a name="line.355"></a>
+<span class="sourceLineNo">356</span>    long minimumReadPoint;<a name="line.356"></a>
+<span class="sourceLineNo">357</span>    // We need to ensure that while we are calculating the smallestReadPoint<a name="line.357"></a>
+<span class="sourceLineNo">358</span>    // no new RegionScanners can grab a readPoint that we are unaware of.<a name="line.358"></a>
+<span class="sourceLineNo">359</span>    // We achieve this by synchronizing on the scannerReadPoints object.<a name="line.359"></a>
+<span class="sourceLineNo">360</span>    synchronized(scannerReadPoints) {<a name="line.360"></a>
+<span class="sourceLineNo">361</span>      minimumReadPoint = mvcc.getReadPoint();<a name="line.361"></a>
+<span class="sourceLineNo">362</span>      for (Long readPoint: this.scannerReadPoints.values()) {<a name="line.362"></a>
+<span class="sourceLineNo">363</span>        if (readPoint &lt; minimumReadPoint) {<a name="line.363"></a>
+<span class="sourceLineNo">364</span>          minimumReadPoint = readPoint;<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>    return minimumReadPoint;<a name="line.368"></a>
+<span class="sourceLineNo">369</span>  }<a name="line.369"></a>
+<span class="sourceLineNo">370</span><a name="line.370"></a>
+<span class="sourceLineNo">371</span>  /*<a name="line.371"></a>
+<span class="sourceLineNo">372</span>   * Data structure of write state flags used coordinating flushes,<a name="line.372"></a>
+<span class="sourceLineNo">373</span>   * compactions and closes.<a name="line.373"></a>
+<span class="sourceLineNo">374</span>   */<a name="line.374"></a>
+<span class="sourceLineNo">375</span>  static class WriteState {<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    // Set while a memstore flush is happening.<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    volatile boolean flushing = false;<a name="line.377"></a>
+<span class="sourceLineNo">378</span>    // Set when a flush has been requested.<a name="line.378"></a>
+<span class="sourceLineNo">379</span>    volatile boolean flushRequested = false;<a name="line.379"></a>
+<span class="sourceLineNo">380</span>    // Number of compactions running.<a name="line.380"></a>
+<span class="sourceLineNo">381</span>    AtomicInteger compacting = new AtomicInteger(0);<a name="line.381"></a>
+<span class="sourceLineNo">382</span>    // Gets set in close. If set, cannot compact or flush again.<a name="line.382"></a>
+<span class="sourceLineNo">383</span>    volatile boolean writesEnabled = true;<a name="line.383"></a>
+<span class="sourceLineNo">384</span>    // Set if region is read-only<a name="line.384"></a>
+<span class="sourceLineNo">385</span>    volatile boolean readOnly = false;<a name="line.385"></a>
+<span class="sourceLineNo">386</span>    // whether the reads are enabled. This is different than readOnly, because readOnly is<a name="line.386"></a>
+<span class="sourceLineNo">387</span>    // static in the lifetime of the region, while readsEnabled is dynamic<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    volatile boolean readsEnabled = true;<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>     * Set flags that make this region read-only.<a name="line.391"></a>
+<span class="sourceLineNo">392</span>     *<a name="line.392"></a>
+<span class="sourceLineNo">393</span>     * @param onOff flip value for region r/o setting<a name="line.393"></a>
+<span class="sourceLineNo">394</span>     */<a name="line.394"></a>
+<span class="sourceLineNo">395</span>    synchronized void setReadOnly(final boolean onOff) {<a name="line.395"></a>
+<span class="sourceLineNo">396</span>      this.writesEnabled = !onOff;<a name="line.396"></a>
+<span class="sourceLineNo">397</span>      this.readOnly = onOff;<a name="line.397"></a>
+<span class="sourceLineNo">398</span>    }<a name="line.398"></a>
+<span class="sourceLineNo">399</span><a name="line.399"></a>
+<span class="sourceLineNo">400</span>    boolean isReadOnly() {<a name="line.400"></a>
+<span class="sourceLineNo">401</span>      return this.readOnly;<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>    boolean isFlushRequested() {<a name="line.404"></a>
+<span class="sourceLineNo">405</span>      return this.flushRequested;<a name="line.405"></a>
+<span class="sourceLineNo">406</span>    }<a name="line.406"></a>
+<span class="sourceLineNo">407</span><a name="line.407"></a>
+<span class="sourceLineNo">408</span>    void setReadsEnabled(boolean readsEnabled) {<a name="line.408"></a>
+<span class="sourceLineNo">409</span>      this.readsEnabled = readsEnabled;<a name="line.409"></a>
+<span class="sourceLineNo">410</span>    }<a name="line.410"></a>
+<span class="sourceLineNo">411</span><a name="line.411"></a>
+<span class="sourceLineNo">412</span>    static final long HEAP_SIZE = ClassSize.align(<a name="line.412"></a>
+<span class="sourceLineNo">413</span>        ClassSize.OBJECT + 5 * Bytes.SIZEOF_BOOLEAN);<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>    boolean isReadOnly() {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      return this.readOnly;<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>    boolean isFlushRequested() {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>      return this.flushRequested;<a name="line.421"></a>
-<span class="sourceLineNo">422</span>    }<a name="line.422"></a>
-<span class="sourceLineNo">423</span><a name="line.423"></a>
-<span class="sourceLineNo">424</span>    void setReadsEnabled(boolean readsEnabled) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span>      this.readsEnabled = readsEnabled;<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    }<a name="line.426"></a>
+<span class="sourceLineNo">416</span>  /**<a name="line.416"></a>
+<span class="sourceLineNo">417</span>   * Objects from this class are created when flushing to describe all the different states that<a name="line.417"></a>
+<span class="sourceLineNo">418</span>   * that method ends up in. The Result enum describes those states. The sequence id should only<a name="line.418"></a>
+<span class="sourceLineNo">419</span>   * be specified if the flush was successful, and the failure message should only be specified<a name="line.419"></a>
+<span class="sourceLineNo">420</span>   * if it didn't flush.<a name="line.420"></a>
+<span class="sourceLineNo">421</span>   */<a name="line.421"></a>
+<span class="sourceLineNo">422</span>  public static class FlushResultImpl implements FlushResult {<a name="line.422"></a>
+<span class="sourceLineNo">423</span>    final Result result;<a name="line.423"></a>
+<span class="sourceLineNo">424</span>    final String failureReason;<a name="line.424"></a>
+<span class="sourceLineNo">425</span>    final long flushSequenceId;<a name="line.425"></a>
+<span class="sourceLineNo">426</span>    final boolean wroteFlushWalMarker;<a name="line.426"></a>
 <span class="sourceLineNo">427</span><a name="line.427"></a>
-<span class="sourceLineNo">428</span>    static final long HEAP_SIZE = ClassSize.align(<a name="line.428"></a>
-<span class="sourceLineNo">429</span>        ClassSize.OBJECT + 5 * Bytes.SIZEOF_BOOLEAN);<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  }<a name="line.430"></a>
-<span class="sourceLineNo">431</span><a name="line.431"></a>
-<span class="sourceLineNo">432</span>  /**<a name="line.432"></a>
-<span class="sourceLineNo">433</span>   * Objects from this class are created when flushing to describe all the different states that<a name="line.433"></a>
-<span class="sourceLineNo">434</span>   * that method ends up in. The Result enum describes those states. The sequence id should only<a name="line.434"></a>
-<span class="sourceLineNo">435</span>   * be specified if the flush was successful, and the failure message should only be specified<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   * if it didn't flush.<a name="line.436"></a>
-<span class="sourceLineNo">437</span>   */<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  public static class FlushResultImpl implements FlushResult {<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    final Result result;<a name="line.439"></a>
-<span class="sourceLineNo">440</span>    final String failureReason;<a name="line.440"></a>
-<span class="sourceLineNo">441</span>    final long flushSequenceId;<a name="line.441"></a>
-<span class="sourceLineNo">442</span>    final boolean wroteFlushWalMarker;<a name="line.442"></a>
-<span class="sourceLineNo">443</span><a name="line.443"></a>
-<span class="sourceLineNo">444</span>    /**<a name="line.444"></a>
-<span class="sourceLineNo">445</span>     * Convenience constructor to use when the flush is successful, the failure message is set to<a name="line.445"></a>
-<span class="sourceLineNo">446</span>     * null.<a name="line.446"></a>
-<span class="sourceLineNo">447</span>     * @param result Expecting FLUSHED_NO_COMPACTION_NEEDED or FLUSHED_COMPACTION_NEEDED.<a name="line.447"></a>
-<span class="sourceLineNo">448</span>     * @param flushSequenceId Generated sequence id that comes right after the edits in the<a name="line.448"></a>
-<span class="sourceLineNo">449</span>     *                        memstores.<a name="line.449"></a>
-<span class="sourceLineNo">450</span>     */<a name="line.450"></a

<TRUNCATED>

[30/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/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 20bd47c..97b0fe4 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
@@ -438,7 +438,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>[]</code></td>
-<td class="colLast"><span class="strong">HRegion.BatchOperationInProgress.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#walEditsFromCoprocessors">walEditsFromCoprocessors</a></strong></code>&nbsp;</td>
+<td class="colLast"><span class="strong">HRegion.BatchOperation.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#walEditsFromCoprocessors">walEditsFromCoprocessors</a></strong></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>[]</code></td>
@@ -457,6 +457,18 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <td class="colFirst"><code><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a></code></td>
 <td class="colLast"><span class="strong">MiniBatchOperationInProgress.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html#getWalEdit(int)">getWalEdit</a></strong>(int&nbsp;index)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a></code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#reckonDeltas(org.apache.hadoop.hbase.regionserver.Region.Operation,%20org.apache.hadoop.hbase.client.Mutation,%20org.apache.hadoop.hbase.client.Durability,%20java.util.Map,%20java.util.List)">reckonDeltas</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,
+                        <a href="../../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
+                        <a href="../../../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;effectiveDurability,
+                        <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/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</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;&gt;&nbsp;forMemStore,
+                        <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>
+<div class="block">Reckon the Cells to apply to WAL, memstore, and to return to the Client; these Sets are not
+ always the same dependent on whether to write WAL or if the amount to increment is zero (in
+ this case we write back nothing, just return latest Cell value to the client).</div>
+</td>
+</tr>
 </tbody>
 </table>
 <table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
@@ -475,6 +487,15 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>private void</code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#appendCurrentNonces(org.apache.hadoop.hbase.client.Mutation,%20boolean,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20long,%20long,%20long)">appendCurrentNonces</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
+                                      boolean&nbsp;replay,
+                                      <a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;walEdit,
+                                      long&nbsp;now,
+                                      long&nbsp;currentNonceGroup,
+                                      long&nbsp;currentNonce)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private void</code></td>
 <td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doProcessRowWithTimeout(org.apache.hadoop.hbase.regionserver.RowProcessor,%20long,%20org.apache.hadoop.hbase.regionserver.HRegion,%20java.util.List,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20long)">doProcessRowWithTimeout</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;now,
                                               <a href="../../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;region,
@@ -482,25 +503,41 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
                                               <a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;walEdit,
                                               long&nbsp;timeout)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a></code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doWALAppend(org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20org.apache.hadoop.hbase.client.Durability,%20java.util.List,%20long,%20long,%20long)">doWALAppend</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;walEdit,
+                      <a href="../../../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;durability,
+                      <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;clusterIds,
+                      long&nbsp;now,
+                      long&nbsp;nonceGroup,
+                      long&nbsp;nonce)</code>&nbsp;</td>
+</tr>
 <tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a></code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doWALAppend(org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20org.apache.hadoop.hbase.client.Durability,%20long,%20long)">doWALAppend</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;walEdit,
+                      <a href="../../../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;durability,
+                      long&nbsp;nonceGroup,
+                      long&nbsp;nonce)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">RegionCoprocessorHost.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.html#postDelete(org.apache.hadoop.hbase.client.Delete,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20org.apache.hadoop.hbase.client.Durability)">postDelete</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a>&nbsp;delete,
                     <a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;edit,
                     <a href="../../../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;durability)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">MultiRowMutationProcessor.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/MultiRowMutationProcessor.html#postProcess(org.apache.hadoop.hbase.regionserver.HRegion,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20boolean)">postProcess</a></strong>(<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)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">BaseRowProcessor.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/BaseRowProcessor.html#postProcess(org.apache.hadoop.hbase.regionserver.HRegion,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20boolean)">postProcess</a></strong>(<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)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">RowProcessor.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html#postProcess(org.apache.hadoop.hbase.regionserver.HRegion,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20boolean)">postProcess</a></strong>(<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,
@@ -508,13 +545,13 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <div class="block">The hook to be executed after process() and applying the Mutations to region.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">RegionCoprocessorHost.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.html#postPut(org.apache.hadoop.hbase.client.Put,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20org.apache.hadoop.hbase.client.Durability)">postPut</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put,
               <a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;edit,
               <a href="../../../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;durability)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">RegionCoprocessorHost.</span><code><strong><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)">postWALRestore</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/regionserver/wal/HLogKey.html" title="class in org.apache.hadoop.hbase.regionserver.wal">HLogKey</a>&nbsp;logKey,
@@ -524,52 +561,57 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">RegionCoprocessorHost.</span><code><strong><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)">postWALRestore</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/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a>&nbsp;logKey,
                             <a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;logEdit)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">MultiRowMutationProcessor.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/MultiRowMutationProcessor.html#preBatchMutate(org.apache.hadoop.hbase.regionserver.HRegion,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit)">preBatchMutate</a></strong>(<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)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">BaseRowProcessor.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/BaseRowProcessor.html#preBatchMutate(org.apache.hadoop.hbase.regionserver.HRegion,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit)">preBatchMutate</a></strong>(<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)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">RowProcessor.</span><code><strong><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></strong>(<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)</code>
 <div class="block">The hook to be executed after the process() but before applying the Mutations to region.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">RegionCoprocessorHost.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.html#preDelete(org.apache.hadoop.hbase.client.Delete,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20org.apache.hadoop.hbase.client.Durability)">preDelete</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a>&nbsp;delete,
                   <a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;edit,
                   <a href="../../../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;durability)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">MultiRowMutationProcessor.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/MultiRowMutationProcessor.html#preProcess(org.apache.hadoop.hbase.regionserver.HRegion,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit)">preProcess</a></strong>(<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)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">BaseRowProcessor.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/BaseRowProcessor.html#preProcess(org.apache.hadoop.hbase.regionserver.HRegion,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit)">preProcess</a></strong>(<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)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">RowProcessor.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html#preProcess(org.apache.hadoop.hbase.regionserver.HRegion,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit)">preProcess</a></strong>(<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)</code>
 <div class="block">The hook to be executed before process().</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#preProcess(org.apache.hadoop.hbase.regionserver.RowProcessor,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit)">preProcess</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,
+                    <a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;walEdit)</code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">RegionCoprocessorHost.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.html#prePut(org.apache.hadoop.hbase.client.Put,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20org.apache.hadoop.hbase.client.Durability)">prePut</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put,
@@ -706,18 +748,30 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></code></td>
+<td class="colLast"><span class="strong">WALUtil.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#doFullAppendTransaction(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl,%20boolean)">doFullAppendTransaction</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/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/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;edit,
+                                              <a href="../../../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;mvcc,
+                                              boolean&nbsp;sync)</code>
+<div class="block">A 'full' WAL transaction involves starting an mvcc transaction followed by an append,
+ an optional sync, and then a call to complete the mvcc transaction.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">WALCoprocessorHost.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALCoprocessorHost.html#postWALWrite(org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.wal.WALKey,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit)">postWALWrite</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/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a>&nbsp;logKey,
                         <a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;logEdit)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">WALCoprocessorHost.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALCoprocessorHost.html#preWALWrite(org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.wal.WALKey,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit)">preWALWrite</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/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a>&nbsp;logKey,
                       <a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;logEdit)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">WALActionsListener.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html#visitLogEntryBeforeWrite(org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.wal.WALKey,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit)">visitLogEntryBeforeWrite</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/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a>&nbsp;logKey,
@@ -725,32 +779,31 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <div class="block">Called before each write.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">WALActionsListener.Base.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.Base.html#visitLogEntryBeforeWrite(org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.wal.WALKey,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit)">visitLogEntryBeforeWrite</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/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a>&nbsp;logKey,
                                                 <a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;logEdit)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">WALActionsListener.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html#visitLogEntryBeforeWrite(org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.wal.WALKey,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit)">visitLogEntryBeforeWrite</a></strong>(<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/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a>&nbsp;logKey,
                                                 <a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;logEdit)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">WALActionsListener.Base.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.Base.html#visitLogEntryBeforeWrite(org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.wal.WALKey,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit)">visitLogEntryBeforeWrite</a></strong>(<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/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a>&nbsp;logKey,
                                                 <a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;logEdit)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private static long</code></td>
-<td class="colLast"><span class="strong">WALUtil.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#writeMarker(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl,%20boolean)">writeMarker</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal,
+<tr class="altColor">
+<td class="colFirst"><code>private static <a href="../../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></code></td>
+<td class="colLast"><span class="strong">WALUtil.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#writeMarker(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl)">writeMarker</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/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/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;edit,
-                      <a href="../../../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;mvcc,
-                      boolean&nbsp;sync)</code>&nbsp;</td>
+                      <a href="../../../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;mvcc)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-summary.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-summary.html b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-summary.html
index c6e14ac..e56d030 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-summary.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-summary.html
@@ -328,7 +328,7 @@
 <tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALUtil.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALUtil</a></td>
 <td class="colLast">
-<div class="block">Helper methods to ease Region Server integration with the write ahead log.</div>
+<div class="block">Helper methods to ease Region Server integration with the Write Ahead Log (WAL).</div>
 </td>
 </tr>
 <tr class="rowColor">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/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 b606bf6..9b4d86d 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/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/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/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>
+<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>
 </ul>
 </li>
 </ul>

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/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 b720014..cfd2380 100644
--- a/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
@@ -159,8 +159,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.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/MetricsThriftServerSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="strong">MetricsThriftServerSourceFactoryImpl.FactoryStorage</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.thrift.<a href="../../../../../org/apache/hadoop/hbase/thrift/ThriftMetrics.ThriftServerType.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="strong">ThriftMetrics.ThriftServerType</span></a></li>
 </ul>
 </li>

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


[50/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/apidocs/org/apache/hadoop/hbase/client/class-use/Connection.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/class-use/Connection.html b/apidocs/org/apache/hadoop/hbase/client/class-use/Connection.html
index 5e30d71..6fac339 100644
--- a/apidocs/org/apache/hadoop/hbase/client/class-use/Connection.html
+++ b/apidocs/org/apache/hadoop/hbase/client/class-use/Connection.html
@@ -167,6 +167,19 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tr>
 </tbody>
 </table>
+<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../org/apache/hadoop/hbase/client/package-summary.html">org.apache.hadoop.hbase.client</a> with parameters of type <a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html#HTableMultiplexer(org.apache.hadoop.hbase.client.Connection,%20org.apache.hadoop.conf.Configuration,%20int)">HTableMultiplexer</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn,
+                                  org.apache.hadoop.conf.Configuration&nbsp;conf,
+                                  int&nbsp;perRegionServerBufferQueueSize)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
 </li>
 <li class="blockList"><a name="org.apache.hadoop.hbase.mapred">
 <!--   -->

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/apidocs/org/apache/hadoop/hbase/client/class-use/TableState.State.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/class-use/TableState.State.html b/apidocs/org/apache/hadoop/hbase/client/class-use/TableState.State.html
deleted file mode 100644
index 5c15de1..0000000
--- a/apidocs/org/apache/hadoop/hbase/client/class-use/TableState.State.html
+++ /dev/null
@@ -1,172 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.hadoop.hbase.client.TableState.State (Apache HBase 2.0.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-</head>
-<body>
-<script type="text/javascript"><!--
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Uses of Class org.apache.hadoop.hbase.client.TableState.State (Apache HBase 2.0.0-SNAPSHOT API)";
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar_top">
-<!--   -->
-</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/client/class-use/TableState.State.html" target="_top">Frames</a></li>
-<li><a href="TableState.State.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip-navbar_top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.hadoop.hbase.client.TableState.State" class="title">Uses of Class<br>org.apache.hadoop.hbase.client.TableState.State</h2>
-</div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client">TableState.State</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.hadoop.hbase.client">org.apache.hadoop.hbase.client</a></td>
-<td class="colLast">
-<div class="block">Provides HBase Client</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="org.apache.hadoop.hbase.client">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client">TableState.State</a> in <a href="../../../../../../org/apache/hadoop/hbase/client/package-summary.html">org.apache.hadoop.hbase.client</a></h3>
-<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/client/package-summary.html">org.apache.hadoop.hbase.client</a> that return <a href="../../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client">TableState.State</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client">TableState.State</a></code></td>
-<td class="colLast"><span class="strong">TableState.State.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/client/TableState.State.html#convert(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.TableState.State)">convert</a></strong>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.TableState.State&nbsp;state)</code>
-<div class="block">Covert from PB version of State</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client">TableState.State</a></code></td>
-<td class="colLast"><span class="strong">TableState.State.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/client/TableState.State.html#valueOf(java.lang.String)">valueOf</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;name)</code>
-<div class="block">Returns the enum constant of this type with the specified name.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client">TableState.State</a>[]</code></td>
-<td class="colLast"><span class="strong">TableState.State.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/client/TableState.State.html#values()">values</a></strong>()</code>
-<div class="block">Returns an array containing the constants of this enum type, in
-the order they are declared.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar_bottom">
-<!--   -->
-</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/client/class-use/TableState.State.html" target="_top">Frames</a></li>
-<li><a href="TableState.State.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip-navbar_bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/apidocs/org/apache/hadoop/hbase/client/package-frame.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/package-frame.html b/apidocs/org/apache/hadoop/hbase/client/package-frame.html
index e9595ed..85e792d 100644
--- a/apidocs/org/apache/hadoop/hbase/client/package-frame.html
+++ b/apidocs/org/apache/hadoop/hbase/client/package-frame.html
@@ -50,7 +50,6 @@
 <li><a href="Consistency.html" title="enum in org.apache.hadoop.hbase.client" target="classFrame">Consistency</a></li>
 <li><a href="Durability.html" title="enum in org.apache.hadoop.hbase.client" target="classFrame">Durability</a></li>
 <li><a href="IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client" target="classFrame">IsolationLevel</a></li>
-<li><a href="TableState.State.html" title="enum in org.apache.hadoop.hbase.client" target="classFrame">TableState.State</a></li>
 </ul>
 <h2 title="Exceptions">Exceptions</h2>
 <ul title="Exceptions">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/apidocs/org/apache/hadoop/hbase/client/package-summary.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/package-summary.html b/apidocs/org/apache/hadoop/hbase/client/package-summary.html
index e551726..88f41ee 100644
--- a/apidocs/org/apache/hadoop/hbase/client/package-summary.html
+++ b/apidocs/org/apache/hadoop/hbase/client/package-summary.html
@@ -293,10 +293,6 @@
 <div class="block">Specify Isolation levels in Scan operations.</div>
 </td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client">TableState.State</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
 </tbody>
 </table>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/apidocs/org/apache/hadoop/hbase/client/package-tree.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/package-tree.html b/apidocs/org/apache/hadoop/hbase/client/package-tree.html
index 0fdaa78..753b791 100644
--- a/apidocs/org/apache/hadoop/hbase/client/package-tree.html
+++ b/apidocs/org/apache/hadoop/hbase/client/package-tree.html
@@ -205,7 +205,6 @@
 <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/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/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>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/apidocs/org/apache/hadoop/hbase/client/package-use.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/package-use.html b/apidocs/org/apache/hadoop/hbase/client/package-use.html
index 290a4d3..c50b76e 100644
--- a/apidocs/org/apache/hadoop/hbase/client/package-use.html
+++ b/apidocs/org/apache/hadoop/hbase/client/package-use.html
@@ -295,9 +295,6 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <div class="block">Used to communicate with a single HBase table.</div>
 </td>
 </tr>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/client/class-use/TableState.State.html#org.apache.hadoop.hbase.client">TableState.State</a>&nbsp;</td>
-</tr>
 </tbody>
 </table>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/apidocs/overview-tree.html
----------------------------------------------------------------------
diff --git a/apidocs/overview-tree.html b/apidocs/overview-tree.html
index 146f85a..fae2c89 100644
--- a/apidocs/overview-tree.html
+++ b/apidocs/overview-tree.html
@@ -830,7 +830,6 @@
 <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/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/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>
 <li type="circle">org.apache.hadoop.hbase.client.security.<a href="org/apache/hadoop/hbase/client/security/SecurityCapability.html" title="enum in org.apache.hadoop.hbase.client.security"><span class="strong">SecurityCapability</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>


[38/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/org/apache/hadoop/hbase/client/HTableMultiplexer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/HTableMultiplexer.html b/devapidocs/org/apache/hadoop/hbase/client/HTableMultiplexer.html
index b671b32..68a240d 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/HTableMultiplexer.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/HTableMultiplexer.html
@@ -97,7 +97,7 @@
 <br>
 <pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Public.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Public</a>
 <a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceStability.Evolving.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceStability.Evolving</a>
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.71">HTableMultiplexer</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.72">HTableMultiplexer</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">HTableMultiplexer provides a thread-safe non blocking PUT API across all the tables.
  Each put will be sharded into different buffer queues based on its destination region server.
@@ -136,7 +136,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>private static class&nbsp;</code></td>
+<td class="colFirst"><code>(package private) static class&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer.FlushWorker</a></strong></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
@@ -146,7 +146,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>private static class&nbsp;</code></td>
+<td class="colFirst"><code>(package private) static class&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.PutStatus.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer.PutStatus</a></strong></code>&nbsp;</td>
 </tr>
 </table>
@@ -236,6 +236,11 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <td class="colOne"><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html#HTableMultiplexer(org.apache.hadoop.conf.Configuration,%20int)">HTableMultiplexer</a></strong>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                   int&nbsp;perRegionServerBufferQueueSize)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colOne"><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html#HTableMultiplexer(org.apache.hadoop.hbase.client.Connection,%20org.apache.hadoop.conf.Configuration,%20int)">HTableMultiplexer</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn,
+                                  org.apache.hadoop.conf.Configuration&nbsp;conf,
+                                  int&nbsp;perRegionServerBufferQueueSize)</code>&nbsp;</td>
+</tr>
 </table>
 </li>
 </ul>
@@ -252,14 +257,34 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>(package private) boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html#_put(org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.client.Put,%20int,%20boolean)">_put</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+        <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put,
+        int&nbsp;maxAttempts,
+        boolean&nbsp;reloadCache)</code>
+<div class="block">Internal "put" which exposes a boolean flag to control whether or not the region location
+ cache should be reloaded when trying to queue the <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Put</code></a>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html#close()">close</a></strong>()</code>
+<div class="block">Closes the internal <a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client"><code>Connection</code></a>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">ClusterConnection</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html#getConnection()">getConnection</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer.HTableMultiplexerStatus</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html#getHTableMultiplexerStatus()">getHTableMultiplexerStatus</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/LinkedBlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">LinkedBlockingQueue</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.PutStatus.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer.PutStatus</a>&gt;</code></td>
+<tr class="altColor">
+<td class="colFirst"><code>(package private) <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/LinkedBlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">LinkedBlockingQueue</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.PutStatus.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer.PutStatus</a>&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html#getQueue(org.apache.hadoop.hbase.HRegionLocation)">getQueue</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a>&nbsp;addr)</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/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html#put(byte[],%20java.util.List)">put</a></strong>(byte[]&nbsp;tableName,
       <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/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&gt;&nbsp;puts)</code>
@@ -268,7 +293,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 </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/client/HTableMultiplexer.html#put(byte[],%20org.apache.hadoop.hbase.client.Put)">put</a></strong>(byte[]&nbsp;tableName,
       <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put)</code>
@@ -277,7 +302,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 </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/client/HTableMultiplexer.html#put(byte[],%20org.apache.hadoop.hbase.client.Put,%20int)">put</a></strong>(byte[]&nbsp;tableName,
       <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put,
@@ -287,21 +312,21 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 </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="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html#put(org.apache.hadoop.hbase.TableName,%20java.util.List)">put</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
       <a href="http://docs.oracle.com/javase/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/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&gt;&nbsp;puts)</code>
 <div class="block">The puts request will be buffered by their corresponding buffer queue.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html#put(org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.client.Put)">put</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
       <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put)</code>
 <div class="block">The put request will be buffered by its corresponding buffer queue.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html#put(org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.client.Put,%20int)">put</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
       <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put,
@@ -337,7 +362,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>LOG</h4>
-<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.72">LOG</a></pre>
+<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.73">LOG</a></pre>
 </li>
 </ul>
 <a name="TABLE_MULTIPLEXER_FLUSH_PERIOD_MS">
@@ -346,7 +371,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>TABLE_MULTIPLEXER_FLUSH_PERIOD_MS</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/client/HTableMultiplexer.html#line.74">TABLE_MULTIPLEXER_FLUSH_PERIOD_MS</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/client/HTableMultiplexer.html#line.75">TABLE_MULTIPLEXER_FLUSH_PERIOD_MS</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.client.HTableMultiplexer.TABLE_MULTIPLEXER_FLUSH_PERIOD_MS">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -356,7 +381,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>TABLE_MULTIPLEXER_INIT_THREADS</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/client/HTableMultiplexer.html#line.76">TABLE_MULTIPLEXER_INIT_THREADS</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/client/HTableMultiplexer.html#line.77">TABLE_MULTIPLEXER_INIT_THREADS</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.client.HTableMultiplexer.TABLE_MULTIPLEXER_INIT_THREADS">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -366,7 +391,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>TABLE_MULTIPLEXER_MAX_RETRIES_IN_QUEUE</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/client/HTableMultiplexer.html#line.77">TABLE_MULTIPLEXER_MAX_RETRIES_IN_QUEUE</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/client/HTableMultiplexer.html#line.78">TABLE_MULTIPLEXER_MAX_RETRIES_IN_QUEUE</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.client.HTableMultiplexer.TABLE_MULTIPLEXER_MAX_RETRIES_IN_QUEUE">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -376,7 +401,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>serverToFlushWorkerMap</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="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a>,<a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer.FlushWorker</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.81">serverToFlushWorkerMap</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="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a>,<a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer.FlushWorker</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.82">serverToFlushWorkerMap</a></pre>
 <div class="block">The map between each region server to its flush worker</div>
 </li>
 </ul>
@@ -386,7 +411,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>workerConf</h4>
-<pre>private final&nbsp;org.apache.hadoop.conf.Configuration <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.84">workerConf</a></pre>
+<pre>private final&nbsp;org.apache.hadoop.conf.Configuration <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.85">workerConf</a></pre>
 </li>
 </ul>
 <a name="conn">
@@ -395,7 +420,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>conn</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">ClusterConnection</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.85">conn</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">ClusterConnection</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.86">conn</a></pre>
 </li>
 </ul>
 <a name="pool">
@@ -404,7 +429,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>pool</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/client/HTableMultiplexer.html#line.86">pool</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/client/HTableMultiplexer.html#line.87">pool</a></pre>
 </li>
 </ul>
 <a name="maxAttempts">
@@ -413,7 +438,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>maxAttempts</h4>
-<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.87">maxAttempts</a></pre>
+<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.88">maxAttempts</a></pre>
 </li>
 </ul>
 <a name="perRegionServerBufferQueueSize">
@@ -422,7 +447,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>perRegionServerBufferQueueSize</h4>
-<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.88">perRegionServerBufferQueueSize</a></pre>
+<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.89">perRegionServerBufferQueueSize</a></pre>
 </li>
 </ul>
 <a name="maxKeyValueSize">
@@ -431,7 +456,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>maxKeyValueSize</h4>
-<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.89">maxKeyValueSize</a></pre>
+<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.90">maxKeyValueSize</a></pre>
 </li>
 </ul>
 <a name="executor">
@@ -440,7 +465,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>executor</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledExecutorService</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.90">executor</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledExecutorService</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.91">executor</a></pre>
 </li>
 </ul>
 <a name="flushPeriod">
@@ -449,7 +474,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>flushPeriod</h4>
-<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.91">flushPeriod</a></pre>
+<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.92">flushPeriod</a></pre>
 </li>
 </ul>
 </li>
@@ -463,10 +488,10 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <a name="HTableMultiplexer(org.apache.hadoop.conf.Configuration, int)">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>HTableMultiplexer</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.98">HTableMultiplexer</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.99">HTableMultiplexer</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                  int&nbsp;perRegionServerBufferQueueSize)
                   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>conf</code> - The HBaseConfiguration</dd><dd><code>perRegionServerBufferQueueSize</code> - determines the max number of the buffered Put ops for
@@ -475,6 +500,19 @@ 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></dd></dl>
 </li>
 </ul>
+<a name="HTableMultiplexer(org.apache.hadoop.hbase.client.Connection, org.apache.hadoop.conf.Configuration, int)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>HTableMultiplexer</h4>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.110">HTableMultiplexer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn,
+                 org.apache.hadoop.conf.Configuration&nbsp;conf,
+                 int&nbsp;perRegionServerBufferQueueSize)</pre>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>conn</code> - The HBase connection.</dd><dd><code>conf</code> - The HBase configuration</dd><dd><code>perRegionServerBufferQueueSize</code> - determines the max number of the buffered Put ops for
+          each region server before dropping the request.</dd></dl>
+</li>
+</ul>
 </li>
 </ul>
 <!-- ============ METHOD DETAIL ========== -->
@@ -483,13 +521,27 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <!--   -->
 </a>
 <h3>Method Detail</h3>
+<a name="close()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>close</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.137">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">Closes the internal <a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client"><code>Connection</code></a>. Does nothing if the <a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client"><code>Connection</code></a> has already
+ been closed.</div>
+<dl><dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - If there is an error closing the connection.</dd></dl>
+</li>
+</ul>
 <a name="put(org.apache.hadoop.hbase.TableName, org.apache.hadoop.hbase.client.Put)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>put</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.126">put</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.150">put</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
           <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put)</pre>
 <div class="block">The put request will be buffered by its corresponding buffer queue. Return false if the queue
  is already full.</div>
@@ -503,7 +555,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>put</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/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.137">put</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/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/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.161">put</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
             <a href="http://docs.oracle.com/javase/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/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&gt;&nbsp;puts)</pre>
 <div class="block">The puts request will be buffered by their corresponding buffer queue.
  Return the list of puts which could not be queued.</div>
@@ -518,7 +570,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <li class="blockList">
 <h4>put</h4>
 <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>
-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/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.162">put</a>(byte[]&nbsp;tableName,
+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/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.186">put</a>(byte[]&nbsp;tableName,
                        <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/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&gt;&nbsp;puts)</pre>
 <div class="block"><span class="strong">Deprecated.</span>&nbsp;<i>Use <a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html#put(org.apache.hadoop.hbase.TableName,%20java.util.List)"><code>put(TableName, List)</code></a> instead.</i></div>
 </li>
@@ -529,7 +581,7 @@ public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>put</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.172">put</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.196">put</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
           <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put,
           int&nbsp;maxAttempts)</pre>
 <div class="block">The put request will be buffered by its corresponding buffer queue. And the put request will be
@@ -538,6 +590,22 @@ public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.htm
 <dl><dt><span class="strong">Returns:</span></dt><dd>true if the request can be accepted by its corresponding buffer queue.</dd></dl>
 </li>
 </ul>
+<a name="_put(org.apache.hadoop.hbase.TableName, org.apache.hadoop.hbase.client.Put, int, boolean)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>_put</h4>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.209">_put</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+           <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put,
+           int&nbsp;maxAttempts,
+           boolean&nbsp;reloadCache)</pre>
+<div class="block">Internal "put" which exposes a boolean flag to control whether or not the region location
+ cache should be reloaded when trying to queue the <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Put</code></a>.</div>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>tableName</code> - Destination table for the Put</dd><dd><code>put</code> - The Put to send</dd><dd><code>maxAttempts</code> - Number of attempts to retry the <code>put</code></dd><dd><code>reloadCache</code> - Should the region location cache be reloaded</dd>
+<dt><span class="strong">Returns:</span></dt><dd>true if the request was accepted in the queue, otherwise false</dd></dl>
+</li>
+</ul>
 <a name="put(byte[], org.apache.hadoop.hbase.client.Put, int)">
 <!--   -->
 </a>
@@ -545,7 +613,7 @@ public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.htm
 <li class="blockList">
 <h4>put</h4>
 <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>
-public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.199">put</a>(byte[]&nbsp;tableName,
+public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.238">put</a>(byte[]&nbsp;tableName,
                      <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put,
                      int&nbsp;retry)</pre>
 <div class="block"><span class="strong">Deprecated.</span>&nbsp;<i>Use <a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html#put(org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.client.Put)"><code>put(TableName, Put)</code></a> instead.</i></div>
@@ -558,7 +626,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <li class="blockList">
 <h4>put</h4>
 <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>
-public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.207">put</a>(byte[]&nbsp;tableName,
+public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.246">put</a>(byte[]&nbsp;tableName,
                      <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put)</pre>
 <div class="block"><span class="strong">Deprecated.</span>&nbsp;<i>Use <a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html#put(org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.client.Put)"><code>put(TableName, Put)</code></a> instead.</i></div>
 </li>
@@ -569,17 +637,26 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>getHTableMultiplexerStatus</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer.HTableMultiplexerStatus</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.214">getHTableMultiplexerStatus</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer.HTableMultiplexerStatus</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.253">getHTableMultiplexerStatus</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the current HTableMultiplexerStatus</dd></dl>
 </li>
 </ul>
 <a name="getQueue(org.apache.hadoop.hbase.HRegionLocation)">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>getQueue</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/LinkedBlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">LinkedBlockingQueue</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.PutStatus.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer.PutStatus</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.218">getQueue</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a>&nbsp;addr)</pre>
+<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/LinkedBlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">LinkedBlockingQueue</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.PutStatus.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer.PutStatus</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.258">getQueue</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a>&nbsp;addr)</pre>
+</li>
+</ul>
+<a name="getConnection()">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getConnection</h4>
+<pre><a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">ClusterConnection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html#line.276">getConnection</a>()</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/org/apache/hadoop/hbase/client/TableState.State.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/TableState.State.html b/devapidocs/org/apache/hadoop/hbase/client/TableState.State.html
index bc340dd..c227871 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/TableState.State.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/TableState.State.html
@@ -108,7 +108,7 @@
 </dl>
 <hr>
 <br>
-<pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Public.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Public</a>
+<pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
 <a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceStability.Evolving.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceStability.Evolving</a>
 public static enum <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableState.html#line.35">TableState.State</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/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client">TableState.State</a>&gt;</pre>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/org/apache/hadoop/hbase/client/class-use/Append.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/class-use/Append.html b/devapidocs/org/apache/hadoop/hbase/client/class-use/Append.html
index 9bbfdae..749e721 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/class-use/Append.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/class-use/Append.html
@@ -298,7 +298,7 @@ service.</div>
 </tr>
 <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"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#append(org.apache.hadoop.hbase.client.Append,%20long,%20long)">append</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/client/Append.html" title="class in org.apache.hadoop.hbase.client">Append</a>&nbsp;mutate,
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#append(org.apache.hadoop.hbase.client.Append,%20long,%20long)">append</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/client/Append.html" title="class in org.apache.hadoop.hbase.client">Append</a>&nbsp;mutation,
             long&nbsp;nonceGroup,
             long&nbsp;nonce)</code>&nbsp;</td>
 </tr>
@@ -323,6 +323,13 @@ service.</div>
 <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"><span class="strong">RegionCoprocessorHost.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.html#preAppendAfterRowLock(org.apache.hadoop.hbase.client.Append)">preAppendAfterRowLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/client/Append.html" title="class in org.apache.hadoop.hbase.client">Append</a>&nbsp;append)</code>&nbsp;</td>
 </tr>
+<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">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#reckonAppend(org.apache.hadoop.hbase.Cell,%20org.apache.hadoop.hbase.Cell,%20long,%20org.apache.hadoop.hbase.client.Append)">reckonAppend</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;delta,
+                        <a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentValue,
+                        long&nbsp;now,
+                        <a href="../../../../../../org/apache/hadoop/hbase/client/Append.html" title="class in org.apache.hadoop.hbase.client">Append</a>&nbsp;mutation)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/org/apache/hadoop/hbase/client/class-use/ClusterConnection.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/class-use/ClusterConnection.html b/devapidocs/org/apache/hadoop/hbase/client/class-use/ClusterConnection.html
index c910cb6..97dc879 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/class-use/ClusterConnection.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/class-use/ClusterConnection.html
@@ -285,6 +285,10 @@
 <td class="colLast"><span class="strong">ScannerCallable.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/client/ScannerCallable.html#getConnection()">getConnection</a></strong>()</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>(package private) <a href="../../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">ClusterConnection</a></code></td>
+<td class="colLast"><span class="strong">HTableMultiplexer.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html#getConnection()">getConnection</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">ClusterConnection</a></code></td>
 <td class="colLast"><span class="strong">CoprocessorHConnection.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/client/CoprocessorHConnection.html#getConnectionForEnvironment(org.apache.hadoop.hbase.CoprocessorEnvironment)">getConnectionForEnvironment</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/CoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase">CoprocessorEnvironment</a>&nbsp;env)</code>
 <div class="block">Create an <a href="../../../../../../org/apache/hadoop/hbase/client/HConnection.html" title="interface in org.apache.hadoop.hbase.client"><code>HConnection</code></a> based on the environment in which we are running the

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/org/apache/hadoop/hbase/client/class-use/Connection.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/class-use/Connection.html b/devapidocs/org/apache/hadoop/hbase/client/class-use/Connection.html
index 66fb97c..e242dfa 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/class-use/Connection.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/class-use/Connection.html
@@ -763,6 +763,11 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/client/ConnectionCallable.html#ConnectionCallable(org.apache.hadoop.hbase.client.Connection)">ConnectionCallable</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html#HTableMultiplexer(org.apache.hadoop.hbase.client.Connection,%20org.apache.hadoop.conf.Configuration,%20int)">HTableMultiplexer</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn,
+                                  org.apache.hadoop.conf.Configuration&nbsp;conf,
+                                  int&nbsp;perRegionServerBufferQueueSize)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/client/RegionServerCallable.html#RegionServerCallable(org.apache.hadoop.hbase.client.Connection,%20org.apache.hadoop.hbase.TableName,%20byte[])">RegionServerCallable</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
                                         <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                         byte[]&nbsp;row)</code>&nbsp;</td>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/org/apache/hadoop/hbase/client/class-use/Durability.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/class-use/Durability.html b/devapidocs/org/apache/hadoop/hbase/client/class-use/Durability.html
index e0fc385..2d34588 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/class-use/Durability.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/class-use/Durability.html
@@ -475,6 +475,22 @@ the order they are declared.</div>
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a></code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doWALAppend(org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20org.apache.hadoop.hbase.client.Durability,%20java.util.List,%20long,%20long,%20long)">doWALAppend</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;walEdit,
+                      <a href="../../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;durability,
+                      <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;clusterIds,
+                      long&nbsp;now,
+                      long&nbsp;nonceGroup,
+                      long&nbsp;nonce)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a></code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doWALAppend(org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20org.apache.hadoop.hbase.client.Durability,%20long,%20long)">doWALAppend</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;walEdit,
+                      <a href="../../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;durability,
+                      long&nbsp;nonceGroup,
+                      long&nbsp;nonce)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a></code></td>
 <td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getEffectiveDurability(org.apache.hadoop.hbase.client.Durability)">getEffectiveDurability</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;d)</code>
 <div class="block">Returns effective durability from the passed durability and
@@ -506,11 +522,35 @@ the order they are declared.</div>
             <a href="../../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;durability)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a></code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#reckonDeltas(org.apache.hadoop.hbase.regionserver.Region.Operation,%20org.apache.hadoop.hbase.client.Mutation,%20org.apache.hadoop.hbase.client.Durability,%20java.util.Map,%20java.util.List)">reckonDeltas</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,
+                        <a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
+                        <a href="../../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;effectiveDurability,
+                        <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/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</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;&gt;&nbsp;forMemStore,
+                        <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>
+<div class="block">Reckon the Cells to apply to WAL, memstore, and to return to the Client; these Sets are not
+ always the same dependent on whether to write WAL or if the amount to increment is zero (in
+ this case we write back nothing, just return latest Cell value to the client).</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;</code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#reckonDeltasByStore(org.apache.hadoop.hbase.regionserver.Store,%20org.apache.hadoop.hbase.regionserver.Region.Operation,%20org.apache.hadoop.hbase.client.Mutation,%20org.apache.hadoop.hbase.client.Durability,%20long,%20java.util.List,%20java.util.List)">reckonDeltasByStore</a></strong>(<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/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a>&nbsp;op,
+                                      <a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
+                                      <a href="../../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;effectiveDurability,
+                                      long&nbsp;now,
+                                      <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;deltas,
+                                      <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>
+<div class="block">Reckon the Cells to apply to WAL, memstore, and to return to the Client in passed
+ column family/Store.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>private void</code></td>
-<td class="colLast"><span class="strong">HRegion.</span><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>
-<div class="block">Calls sync with the given transaction ID if the region's table is not
- deferring it.</div>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#sync(long,%20org.apache.hadoop.hbase.client.Durability)">sync</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>
+<div class="block">Calls sync with the given transaction ID</div>
 </td>
 </tr>
 </tbody>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/org/apache/hadoop/hbase/client/class-use/HTableMultiplexer.PutStatus.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/class-use/HTableMultiplexer.PutStatus.html b/devapidocs/org/apache/hadoop/hbase/client/class-use/HTableMultiplexer.PutStatus.html
index 8ec7ca8..9c7d19c 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/class-use/HTableMultiplexer.PutStatus.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/class-use/HTableMultiplexer.PutStatus.html
@@ -118,7 +118,7 @@
 <td class="colLast"><span class="strong">HTableMultiplexer.FlushWorker.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#getQueue()">getQueue</a></strong>()</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/LinkedBlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">LinkedBlockingQueue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.PutStatus.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer.PutStatus</a>&gt;</code></td>
+<td class="colFirst"><code>(package private) <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/LinkedBlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">LinkedBlockingQueue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.PutStatus.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer.PutStatus</a>&gt;</code></td>
 <td class="colLast"><span class="strong">HTableMultiplexer.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html#getQueue(org.apache.hadoop.hbase.HRegionLocation)">getQueue</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a>&nbsp;addr)</code>&nbsp;</td>
 </tr>
 </tbody>
@@ -131,7 +131,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>private boolean</code></td>
+<td class="colFirst"><code>(package private) boolean</code></td>
 <td class="colLast"><span class="strong">HTableMultiplexer.FlushWorker.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#resubmitFailedPut(org.apache.hadoop.hbase.client.HTableMultiplexer.PutStatus,%20org.apache.hadoop.hbase.HRegionLocation)">resubmitFailedPut</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.PutStatus.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer.PutStatus</a>&nbsp;ps,
                                   <a href="../../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a>&nbsp;oldLoc)</code>&nbsp;</td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/org/apache/hadoop/hbase/client/class-use/HTableMultiplexer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/class-use/HTableMultiplexer.html b/devapidocs/org/apache/hadoop/hbase/client/class-use/HTableMultiplexer.html
index 27fa02c..674eede 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/class-use/HTableMultiplexer.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/class-use/HTableMultiplexer.html
@@ -102,6 +102,19 @@
 </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/client/package-summary.html">org.apache.hadoop.hbase.client</a> that return <a href="../../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>(package private) <a href="../../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer</a></code></td>
+<td class="colLast"><span class="strong">HTableMultiplexer.FlushWorker.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#getMultiplexer()">getMultiplexer</a></strong>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
 <table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
 <caption><span>Constructors in <a href="../../../../../../org/apache/hadoop/hbase/client/package-summary.html">org.apache.hadoop.hbase.client</a> with parameters of type <a href="../../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/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 567e96b..cbfcb42 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/class-use/IsolationLevel.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/class-use/IsolationLevel.html
@@ -163,10 +163,20 @@ the order they are declared.</div>
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;</code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#get(org.apache.hadoop.hbase.client.Mutation,%20org.apache.hadoop.hbase.regionserver.Store,%20java.util.List,%20org.apache.hadoop.hbase.client.IsolationLevel,%20org.apache.hadoop.hbase.io.TimeRange)">get</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="../../../../../../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;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;coordinates,
+      <a href="../../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client">IsolationLevel</a>&nbsp;isolation,
+      <a href="../../../../../../org/apache/hadoop/hbase/io/TimeRange.html" title="class in org.apache.hadoop.hbase.io">TimeRange</a>&nbsp;tr)</code>
+<div class="block">Do a specific Get on passed <code>columnFamily</code> and column qualifiers.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <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">
+<tr class="altColor">
 <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>
 <div class="block"><strong>Deprecated.</strong>&nbsp;
@@ -174,11 +184,11 @@ the order they are declared.</div>
 </div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <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">
+<tr class="altColor">
 <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>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/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 3b76647..393e407 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/class-use/Mutation.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/class-use/Mutation.html
@@ -631,7 +631,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>abstract <a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a></code></td>
-<td class="colLast"><span class="strong">HRegion.BatchOperationInProgress.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#getMutation(int)">getMutation</a></strong>(int&nbsp;index)</code>&nbsp;</td>
+<td class="colLast"><span class="strong">HRegion.BatchOperation.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getMutation(int)">getMutation</a></strong>(int&nbsp;index)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a></code></td>
@@ -643,7 +643,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>abstract <a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>[]</code></td>
-<td class="colLast"><span class="strong">HRegion.BatchOperationInProgress.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#getMutationsForCoprocs()">getMutationsForCoprocs</a></strong>()</code>
+<td class="colLast"><span class="strong">HRegion.BatchOperation.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getMutationsForCoprocs()">getMutationsForCoprocs</a></strong>()</code>
 <div class="block">This method is potentially expensive and should only be used for non-replay CP path.</div>
 </td>
 </tr>
@@ -665,16 +665,25 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#appendCurrentNonces(org.apache.hadoop.hbase.client.Mutation,%20boolean,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20long,%20long,%20long)">appendCurrentNonces</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
+                                      boolean&nbsp;replay,
+                                      <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;walEdit,
+                                      long&nbsp;now,
+                                      long&nbsp;currentNonceGroup,
+                                      long&nbsp;currentNonce)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[]</code></td>
 <td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#batchMutate(org.apache.hadoop.hbase.client.Mutation[])">batchMutate</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>[]&nbsp;mutations)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[]</code></td>
 <td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#batchMutate(org.apache.hadoop.hbase.client.Mutation[],%20long,%20long)">batchMutate</a></strong>(<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)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[]</code></td>
 <td class="colLast"><span class="strong">Region.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/Region.html#batchMutate(org.apache.hadoop.hbase.client.Mutation[],%20long,%20long)">batchMutate</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>[]&nbsp;mutations,
                       long&nbsp;nonceGroup,
@@ -682,17 +691,17 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <div class="block">Perform a batch of mutations.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.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</a></strong>(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,
                             <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,
+                            <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>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">Region.</span><code><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</a></strong>(byte[]&nbsp;row,
                             byte[]&nbsp;family,
@@ -705,11 +714,56 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
  it performs the mutation.</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#checkMutationType(org.apache.hadoop.hbase.client.Mutation,%20byte[])">checkMutationType</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
+                                  byte[]&nbsp;row)</code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doBatchMutate(org.apache.hadoop.hbase.client.Mutation)">doBatchMutate</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>private boolean</code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doCheckAndRowMutate(byte[],%20byte[],%20byte[],%20org.apache.hadoop.hbase.filter.CompareFilter.CompareOp,%20org.apache.hadoop.hbase.filter.ByteArrayComparable,%20org.apache.hadoop.hbase.client.RowMutations,%20org.apache.hadoop.hbase.client.Mutation,%20boolean)">doCheckAndRowMutate</a></strong>(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,
+                                      <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;rowMutations,
+                                      <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">checkAndMutate and checkAndRowMutate are 90% the same.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a></code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doCoprocessorPreCall(org.apache.hadoop.hbase.regionserver.Region.Operation,%20org.apache.hadoop.hbase.client.Mutation)">doCoprocessorPreCall</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,
+                                        <a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation)</code>
+<div class="block">Do coprocessor pre-increment or pre-append call.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a></code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doDelta(org.apache.hadoop.hbase.regionserver.Region.Operation,%20org.apache.hadoop.hbase.client.Mutation,%20long,%20long,%20boolean)">doDelta</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,
+              <a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
+              long&nbsp;nonceGroup,
+              long&nbsp;nonce,
+              boolean&nbsp;returnResults)</code>
+<div class="block">Add "deltas" to Cells.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;</code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#get(org.apache.hadoop.hbase.client.Mutation,%20org.apache.hadoop.hbase.regionserver.Store,%20java.util.List,%20org.apache.hadoop.hbase.client.IsolationLevel,%20org.apache.hadoop.hbase.io.TimeRange)">get</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="../../../../../../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;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;coordinates,
+      <a href="../../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client">IsolationLevel</a>&nbsp;isolation,
+      <a href="../../../../../../org/apache/hadoop/hbase/io/TimeRange.html" title="class in org.apache.hadoop.hbase.io">TimeRange</a>&nbsp;tr)</code>
+<div class="block">Do a specific Get on passed <code>columnFamily</code> and column qualifiers.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code><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">RegionCoprocessorHost.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.html#postMutationBeforeWAL(org.apache.hadoop.hbase.coprocessor.RegionObserver.MutationType,%20org.apache.hadoop.hbase.client.Mutation,%20org.apache.hadoop.hbase.Cell,%20org.apache.hadoop.hbase.Cell)">postMutationBeforeWAL</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.MutationType.html" title="enum in org.apache.hadoop.hbase.coprocessor">RegionObserver.MutationType</a>&nbsp;opType,
                                           <a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
@@ -738,6 +792,42 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
                                                                       <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="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a></code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#reckonDeltas(org.apache.hadoop.hbase.regionserver.Region.Operation,%20org.apache.hadoop.hbase.client.Mutation,%20org.apache.hadoop.hbase.client.Durability,%20java.util.Map,%20java.util.List)">reckonDeltas</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,
+                        <a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
+                        <a href="../../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;effectiveDurability,
+                        <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/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</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;&gt;&nbsp;forMemStore,
+                        <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>
+<div class="block">Reckon the Cells to apply to WAL, memstore, and to return to the Client; these Sets are not
+ always the same dependent on whether to write WAL or if the amount to increment is zero (in
+ this case we write back nothing, just return latest Cell value to the client).</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;</code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#reckonDeltasByStore(org.apache.hadoop.hbase.regionserver.Store,%20org.apache.hadoop.hbase.regionserver.Region.Operation,%20org.apache.hadoop.hbase.client.Mutation,%20org.apache.hadoop.hbase.client.Durability,%20long,%20java.util.List,%20java.util.List)">reckonDeltasByStore</a></strong>(<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/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a>&nbsp;op,
+                                      <a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
+                                      <a href="../../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;effectiveDurability,
+                                      long&nbsp;now,
+                                      <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;deltas,
+                                      <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>
+<div class="block">Reckon the Cells to apply to WAL, memstore, and to return to the Client in passed
+ column family/Store.</div>
+</td>
+</tr>
+<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">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#reckonIncrement(org.apache.hadoop.hbase.Cell,%20long,%20org.apache.hadoop.hbase.Cell,%20byte[],%20long,%20org.apache.hadoop.hbase.client.Mutation)">reckonIncrement</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;delta,
+                              long&nbsp;deltaAmount,
+                              <a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentValue,
+                              byte[]&nbsp;columnFamily,
+                              long&nbsp;now,
+                              <a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation)</code>
+<div class="block">Calculate new Increment Cell.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><span class="strong">HRegion.</span><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>


[08/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.html
index d266952..fbdde18 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.html
@@ -7,36 +7,36 @@
 <body>
 <div class="sourceContainer">
 <pre><span class="sourceLineNo">001</span>/*<a name="line.1"></a>
-<span class="sourceLineNo">002</span> *<a name="line.2"></a>
-<span class="sourceLineNo">003</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.3"></a>
-<span class="sourceLineNo">004</span> * or more contributor license agreements.  See the NOTICE file<a name="line.4"></a>
-<span class="sourceLineNo">005</span> * distributed with this work for additional information<a name="line.5"></a>
-<span class="sourceLineNo">006</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.6"></a>
-<span class="sourceLineNo">007</span> * to you under the Apache License, Version 2.0 (the<a name="line.7"></a>
-<span class="sourceLineNo">008</span> * "License"); you may not use this file except in compliance<a name="line.8"></a>
-<span class="sourceLineNo">009</span> * with the License.  You may obtain a copy of the License at<a name="line.9"></a>
-<span class="sourceLineNo">010</span> *<a name="line.10"></a>
-<span class="sourceLineNo">011</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.11"></a>
-<span class="sourceLineNo">012</span> *<a name="line.12"></a>
-<span class="sourceLineNo">013</span> * Unless required by applicable law or agreed to in writing, software<a name="line.13"></a>
-<span class="sourceLineNo">014</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.14"></a>
-<span class="sourceLineNo">015</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.15"></a>
-<span class="sourceLineNo">016</span> * See the License for the specific language governing permissions and<a name="line.16"></a>
-<span class="sourceLineNo">017</span> * limitations under the License.<a name="line.17"></a>
-<span class="sourceLineNo">018</span> */<a name="line.18"></a>
-<span class="sourceLineNo">019</span>package org.apache.hadoop.hbase.regionserver;<a name="line.19"></a>
-<span class="sourceLineNo">020</span><a name="line.20"></a>
-<span class="sourceLineNo">021</span>import java.io.EOFException;<a name="line.21"></a>
-<span class="sourceLineNo">022</span>import java.io.FileNotFoundException;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.io.IOException;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.io.InterruptedIOException;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.lang.reflect.Constructor;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.text.ParseException;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import java.util.AbstractList;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import java.util.ArrayList;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import java.util.Arrays;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import java.util.Collection;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import java.util.Collections;<a name="line.31"></a>
+<span class="sourceLineNo">002</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.2"></a>
+<span class="sourceLineNo">003</span> * or more contributor license agreements.  See the NOTICE file<a name="line.3"></a>
+<span class="sourceLineNo">004</span> * distributed with this work for additional information<a name="line.4"></a>
+<span class="sourceLineNo">005</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.5"></a>
+<span class="sourceLineNo">006</span> * to you under the Apache License, Version 2.0 (the<a name="line.6"></a>
+<span class="sourceLineNo">007</span> * "License"); you may not use this file except in compliance<a name="line.7"></a>
+<span class="sourceLineNo">008</span> * with the License.  You may obtain a copy of the License at<a name="line.8"></a>
+<span class="sourceLineNo">009</span> *<a name="line.9"></a>
+<span class="sourceLineNo">010</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.10"></a>
+<span class="sourceLineNo">011</span> *<a name="line.11"></a>
+<span class="sourceLineNo">012</span> * Unless required by applicable law or agreed to in writing, software<a name="line.12"></a>
+<span class="sourceLineNo">013</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.13"></a>
+<span class="sourceLineNo">014</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.14"></a>
+<span class="sourceLineNo">015</span> * See the License for the specific language governing permissions and<a name="line.15"></a>
+<span class="sourceLineNo">016</span> * limitations under the License.<a name="line.16"></a>
+<span class="sourceLineNo">017</span> */<a name="line.17"></a>
+<span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.regionserver;<a name="line.18"></a>
+<span class="sourceLineNo">019</span><a name="line.19"></a>
+<span class="sourceLineNo">020</span>import java.io.EOFException;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import java.io.FileNotFoundException;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import java.io.IOException;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import java.io.InterruptedIOException;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.lang.reflect.Constructor;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.text.ParseException;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.util.AbstractList;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.util.ArrayList;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import java.util.Arrays;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import java.util.Collection;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import java.util.Collections;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import java.util.Comparator;<a name="line.31"></a>
 <span class="sourceLineNo">032</span>import java.util.HashMap;<a name="line.32"></a>
 <span class="sourceLineNo">033</span>import java.util.HashSet;<a name="line.33"></a>
 <span class="sourceLineNo">034</span>import java.util.Iterator;<a name="line.34"></a>
@@ -49,35 +49,35 @@
 <span class="sourceLineNo">041</span>import java.util.RandomAccess;<a name="line.41"></a>
 <span class="sourceLineNo">042</span>import java.util.Set;<a name="line.42"></a>
 <span class="sourceLineNo">043</span>import java.util.TreeMap;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import java.util.concurrent.Callable;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import java.util.concurrent.CompletionService;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import java.util.concurrent.ConcurrentMap;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import java.util.concurrent.ConcurrentSkipListMap;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import java.util.concurrent.ExecutionException;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import java.util.concurrent.ExecutorCompletionService;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import java.util.concurrent.ExecutorService;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import java.util.concurrent.Executors;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import java.util.concurrent.Future;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import java.util.concurrent.FutureTask;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import java.util.concurrent.ThreadFactory;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import java.util.concurrent.ThreadPoolExecutor;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import java.util.concurrent.TimeUnit;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import java.util.concurrent.TimeoutException;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import java.util.concurrent.atomic.AtomicBoolean;<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.atomic.AtomicLong;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import java.util.concurrent.locks.Lock;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import java.util.concurrent.locks.ReadWriteLock;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import java.util.concurrent.locks.ReentrantReadWriteLock;<a name="line.64"></a>
-<span class="sourceLineNo">065</span><a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.commons.logging.Log;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.commons.logging.LogFactory;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.conf.Configuration;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.fs.FileStatus;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.fs.FileSystem;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.fs.Path;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.ArrayBackedTag;<a name="line.72"></a>
+<span class="sourceLineNo">044</span>import java.util.UUID;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import java.util.concurrent.Callable;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import java.util.concurrent.CompletionService;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import java.util.concurrent.ConcurrentMap;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import java.util.concurrent.ConcurrentSkipListMap;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import java.util.concurrent.ExecutionException;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import java.util.concurrent.ExecutorCompletionService;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import java.util.concurrent.ExecutorService;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import java.util.concurrent.Executors;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import java.util.concurrent.Future;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import java.util.concurrent.FutureTask;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import java.util.concurrent.ThreadFactory;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import java.util.concurrent.ThreadPoolExecutor;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import java.util.concurrent.TimeUnit;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import java.util.concurrent.TimeoutException;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import java.util.concurrent.atomic.AtomicBoolean;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import java.util.concurrent.locks.Lock;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import java.util.concurrent.locks.ReadWriteLock;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import java.util.concurrent.locks.ReentrantReadWriteLock;<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.fs.FileStatus;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.fs.FileSystem;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.fs.Path;<a name="line.72"></a>
 <span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.Cell;<a name="line.73"></a>
 <span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.CellComparator;<a name="line.74"></a>
 <span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.75"></a>
@@ -85,8169 +85,7763 @@
 <span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.CompoundConfiguration;<a name="line.77"></a>
 <span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.78"></a>
 <span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.DroppedSnapshotException;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.HBaseConfiguration;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.HConstants;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.HConstants.OperationStatusCode;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.HDFSBlocksDistribution;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.KeyValue;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.KeyValueUtil;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.RegionTooBusyException;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.ShareableMemory;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.TableName;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.Tag;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.TagRewriteCell;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.TagType;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.TagUtil;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.UnknownScannerException;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.backup.HFileArchiver;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.client.Append;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.client.Durability;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.client.Get;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.client.Increment;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.client.IsolationLevel;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.client.Put;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.client.Result;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.client.RowMutations;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.conf.ConfigurationManager;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.conf.PropagatingConfigurationObserver;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.coprocessor.RegionObserver;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.errorhandling.ForeignExceptionSnare;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.exceptions.FailedSanityCheckException;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.exceptions.RegionInRecoveryException;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.exceptions.UnknownProtocolException;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.filter.ByteArrayComparable;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.filter.FilterWrapper;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.filter.IncompatibleFilterException;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.io.HeapSize;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.io.TimeRange;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.io.hfile.BlockCache;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.io.hfile.CacheConfig;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.io.hfile.HFile;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.ipc.CallerDisconnectedException;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.ipc.RpcCallContext;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.mob.MobUtils;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.monitoring.MonitoredTask;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.protobuf.ResponseConverter;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceCall;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.RegionLoad;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.StoreSequenceId;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor.FlushAction;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor.StoreFlushDescriptor;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor.EventType;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.StoreDescriptor;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.NextState;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.regionserver.compactions.CompactionContext;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.regionserver.throttle.CompactionThroughputControllerFactory;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.regionserver.throttle.NoLimitThroughputController;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.regionserver.throttle.ThroughputController;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.regionserver.wal.HLogKey;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.regionserver.wal.ReplayHLogKey;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.regionserver.wal.WALUtil;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.security.User;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.snapshot.SnapshotDescriptionUtils;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.snapshot.SnapshotManifest;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.util.ByteStringer;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.util.CancelableProgressable;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.util.ClassSize;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.util.CompressionTest;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.util.Counter;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.util.EncryptionTest;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.util.FSTableDescriptors;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.util.HashedBytes;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.Threads;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.wal.WALFactory;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.wal.WALSplitter.MutationReplay;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.io.MultipleIOException;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.util.StringUtils;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.htrace.Trace;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>import org.apache.htrace.TraceScope;<a name="line.186"></a>
-<span class="sourceLineNo">187</span><a name="line.187"></a>
-<span class="sourceLineNo">188</span>import com.google.common.annotations.VisibleForTesting;<a name="line.188"></a>
-<span class="sourceLineNo">189</span>import com.google.common.base.Optional;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>import com.google.common.base.Preconditions;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>import com.google.common.collect.Lists;<a name="line.191"></a>
-<span class="sourceLineNo">192</span>import com.google.common.collect.Maps;<a name="line.192"></a>
-<span class="sourceLineNo">193</span>import com.google.common.io.Closeables;<a name="line.193"></a>
-<span class="sourceLineNo">194</span>import com.google.protobuf.ByteString;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>import com.google.protobuf.Descriptors;<a name="line.195"></a>
-<span class="sourceLineNo">196</span>import com.google.protobuf.Message;<a name="line.196"></a>
-<span class="sourceLineNo">197</span>import com.google.protobuf.RpcCallback;<a name="line.197"></a>
-<span class="sourceLineNo">198</span>import com.google.protobuf.RpcController;<a name="line.198"></a>
-<span class="sourceLineNo">199</span>import com.google.protobuf.Service;<a name="line.199"></a>
-<span class="sourceLineNo">200</span>import com.google.protobuf.TextFormat;<a name="line.200"></a>
-<span class="sourceLineNo">201</span><a name="line.201"></a>
-<span class="sourceLineNo">202</span>@InterfaceAudience.Private<a name="line.202"></a>
-<span class="sourceLineNo">203</span>public class HRegion implements HeapSize, PropagatingConfigurationObserver, Region {<a name="line.203"></a>
-<span class="sourceLineNo">204</span>  private static final Log LOG = LogFactory.getLog(HRegion.class);<a name="line.204"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.HConstants;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.HConstants.OperationStatusCode;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.HDFSBlocksDistribution;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.KeyValue;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.KeyValueUtil;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.RegionTooBusyException;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.ShareableMemory;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.TableName;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.Tag;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.TagRewriteCell;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.TagUtil;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.UnknownScannerException;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.backup.HFileArchiver;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.client.Append;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.client.Durability;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.client.Get;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.client.Increment;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.client.IsolationLevel;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.client.Put;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.client.Result;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.client.RowMutations;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.conf.ConfigurationManager;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.conf.PropagatingConfigurationObserver;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.coprocessor.RegionObserver.MutationType;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.errorhandling.ForeignExceptionSnare;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.exceptions.FailedSanityCheckException;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.exceptions.RegionInRecoveryException;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.exceptions.UnknownProtocolException;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.filter.ByteArrayComparable;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.filter.FilterWrapper;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.filter.IncompatibleFilterException;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.io.HeapSize;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.io.TimeRange;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.io.hfile.HFile;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.ipc.CallerDisconnectedException;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.ipc.RpcCallContext;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.mob.MobUtils;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.monitoring.MonitoredTask;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.protobuf.ResponseConverter;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceCall;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.RegionLoad;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.StoreSequenceId;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor.FlushAction;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor.StoreFlushDescriptor;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor.EventType;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.StoreDescriptor;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl.WriteEntry;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.NextState;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.regionserver.compactions.CompactionContext;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.regionserver.throttle.CompactionThroughputControllerFactory;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.regionserver.throttle.NoLimitThroughputController;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.regionserver.throttle.ThroughputController;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.regionserver.wal.HLogKey;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.regionserver.wal.ReplayHLogKey;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.regionserver.wal.WALUtil;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.security.User;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.snapshot.SnapshotDescriptionUtils;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.snapshot.SnapshotManifest;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.util.ByteStringer;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.util.CancelableProgressable;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.util.ClassSize;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.util.CompressionTest;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.util.Counter;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.util.EncryptionTest;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.util.HashedBytes;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.util.Threads;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.wal.WALFactory;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.wal.WALSplitter.MutationReplay;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>import org.apache.hadoop.io.MultipleIOException;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>import org.apache.hadoop.util.StringUtils;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>import org.apache.htrace.Trace;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.htrace.TraceScope;<a name="line.182"></a>
+<span class="sourceLineNo">183</span><a name="line.183"></a>
+<span class="sourceLineNo">184</span>import com.google.common.annotations.VisibleForTesting;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import com.google.common.base.Optional;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import com.google.common.base.Preconditions;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import com.google.common.collect.Lists;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>import com.google.common.collect.Maps;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>import com.google.common.io.Closeables;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>import com.google.protobuf.ByteString;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>import com.google.protobuf.Descriptors;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>import com.google.protobuf.Message;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>import com.google.protobuf.RpcCallback;<a name="line.193"></a>
+<span class="sourceLineNo">194</span>import com.google.protobuf.RpcController;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>import com.google.protobuf.Service;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>import com.google.protobuf.TextFormat;<a name="line.196"></a>
+<span class="sourceLineNo">197</span><a name="line.197"></a>
+<span class="sourceLineNo">198</span>@SuppressWarnings("deprecation")<a name="line.198"></a>
+<span class="sourceLineNo">199</span>@InterfaceAudience.Private<a name="line.199"></a>
+<span class="sourceLineNo">200</span>public class HRegion implements HeapSize, PropagatingConfigurationObserver, Region {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>  private static final Log LOG = LogFactory.getLog(HRegion.class);<a name="line.201"></a>
+<span class="sourceLineNo">202</span><a name="line.202"></a>
+<span class="sourceLineNo">203</span>  public static final String LOAD_CFS_ON_DEMAND_CONFIG_KEY =<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    "hbase.hregion.scan.loadColumnFamiliesOnDemand";<a name="line.204"></a>
 <span class="sourceLineNo">205</span><a name="line.205"></a>
-<span class="sourceLineNo">206</span>  public static final String LOAD_CFS_ON_DEMAND_CONFIG_KEY =<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    "hbase.hregion.scan.loadColumnFamiliesOnDemand";<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>   * Longest time we'll wait on a sequenceid.<a name="line.210"></a>
-<span class="sourceLineNo">211</span>   * Sequenceid comes up out of the WAL subsystem. WAL subsystem can go bad or a test might use<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   * it without cleaning up previous usage properly; generally, a WAL roll is needed. The timeout<a name="line.212"></a>
-<span class="sourceLineNo">213</span>   * is for a latch in WALKey. There is no global accounting of outstanding WALKeys; intentionally<a name="line.213"></a>
-<span class="sourceLineNo">214</span>   * to avoid contention, but it makes it so if an abort or problem, we could be stuck waiting<a name="line.214"></a>
-<span class="sourceLineNo">215</span>   * on the WALKey latch. Revisit.<a name="line.215"></a>
-<span class="sourceLineNo">216</span>   */<a name="line.216"></a>
-<span class="sourceLineNo">217</span>  private final int maxWaitForSeqId;<a name="line.217"></a>
-<span class="sourceLineNo">218</span>  private static final String MAX_WAIT_FOR_SEQ_ID_KEY = "hbase.hregion.max.wait.for.sequenceid.ms";<a name="line.218"></a>
-<span class="sourceLineNo">219</span>  private static final int DEFAULT_MAX_WAIT_FOR_SEQ_ID = 30000;<a name="line.219"></a>
+<span class="sourceLineNo">206</span>  /**<a name="line.206"></a>
+<span class="sourceLineNo">207</span>   * This is the global default value for durability. All tables/mutations not<a name="line.207"></a>
+<span class="sourceLineNo">208</span>   * defining a durability or using USE_DEFAULT will default to this value.<a name="line.208"></a>
+<span class="sourceLineNo">209</span>   */<a name="line.209"></a>
+<span class="sourceLineNo">210</span>  private static final Durability DEFAULT_DURABILITY = Durability.SYNC_WAL;<a name="line.210"></a>
+<span class="sourceLineNo">211</span><a name="line.211"></a>
+<span class="sourceLineNo">212</span>  final AtomicBoolean closed = new AtomicBoolean(false);<a name="line.212"></a>
+<span class="sourceLineNo">213</span><a name="line.213"></a>
+<span class="sourceLineNo">214</span>  /* Closing can take some time; use the closing flag if there is stuff we don't<a name="line.214"></a>
+<span class="sourceLineNo">215</span>   * want to do while in closing state; e.g. like offer this region up to the<a name="line.215"></a>
+<span class="sourceLineNo">216</span>   * master as a region to close if the carrying regionserver is overloaded.<a name="line.216"></a>
+<span class="sourceLineNo">217</span>   * Once set, it is never cleared.<a name="line.217"></a>
+<span class="sourceLineNo">218</span>   */<a name="line.218"></a>
+<span class="sourceLineNo">219</span>  final AtomicBoolean closing = new AtomicBoolean(false);<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>   * This is the global default value for durability. All tables/mutations not<a name="line.222"></a>
-<span class="sourceLineNo">223</span>   * defining a durability or using USE_DEFAULT will default to this value.<a name="line.223"></a>
+<span class="sourceLineNo">222</span>   * The max sequence id of flushed data on this region. There is no edit in memory that is<a name="line.222"></a>
+<span class="sourceLineNo">223</span>   * less that this sequence id.<a name="line.223"></a>
 <span class="sourceLineNo">224</span>   */<a name="line.224"></a>
-<span class="sourceLineNo">225</span>  private static final Durability DEFAULT_DURABILITY = Durability.SYNC_WAL;<a name="line.225"></a>
+<span class="sourceLineNo">225</span>  private volatile long maxFlushedSeqId = HConstants.NO_SEQNUM;<a name="line.225"></a>
 <span class="sourceLineNo">226</span><a name="line.226"></a>
-<span class="sourceLineNo">227</span>  final AtomicBoolean closed = new AtomicBoolean(false);<a name="line.227"></a>
-<span class="sourceLineNo">228</span><a name="line.228"></a>
-<span class="sourceLineNo">229</span>  /* Closing can take some time; use the closing flag if there is stuff we don't<a name="line.229"></a>
-<span class="sourceLineNo">230</span>   * want to do while in closing state; e.g. like offer this region up to the<a name="line.230"></a>
-<span class="sourceLineNo">231</span>   * master as a region to close if the carrying regionserver is overloaded.<a name="line.231"></a>
-<span class="sourceLineNo">232</span>   * Once set, it is never cleared.<a name="line.232"></a>
-<span class="sourceLineNo">233</span>   */<a name="line.233"></a>
-<span class="sourceLineNo">234</span>  final AtomicBoolean closing = new AtomicBoolean(false);<a name="line.234"></a>
-<span class="sourceLineNo">235</span><a name="line.235"></a>
-<span class="sourceLineNo">236</span>  /**<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   * The max sequence id of flushed data on this region. There is no edit in memory that is<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   * less that this sequence id.<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   */<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  private volatile long maxFlushedSeqId = HConstants.NO_SEQNUM;<a name="line.240"></a>
+<span class="sourceLineNo">227</span>  /**<a name="line.227"></a>
+<span class="sourceLineNo">228</span>   * Record the sequence id of last flush operation. Can be in advance of<a name="line.228"></a>
+<span class="sourceLineNo">229</span>   * {@link #maxFlushedSeqId} when flushing a single column family. In this case,<a name="line.229"></a>
+<span class="sourceLineNo">230</span>   * {@link #maxFlushedSeqId} will be older than the oldest edit in memory.<a name="line.230"></a>
+<span class="sourceLineNo">231</span>   */<a name="line.231"></a>
+<span class="sourceLineNo">232</span>  private volatile long lastFlushOpSeqId = HConstants.NO_SEQNUM;<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>   * The sequence id of the last replayed open region event from the primary region. This is used<a name="line.235"></a>
+<span class="sourceLineNo">236</span>   * to skip entries before this due to the possibility of replay edits coming out of order from<a name="line.236"></a>
+<span class="sourceLineNo">237</span>   * replication.<a name="line.237"></a>
+<span class="sourceLineNo">238</span>   */<a name="line.238"></a>
+<span class="sourceLineNo">239</span>  protected volatile long lastReplayedOpenRegionSeqId = -1L;<a name="line.239"></a>
+<span class="sourceLineNo">240</span>  protected volatile long lastReplayedCompactionSeqId = -1L;<a name="line.240"></a>
 <span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>  /**<a name="line.242"></a>
-<span class="sourceLineNo">243</span>   * Record the sequence id of last flush operation. Can be in advance of<a name="line.243"></a>
-<span class="sourceLineNo">244</span>   * {@link #maxFlushedSeqId} when flushing a single column family. In this case,<a name="line.244"></a>
-<span class="sourceLineNo">245</span>   * {@link #maxFlushedSeqId} will be older than the oldest edit in memory.<a name="line.245"></a>
-<span class="sourceLineNo">246</span>   */<a name="line.246"></a>
-<span class="sourceLineNo">247</span>  private volatile long lastFlushOpSeqId = HConstants.NO_SEQNUM;<a name="line.247"></a>
-<span class="sourceLineNo">248</span><a name="line.248"></a>
-<span class="sourceLineNo">249</span>  /**<a name="line.249"></a>
-<span class="sourceLineNo">250</span>   * The sequence id of the last replayed open region event from the primary region. This is used<a name="line.250"></a>
-<span class="sourceLineNo">251</span>   * to skip entries before this due to the possibility of replay edits coming out of order from<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * replication.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  protected volatile long lastReplayedOpenRegionSeqId = -1L;<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  protected volatile long lastReplayedCompactionSeqId = -1L;<a name="line.255"></a>
+<span class="sourceLineNo">242</span>  //////////////////////////////////////////////////////////////////////////////<a name="line.242"></a>
+<span class="sourceLineNo">243</span>  // Members<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>  // map from a locked row to the context for that lock including:<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  // - CountDownLatch for threads waiting on that row<a name="line.247"></a>
+<span class="sourceLineNo">248</span>  // - the thread that owns the lock (allow reentrancy)<a name="line.248"></a>
+<span class="sourceLineNo">249</span>  // - reference count of (reentrant) locks held by the thread<a name="line.249"></a>
+<span class="sourceLineNo">250</span>  // - the row itself<a name="line.250"></a>
+<span class="sourceLineNo">251</span>  private final ConcurrentHashMap&lt;HashedBytes, RowLockContext&gt; lockedRows =<a name="line.251"></a>
+<span class="sourceLineNo">252</span>      new ConcurrentHashMap&lt;HashedBytes, RowLockContext&gt;();<a name="line.252"></a>
+<span class="sourceLineNo">253</span><a name="line.253"></a>
+<span class="sourceLineNo">254</span>  protected final Map&lt;byte[], Store&gt; stores = new ConcurrentSkipListMap&lt;byte[], Store&gt;(<a name="line.254"></a>
+<span class="sourceLineNo">255</span>      Bytes.BYTES_RAWCOMPARATOR);<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>  // Members<a name="line.258"></a>
-<span class="sourceLineNo">259</span>  //////////////////////////////////////////////////////////////////////////////<a name="line.259"></a>
-<span class="sourceLineNo">260</span><a name="line.260"></a>
-<span class="sourceLineNo">261</span>  // map from a locked row to the context for that lock including:<a name="line.261"></a>
-<span class="sourceLineNo">262</span>  // - CountDownLatch for threads waiting on that row<a name="line.262"></a>
-<span class="sourceLineNo">263</span>  // - the thread that owns the lock (allow reentrancy)<a name="line.263"></a>
-<span class="sourceLineNo">264</span>  // - reference count of (reentrant) locks held by the thread<a name="line.264"></a>
-<span class="sourceLineNo">265</span>  // - the row itself<a name="line.265"></a>
-<span class="sourceLineNo">266</span>  private final ConcurrentHashMap&lt;HashedBytes, RowLockContext&gt; lockedRows =<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      new ConcurrentHashMap&lt;HashedBytes, RowLockContext&gt;();<a name="line.267"></a>
-<span class="sourceLineNo">268</span><a name="line.268"></a>
-<span class="sourceLineNo">269</span>  protected final Map&lt;byte[], Store&gt; stores = new ConcurrentSkipListMap&lt;byte[], Store&gt;(<a name="line.269"></a>
-<span class="sourceLineNo">270</span>      Bytes.BYTES_RAWCOMPARATOR);<a name="line.270"></a>
-<span class="sourceLineNo">271</span><a name="line.271"></a>
-<span class="sourceLineNo">272</span>  // TODO: account for each registered handler in HeapSize computation<a name="line.272"></a>
-<span class="sourceLineNo">273</span>  private Map&lt;String, Service&gt; coprocessorServiceHandlers = Maps.newHashMap();<a name="line.273"></a>
+<span class="sourceLineNo">257</span>  // TODO: account for each registered handler in HeapSize computation<a name="line.257"></a>
+<span class="sourceLineNo">258</span>  private Map&lt;String, Service&gt; coprocessorServiceHandlers = Maps.newHashMap();<a name="line.258"></a>
+<span class="sourceLineNo">259</span><a name="line.259"></a>
+<span class="sourceLineNo">260</span>  private final AtomicLong memstoreSize = new AtomicLong(0);<a name="line.260"></a>
+<span class="sourceLineNo">261</span><a name="line.261"></a>
+<span class="sourceLineNo">262</span>  // Debug possible data loss due to WAL off<a name="line.262"></a>
+<span class="sourceLineNo">263</span>  final Counter numMutationsWithoutWAL = new Counter();<a name="line.263"></a>
+<span class="sourceLineNo">264</span>  final Counter dataInMemoryWithoutWAL = new Counter();<a name="line.264"></a>
+<span class="sourceLineNo">265</span><a name="line.265"></a>
+<span class="sourceLineNo">266</span>  // Debug why CAS operations are taking a while.<a name="line.266"></a>
+<span class="sourceLineNo">267</span>  final Counter checkAndMutateChecksPassed = new Counter();<a name="line.267"></a>
+<span class="sourceLineNo">268</span>  final Counter checkAndMutateChecksFailed = new Counter();<a name="line.268"></a>
+<span class="sourceLineNo">269</span><a name="line.269"></a>
+<span class="sourceLineNo">270</span>  // Number of requests<a name="line.270"></a>
+<span class="sourceLineNo">271</span>  final Counter readRequestsCount = new Counter();<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  final Counter filteredReadRequestsCount = new Counter();<a name="line.272"></a>
+<span class="sourceLineNo">273</span>  final Counter writeRequestsCount = new Counter();<a name="line.273"></a>
 <span class="sourceLineNo">274</span><a name="line.274"></a>
-<span class="sourceLineNo">275</span>  private final AtomicLong memstoreSize = new AtomicLong(0);<a name="line.275"></a>
-<span class="sourceLineNo">276</span><a name="line.276"></a>
-<span class="sourceLineNo">277</span>  // Debug possible data loss due to WAL off<a name="line.277"></a>
-<span class="sourceLineNo">278</span>  final Counter numMutationsWithoutWAL = new Counter();<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  final Counter dataInMemoryWithoutWAL = new Counter();<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  // Debug why CAS operations are taking a while.<a name="line.281"></a>
-<span class="sourceLineNo">282</span>  final Counter checkAndMutateChecksPassed = new Counter();<a name="line.282"></a>
-<span class="sourceLineNo">283</span>  final Counter checkAndMutateChecksFailed = new Counter();<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>  //Number of requests<a name="line.285"></a>
-<span class="sourceLineNo">286</span>  final Counter readRequestsCount = new Counter();<a name="line.286"></a>
-<span class="sourceLineNo">287</span>  final Counter filteredReadRequestsCount = new Counter();<a name="line.287"></a>
-<span class="sourceLineNo">288</span>  final Counter writeRequestsCount = new Counter();<a name="line.288"></a>
-<span class="sourceLineNo">289</span><a name="line.289"></a>
-<span class="sourceLineNo">290</span>  // Number of requests blocked by memstore size.<a name="line.290"></a>
-<span class="sourceLineNo">291</span>  private final Counter blockedRequestsCount = new Counter();<a name="line.291"></a>
-<span class="sourceLineNo">292</span><a name="line.292"></a>
-<span class="sourceLineNo">293</span>  // Compaction counters<a name="line.293"></a>
-<span class="sourceLineNo">294</span>  final AtomicLong compactionsFinished = new AtomicLong(0L);<a name="line.294"></a>
-<span class="sourceLineNo">295</span>  final AtomicLong compactionNumFilesCompacted = new AtomicLong(0L);<a name="line.295"></a>
-<span class="sourceLineNo">296</span>  final AtomicLong compactionNumBytesCompacted = new AtomicLong(0L);<a name="line.296"></a>
-<span class="sourceLineNo">297</span><a name="line.297"></a>
-<span class="sourceLineNo">298</span>  private final WAL wal;<a name="line.298"></a>
-<span class="sourceLineNo">299</span>  private final HRegionFileSystem fs;<a name="line.299"></a>
-<span class="sourceLineNo">300</span>  protected final Configuration conf;<a name="line.300"></a>
-<span class="sourceLineNo">301</span>  private final Configuration baseConf;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  private final int rowLockWaitDuration;<a name="line.302"></a>
-<span class="sourceLineNo">303</span>  private CompactedHFilesDischarger compactedFileDischarger;<a name="line.303"></a>
-<span class="sourceLineNo">304</span>  static final int DEFAULT_ROWLOCK_WAIT_DURATION = 30000;<a name="line.304"></a>
-<span class="sourceLineNo">305</span><a name="line.305"></a>
-<span class="sourceLineNo">306</span>  // The internal wait duration to acquire a lock before read/update<a name="line.306"></a>
-<span class="sourceLineNo">307</span>  // from the region. It is not per row. The purpose of this wait time<a name="line.307"></a>
-<span class="sourceLineNo">308</span>  // is to avoid waiting a long time while the region is busy, so that<a name="line.308"></a>
-<span class="sourceLineNo">309</span>  // we can release the IPC handler soon enough to improve the<a name="line.309"></a>
-<span class="sourceLineNo">310</span>  // availability of the region server. It can be adjusted by<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  // tuning configuration "hbase.busy.wait.duration".<a name="line.311"></a>
-<span class="sourceLineNo">312</span>  final long busyWaitDuration;<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  static final long DEFAULT_BUSY_WAIT_DURATION = HConstants.DEFAULT_HBASE_RPC_TIMEOUT;<a name="line.313"></a>
+<span class="sourceLineNo">275</span>  // Number of requests blocked by memstore size.<a name="line.275"></a>
+<span class="sourceLineNo">276</span>  private final Counter blockedRequestsCount = new Counter();<a name="line.276"></a>
+<span class="sourceLineNo">277</span><a name="line.277"></a>
+<span class="sourceLineNo">278</span>  // Compaction counters<a name="line.278"></a>
+<span class="sourceLineNo">279</span>  final AtomicLong compactionsFinished = new AtomicLong(0L);<a name="line.279"></a>
+<span class="sourceLineNo">280</span>  final AtomicLong compactionNumFilesCompacted = new AtomicLong(0L);<a name="line.280"></a>
+<span class="sourceLineNo">281</span>  final AtomicLong compactionNumBytesCompacted = new AtomicLong(0L);<a name="line.281"></a>
+<span class="sourceLineNo">282</span><a name="line.282"></a>
+<span class="sourceLineNo">283</span>  private final WAL wal;<a name="line.283"></a>
+<span class="sourceLineNo">284</span>  private final HRegionFileSystem fs;<a name="line.284"></a>
+<span class="sourceLineNo">285</span>  protected final Configuration conf;<a name="line.285"></a>
+<span class="sourceLineNo">286</span>  private final Configuration baseConf;<a name="line.286"></a>
+<span class="sourceLineNo">287</span>  private final int rowLockWaitDuration;<a name="line.287"></a>
+<span class="sourceLineNo">288</span>  private CompactedHFilesDischarger compactedFileDischarger;<a name="line.288"></a>
+<span class="sourceLineNo">289</span>  static final int DEFAULT_ROWLOCK_WAIT_DURATION = 30000;<a name="line.289"></a>
+<span class="sourceLineNo">290</span><a name="line.290"></a>
+<span class="sourceLineNo">291</span>  // The internal wait duration to acquire a lock before read/update<a name="line.291"></a>
+<span class="sourceLineNo">292</span>  // from the region. It is not per row. The purpose of this wait time<a name="line.292"></a>
+<span class="sourceLineNo">293</span>  // is to avoid waiting a long time while the region is busy, so that<a name="line.293"></a>
+<span class="sourceLineNo">294</span>  // we can release the IPC handler soon enough to improve the<a name="line.294"></a>
+<span class="sourceLineNo">295</span>  // availability of the region server. It can be adjusted by<a name="line.295"></a>
+<span class="sourceLineNo">296</span>  // tuning configuration "hbase.busy.wait.duration".<a name="line.296"></a>
+<span class="sourceLineNo">297</span>  final long busyWaitDuration;<a name="line.297"></a>
+<span class="sourceLineNo">298</span>  static final long DEFAULT_BUSY_WAIT_DURATION = HConstants.DEFAULT_HBASE_RPC_TIMEOUT;<a name="line.298"></a>
+<span class="sourceLineNo">299</span><a name="line.299"></a>
+<span class="sourceLineNo">300</span>  // If updating multiple rows in one call, wait longer,<a name="line.300"></a>
+<span class="sourceLineNo">301</span>  // i.e. waiting for busyWaitDuration * # of rows. However,<a name="line.301"></a>
+<span class="sourceLineNo">302</span>  // we can limit the max multiplier.<a name="line.302"></a>
+<span class="sourceLineNo">303</span>  final int maxBusyWaitMultiplier;<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span>  // Max busy wait duration. There is no point to wait longer than the RPC<a name="line.305"></a>
+<span class="sourceLineNo">306</span>  // purge timeout, when a RPC call will be terminated by the RPC engine.<a name="line.306"></a>
+<span class="sourceLineNo">307</span>  final long maxBusyWaitDuration;<a name="line.307"></a>
+<span class="sourceLineNo">308</span><a name="line.308"></a>
+<span class="sourceLineNo">309</span>  // negative number indicates infinite timeout<a name="line.309"></a>
+<span class="sourceLineNo">310</span>  static final long DEFAULT_ROW_PROCESSOR_TIMEOUT = 60 * 1000L;<a name="line.310"></a>
+<span class="sourceLineNo">311</span>  final ExecutorService rowProcessorExecutor = Executors.newCachedThreadPool();<a name="line.311"></a>
+<span class="sourceLineNo">312</span><a name="line.312"></a>
+<span class="sourceLineNo">313</span>  private final ConcurrentHashMap&lt;RegionScanner, Long&gt; scannerReadPoints;<a name="line.313"></a>
 <span class="sourceLineNo">314</span><a name="line.314"></a>
-<span class="sourceLineNo">315</span>  // If updating multiple rows in one call, wait longer,<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  // i.e. waiting for busyWaitDuration * # of rows. However,<a name="line.316"></a>
-<span class="sourceLineNo">317</span>  // we can limit the max multiplier.<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  final int maxBusyWaitMultiplier;<a name="line.318"></a>
+<span class="sourceLineNo">315</span>  /**<a name="line.315"></a>
+<span class="sourceLineNo">316</span>   * The sequence ID that was encountered when this region was opened.<a name="line.316"></a>
+<span class="sourceLineNo">317</span>   */<a name="line.317"></a>
+<span class="sourceLineNo">318</span>  private long openSeqNum = HConstants.NO_SEQNUM;<a name="line.318"></a>
 <span class="sourceLineNo">319</span><a name="line.319"></a>
-<span class="sourceLineNo">320</span>  // Max busy wait duration. There is no point to wait longer than the RPC<a name="line.320"></a>
-<span class="sourceLineNo">321</span>  // purge timeout, when a RPC call will be terminated by the RPC engine.<a name="line.321"></a>
-<span class="sourceLineNo">322</span>  final long maxBusyWaitDuration;<a name="line.322"></a>
-<span class="sourceLineNo">323</span><a name="line.323"></a>
-<span class="sourceLineNo">324</span>  // negative number indicates infinite timeout<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  static final long DEFAULT_ROW_PROCESSOR_TIMEOUT = 60 * 1000L;<a name="line.325"></a>
-<span class="sourceLineNo">326</span>  final ExecutorService rowProcessorExecutor = Executors.newCachedThreadPool();<a name="line.326"></a>
-<span class="sourceLineNo">327</span><a name="line.327"></a>
-<span class="sourceLineNo">328</span>  private final ConcurrentHashMap&lt;RegionScanner, Long&gt; scannerReadPoints;<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>   * The sequence ID that was encountered when this region was opened.<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   */<a name="line.332"></a>
-<span class="sourceLineNo">333</span>  private long openSeqNum = HConstants.NO_SEQNUM;<a name="line.333"></a>
-<span class="sourceLineNo">334</span><a name="line.334"></a>
-<span class="sourceLineNo">335</span>  /**<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   * The default setting for whether to enable on-demand CF loading for<a name="line.336"></a>
-<span class="sourceLineNo">337</span>   * scan requests to this region. Requests can override it.<a name="line.337"></a>
-<span class="sourceLineNo">338</span>   */<a name="line.338"></a>
-<span class="sourceLineNo">339</span>  private boolean isLoadingCfsOnDemandDefault = false;<a name="line.339"></a>
-<span class="sourceLineNo">340</span><a name="line.340"></a>
-<span class="sourceLineNo">341</span>  private final AtomicInteger majorInProgress = new AtomicInteger(0);<a name="line.341"></a>
-<span class="sourceLineNo">342</span>  private final AtomicInteger minorInProgress = new AtomicInteger(0);<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>  // Context: During replay we want to ensure that we do not lose any data. So, we<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  // have to be conservative in how we replay wals. For each store, we calculate<a name="line.346"></a>
-<span class="sourceLineNo">347</span>  // the maxSeqId up to which the store was flushed. And, skip the edits which<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  // are equal to or lower than maxSeqId for each store.<a name="line.348"></a>
-<span class="sourceLineNo">349</span>  // The following map is populated when opening the region<a name="line.349"></a>
-<span class="sourceLineNo">350</span>  Map&lt;byte[], Long&gt; maxSeqIdInStores = new TreeMap&lt;byte[], Long&gt;(Bytes.BYTES_COMPARATOR);<a name="line.350"></a>
-<span class="sourceLineNo">351</span><a name="line.351"></a>
-<span class="sourceLineNo">352</span>  /** Saved state from replaying prepare flush cache */<a name="line.352"></a>
-<span class="sourceLineNo">353</span>  private PrepareFlushResult prepareFlushResult = null;<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>   * Config setting for whether to allow writes when a region is in recovering or not.<a name="line.356"></a>
-<span class="sourceLineNo">357</span>   */<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  private boolean disallowWritesInRecovering = false;<a name="line.358"></a>
-<span class="sourceLineNo">359</span><a name="line.359"></a>
-<span class="sourceLineNo">360</span>  // when a region is in recovering state, it can only accept writes not reads<a name="line.360"></a>
-<span class="sourceLineNo">361</span>  private volatile boolean recovering = false;<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>  private volatile Optional&lt;ConfigurationManager&gt; configurationManager;<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>   * @return The smallest mvcc readPoint across all the scanners in this<a name="line.366"></a>
-<span class="sourceLineNo">367</span>   * region. Writes older than this readPoint, are included in every<a name="line.367"></a>
-<span class="sourceLineNo">368</span>   * read operation.<a name="line.368"></a>
-<span class="sourceLineNo">369</span>   */<a name="line.369"></a>
-<span class="sourceLineNo">370</span>  public long getSmallestReadPoint() {<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    long minimumReadPoint;<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    // We need to ensure that while we are calculating the smallestReadPoint<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    // no new RegionScanners can grab a readPoint that we are unaware of.<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    // We achieve this by synchronizing on the scannerReadPoints object.<a name="line.374"></a>
-<span class="sourceLineNo">375</span>    synchronized(scannerReadPoints) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>      minimumReadPoint = mvcc.getReadPoint();<a name="line.376"></a>
-<span class="sourceLineNo">377</span><a name="line.377"></a>
-<span class="sourceLineNo">378</span>      for (Long readPoint: this.scannerReadPoints.values()) {<a name="line.378"></a>
-<span class="sourceLineNo">379</span>        if (readPoint &lt; minimumReadPoint) {<a name="line.379"></a>
-<span class="sourceLineNo">380</span>          minimumReadPoint = readPoint;<a name="line.380"></a>
-<span class="sourceLineNo">381</span>        }<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      }<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    }<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    return minimumReadPoint;<a name="line.384"></a>
-<span class="sourceLineNo">385</span>  }<a name="line.385"></a>
-<span class="sourceLineNo">386</span><a name="line.386"></a>
-<span class="sourceLineNo">387</span>  /*<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * Data structure of write state flags used coordinating flushes,<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   * compactions and closes.<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   */<a name="line.390"></a>
-<span class="sourceLineNo">391</span>  static class WriteState {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    // Set while a memstore flush is happening.<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    volatile boolean flushing = false;<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    // Set when a flush has been requested.<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    volatile boolean flushRequested = false;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    // Number of compactions running.<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    AtomicInteger compacting = new AtomicInteger(0);<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    // Gets set in close. If set, cannot compact or flush again.<a name="line.398"></a>
-<span class="sourceLineNo">399</span>    volatile boolean writesEnabled = true;<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    // Set if region is read-only<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    volatile boolean readOnly = false;<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    // whether the reads are enabled. This is different than readOnly, because readOnly is<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    // static in the lifetime of the region, while readsEnabled is dynamic<a name="line.403"></a>
-<span class="sourceLineNo">404</span>    volatile boolean readsEnabled = true;<a name="line.404"></a>
-<span class="sourceLineNo">405</span><a name="line.405"></a>
-<span class="sourceLineNo">406</span>    /**<a name="line.406"></a>
-<span class="sourceLineNo">407</span>     * Set flags that make this region read-only.<a name="line.407"></a>
-<span class="sourceLineNo">408</span>     *<a name="line.408"></a>
-<span class="sourceLineNo">409</span>     * @param onOff flip value for region r/o setting<a name="line.409"></a>
-<span class="sourceLineNo">410</span>     */<a name="line.410"></a>
-<span class="sourceLineNo">411</span>    synchronized void setReadOnly(final boolean onOff) {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      this.writesEnabled = !onOff;<a name="line.412"></a>
-<span class="sourceLineNo">413</span>      this.readOnly = onOff;<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    }<a name="line.414"></a>
+<span class="sourceLineNo">320</span>  /**<a name="line.320"></a>
+<span class="sourceLineNo">321</span>   * The default setting for whether to enable on-demand CF loading for<a name="line.321"></a>
+<span class="sourceLineNo">322</span>   * scan requests to this region. Requests can override it.<a name="line.322"></a>
+<span class="sourceLineNo">323</span>   */<a name="line.323"></a>
+<span class="sourceLineNo">324</span>  private boolean isLoadingCfsOnDemandDefault = false;<a name="line.324"></a>
+<span class="sourceLineNo">325</span><a name="line.325"></a>
+<span class="sourceLineNo">326</span>  private final AtomicInteger majorInProgress = new AtomicInteger(0);<a name="line.326"></a>
+<span class="sourceLineNo">327</span>  private final AtomicInteger minorInProgress = new AtomicInteger(0);<a name="line.327"></a>
+<span class="sourceLineNo">328</span><a name="line.328"></a>
+<span class="sourceLineNo">329</span>  //<a name="line.329"></a>
+<span class="sourceLineNo">330</span>  // Context: During replay we want to ensure that we do not lose any data. So, we<a name="line.330"></a>
+<span class="sourceLineNo">331</span>  // have to be conservative in how we replay wals. For each store, we calculate<a name="line.331"></a>
+<span class="sourceLineNo">332</span>  // the maxSeqId up to which the store was flushed. And, skip the edits which<a name="line.332"></a>
+<span class="sourceLineNo">333</span>  // are equal to or lower than maxSeqId for each store.<a name="line.333"></a>
+<span class="sourceLineNo">334</span>  // The following map is populated when opening the region<a name="line.334"></a>
+<span class="sourceLineNo">335</span>  Map&lt;byte[], Long&gt; maxSeqIdInStores = new TreeMap&lt;byte[], Long&gt;(Bytes.BYTES_COMPARATOR);<a name="line.335"></a>
+<span class="sourceLineNo">336</span><a name="line.336"></a>
+<span class="sourceLineNo">337</span>  /** Saved state from replaying prepare flush cache */<a name="line.337"></a>
+<span class="sourceLineNo">338</span>  private PrepareFlushResult prepareFlushResult = null;<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>   * Config setting for whether to allow writes when a region is in recovering or not.<a name="line.341"></a>
+<span class="sourceLineNo">342</span>   */<a name="line.342"></a>
+<span class="sourceLineNo">343</span>  private boolean disallowWritesInRecovering = false;<a name="line.343"></a>
+<span class="sourceLineNo">344</span><a name="line.344"></a>
+<span class="sourceLineNo">345</span>  // When a region is in recovering state, it can only accept writes not reads<a name="line.345"></a>
+<span class="sourceLineNo">346</span>  private volatile boolean recovering = false;<a name="line.346"></a>
+<span class="sourceLineNo">347</span><a name="line.347"></a>
+<span class="sourceLineNo">348</span>  private volatile Optional&lt;ConfigurationManager&gt; configurationManager;<a name="line.348"></a>
+<span class="sourceLineNo">349</span><a name="line.349"></a>
+<span class="sourceLineNo">350</span>  /**<a name="line.350"></a>
+<span class="sourceLineNo">351</span>   * @return The smallest mvcc readPoint across all the scanners in this<a name="line.351"></a>
+<span class="sourceLineNo">352</span>   * region. Writes older than this readPoint, are included in every<a name="line.352"></a>
+<span class="sourceLineNo">353</span>   * read operation.<a name="line.353"></a>
+<span class="sourceLineNo">354</span>   */<a name="line.354"></a>
+<span class="sourceLineNo">355</span>  public long getSmallestReadPoint() {<a name="line.355"></a>
+<span class="sourceLineNo">356</span>    long minimumReadPoint;<a name="line.356"></a>
+<span class="sourceLineNo">357</span>    // We need to ensure that while we are calculating the smallestReadPoint<a name="line.357"></a>
+<span class="sourceLineNo">358</span>    // no new RegionScanners can grab a readPoint that we are unaware of.<a name="line.358"></a>
+<span class="sourceLineNo">359</span>    // We achieve this by synchronizing on the scannerReadPoints object.<a name="line.359"></a>
+<span class="sourceLineNo">360</span>    synchronized(scannerReadPoints) {<a name="line.360"></a>
+<span class="sourceLineNo">361</span>      minimumReadPoint = mvcc.getReadPoint();<a name="line.361"></a>
+<span class="sourceLineNo">362</span>      for (Long readPoint: this.scannerReadPoints.values()) {<a name="line.362"></a>
+<span class="sourceLineNo">363</span>        if (readPoint &lt; minimumReadPoint) {<a name="line.363"></a>
+<span class="sourceLineNo">364</span>          minimumReadPoint = readPoint;<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>    return minimumReadPoint;<a name="line.368"></a>
+<span class="sourceLineNo">369</span>  }<a name="line.369"></a>
+<span class="sourceLineNo">370</span><a name="line.370"></a>
+<span class="sourceLineNo">371</span>  /*<a name="line.371"></a>
+<span class="sourceLineNo">372</span>   * Data structure of write state flags used coordinating flushes,<a name="line.372"></a>
+<span class="sourceLineNo">373</span>   * compactions and closes.<a name="line.373"></a>
+<span class="sourceLineNo">374</span>   */<a name="line.374"></a>
+<span class="sourceLineNo">375</span>  static class WriteState {<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    // Set while a memstore flush is happening.<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    volatile boolean flushing = false;<a name="line.377"></a>
+<span class="sourceLineNo">378</span>    // Set when a flush has been requested.<a name="line.378"></a>
+<span class="sourceLineNo">379</span>    volatile boolean flushRequested = false;<a name="line.379"></a>
+<span class="sourceLineNo">380</span>    // Number of compactions running.<a name="line.380"></a>
+<span class="sourceLineNo">381</span>    AtomicInteger compacting = new AtomicInteger(0);<a name="line.381"></a>
+<span class="sourceLineNo">382</span>    // Gets set in close. If set, cannot compact or flush again.<a name="line.382"></a>
+<span class="sourceLineNo">383</span>    volatile boolean writesEnabled = true;<a name="line.383"></a>
+<span class="sourceLineNo">384</span>    // Set if region is read-only<a name="line.384"></a>
+<span class="sourceLineNo">385</span>    volatile boolean readOnly = false;<a name="line.385"></a>
+<span class="sourceLineNo">386</span>    // whether the reads are enabled. This is different than readOnly, because readOnly is<a name="line.386"></a>
+<span class="sourceLineNo">387</span>    // static in the lifetime of the region, while readsEnabled is dynamic<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    volatile boolean readsEnabled = true;<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>     * Set flags that make this region read-only.<a name="line.391"></a>
+<span class="sourceLineNo">392</span>     *<a name="line.392"></a>
+<span class="sourceLineNo">393</span>     * @param onOff flip value for region r/o setting<a name="line.393"></a>
+<span class="sourceLineNo">394</span>     */<a name="line.394"></a>
+<span class="sourceLineNo">395</span>    synchronized void setReadOnly(final boolean onOff) {<a name="line.395"></a>
+<span class="sourceLineNo">396</span>      this.writesEnabled = !onOff;<a name="line.396"></a>
+<span class="sourceLineNo">397</span>      this.readOnly = onOff;<a name="line.397"></a>
+<span class="sourceLineNo">398</span>    }<a name="line.398"></a>
+<span class="sourceLineNo">399</span><a name="line.399"></a>
+<span class="sourceLineNo">400</span>    boolean isReadOnly() {<a name="line.400"></a>
+<span class="sourceLineNo">401</span>      return this.readOnly;<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>    boolean isFlushRequested() {<a name="line.404"></a>
+<span class="sourceLineNo">405</span>      return this.flushRequested;<a name="line.405"></a>
+<span class="sourceLineNo">406</span>    }<a name="line.406"></a>
+<span class="sourceLineNo">407</span><a name="line.407"></a>
+<span class="sourceLineNo">408</span>    void setReadsEnabled(boolean readsEnabled) {<a name="line.408"></a>
+<span class="sourceLineNo">409</span>      this.readsEnabled = readsEnabled;<a name="line.409"></a>
+<span class="sourceLineNo">410</span>    }<a name="line.410"></a>
+<span class="sourceLineNo">411</span><a name="line.411"></a>
+<span class="sourceLineNo">412</span>    static final long HEAP_SIZE = ClassSize.align(<a name="line.412"></a>
+<span class="sourceLineNo">413</span>        ClassSize.OBJECT + 5 * Bytes.SIZEOF_BOOLEAN);<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>    boolean isReadOnly() {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      return this.readOnly;<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>    boolean isFlushRequested() {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>      return this.flushRequested;<a name="line.421"></a>
-<span class="sourceLineNo">422</span>    }<a name="line.422"></a>
-<span class="sourceLineNo">423</span><a name="line.423"></a>
-<span class="sourceLineNo">424</span>    void setReadsEnabled(boolean readsEnabled) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span>      this.readsEnabled = readsEnabled;<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    }<a name="line.426"></a>
+<span class="sourceLineNo">416</span>  /**<a name="line.416"></a>
+<span class="sourceLineNo">417</span>   * Objects from this class are created when flushing to describe all the different states that<a name="line.417"></a>
+<span class="sourceLineNo">418</span>   * that method ends up in. The Result enum describes those states. The sequence id should only<a name="line.418"></a>
+<span class="sourceLineNo">419</span>   * be specified if the flush was successful, and the failure message should only be specified<a name="line.419"></a>
+<span class="sourceLineNo">420</span>   * if it didn't flush.<a name="line.420"></a>
+<span class="sourceLineNo">421</span>   */<a name="line.421"></a>
+<span class="sourceLineNo">422</span>  public static class FlushResultImpl implements FlushResult {<a name="line.422"></a>
+<span class="sourceLineNo">423</span>    final Result result;<a name="line.423"></a>
+<span class="sourceLineNo">424</span>    final String failureReason;<a name="line.424"></a>
+<span class="sourceLineNo">425</span>    final long flushSequenceId;<a name="line.425"></a>
+<span class="sourceLineNo">426</span>    final boolean wroteFlushWalMarker;<a name="line.426"></a>
 <span class="sourceLineNo">427</span><a name="line.427"></a>
-<span class="sourceLineNo">428</span>    static final long HEAP_SIZE = ClassSize.align(<a name="line.428"></a>
-<span class="sourceLineNo">429</span>        ClassSize.OBJECT + 5 * Bytes.SIZEOF_BOOLEAN);<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  }<a name="line.430"></a>
-<span class="sourceLineNo">431</span><a name="line.431"></a>
-<span class="sourceLineNo">432</span>  /**<a name="line.432"></a>
-<span class="sourceLineNo">433</span>   * Objects from this class are created when flushing to describe all the different states that<a name="line.433"></a>
-<span class="sourceLineNo">434</span>   * that method ends up in. The Result enum describes those states. The sequence id should only<a name="line.434"></a>
-<span class="sourceLineNo">435</span>   * be specified if the flush was successful, and the failure message should only be specified<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   * if it didn't flush.<a name="line.436"></a>
-<span class="sourceLineNo">437</span>   */<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  public static class FlushResultImpl implements FlushResult {<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    final Result result;<a name="line.439"></a>
-<span class="sourceLineNo">440</span>    final String failureReason;<a name="line.440"></a>
-<span class="sourceLineNo">441</span>    final long flushSequenceId;<a name="line.441"></a>
-<span class="sourceLineNo">442</span>    final boolean wroteFlushWalMarker;<a name="line.442"></a>
-<span class="sourceLineNo">443</span><a name="line.443"></a>
-<span class="sourceLineNo">444</span>    /**<a name="line.444"></a>
-<span class="sourceLineNo">445</span>     * Convenience constructor to use when the flush is successful, the failure message is set to<a name="line.445"></a>
-<span class="sourceLineNo">446</span>     * null.<a name="line.446"></a>
-<span class="sourceLineNo">447</span>     * @param result Expecting FLUSHED_NO_COMPACTION_NEEDED or FLUSHED_COMPACTION_NEEDED.<a name="line.447"></a>
-<span class="sourceLineNo">448</span>     * @param flushSequenceId Generated sequence id that comes right after the edits in the<a name="line.448"></a>
-<span class="sourceLineNo">449</span>     *                        memstores.<a name="line.449"></a>
-<span class="sourceLineNo">450</span>     */<a name="line.450"></a>
-<span class="sourceLineNo">451</span>    FlushResultImpl(Result res

<TRUNCATED>

[49/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/apidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html b/apidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html
index 6cf6743..1b54cf8 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html
@@ -27,572 +27,649 @@
 <span class="sourceLineNo">019</span> */<a name="line.19"></a>
 <span class="sourceLineNo">020</span>package org.apache.hadoop.hbase.client;<a name="line.20"></a>
 <span class="sourceLineNo">021</span><a name="line.21"></a>
-<span class="sourceLineNo">022</span>import java.io.IOException;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.util.AbstractMap.SimpleEntry;<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.Collections;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.util.HashMap;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import java.util.List;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import java.util.Map;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import java.util.concurrent.ExecutorService;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import java.util.concurrent.Executors;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import java.util.concurrent.LinkedBlockingQueue;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import java.util.concurrent.ScheduledExecutorService;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import java.util.concurrent.TimeUnit;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.36"></a>
-<span class="sourceLineNo">037</span><a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.commons.logging.Log;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.commons.logging.LogFactory;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.conf.Configuration;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.HBaseConfiguration;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.HConstants;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.ServerName;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.TableName;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.client.AsyncProcess.AsyncRequestFuture;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.ipc.RpcControllerFactory;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.51"></a>
-<span class="sourceLineNo">052</span><a name="line.52"></a>
-<span class="sourceLineNo">053</span>import com.google.common.util.concurrent.ThreadFactoryBuilder;<a name="line.53"></a>
-<span class="sourceLineNo">054</span><a name="line.54"></a>
-<span class="sourceLineNo">055</span>/**<a name="line.55"></a>
-<span class="sourceLineNo">056</span> * HTableMultiplexer provides a thread-safe non blocking PUT API across all the tables.<a name="line.56"></a>
-<span class="sourceLineNo">057</span> * Each put will be sharded into different buffer queues based on its destination region server.<a name="line.57"></a>
-<span class="sourceLineNo">058</span> * So each region server buffer queue will only have the puts which share the same destination.<a name="line.58"></a>
-<span class="sourceLineNo">059</span> * And each queue will have a flush worker thread to flush the puts request to the region server.<a name="line.59"></a>
-<span class="sourceLineNo">060</span> * If any queue is full, the HTableMultiplexer starts to drop the Put requests for that<a name="line.60"></a>
-<span class="sourceLineNo">061</span> * particular queue.<a name="line.61"></a>
-<span class="sourceLineNo">062</span> *<a name="line.62"></a>
-<span class="sourceLineNo">063</span> * Also all the puts will be retried as a configuration number before dropping.<a name="line.63"></a>
-<span class="sourceLineNo">064</span> * And the HTableMultiplexer can report the number of buffered requests and the number of the<a name="line.64"></a>
-<span class="sourceLineNo">065</span> * failed (dropped) requests in total or on per region server basis.<a name="line.65"></a>
-<span class="sourceLineNo">066</span> *<a name="line.66"></a>
-<span class="sourceLineNo">067</span> * This class is thread safe.<a name="line.67"></a>
-<span class="sourceLineNo">068</span> */<a name="line.68"></a>
-<span class="sourceLineNo">069</span>@InterfaceAudience.Public<a name="line.69"></a>
-<span class="sourceLineNo">070</span>@InterfaceStability.Evolving<a name="line.70"></a>
-<span class="sourceLineNo">071</span>public class HTableMultiplexer {<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  private static final Log LOG = LogFactory.getLog(HTableMultiplexer.class.getName());<a name="line.72"></a>
-<span class="sourceLineNo">073</span><a name="line.73"></a>
-<span class="sourceLineNo">074</span>  public static final String TABLE_MULTIPLEXER_FLUSH_PERIOD_MS =<a name="line.74"></a>
-<span class="sourceLineNo">075</span>      "hbase.tablemultiplexer.flush.period.ms";<a name="line.75"></a>
-<span class="sourceLineNo">076</span>  public static final String TABLE_MULTIPLEXER_INIT_THREADS = "hbase.tablemultiplexer.init.threads";<a name="line.76"></a>
-<span class="sourceLineNo">077</span>  public static final String TABLE_MULTIPLEXER_MAX_RETRIES_IN_QUEUE =<a name="line.77"></a>
-<span class="sourceLineNo">078</span>      "hbase.client.max.retries.in.queue";<a name="line.78"></a>
-<span class="sourceLineNo">079</span><a name="line.79"></a>
-<span class="sourceLineNo">080</span>  /** The map between each region server to its flush worker */<a name="line.80"></a>
-<span class="sourceLineNo">081</span>  private final Map&lt;HRegionLocation, FlushWorker&gt; serverToFlushWorkerMap =<a name="line.81"></a>
-<span class="sourceLineNo">082</span>      new ConcurrentHashMap&lt;&gt;();<a name="line.82"></a>
-<span class="sourceLineNo">083</span><a name="line.83"></a>
-<span class="sourceLineNo">084</span>  private final Configuration workerConf;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>  private final ClusterConnection conn;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>  private final ExecutorService pool;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>  private final int maxAttempts;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>  private final int perRegionServerBufferQueueSize;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>  private final int maxKeyValueSize;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>  private final ScheduledExecutorService executor;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>  private final long flushPeriod;<a name="line.91"></a>
-<span class="sourceLineNo">092</span><a name="line.92"></a>
-<span class="sourceLineNo">093</span>  /**<a name="line.93"></a>
-<span class="sourceLineNo">094</span>   * @param conf The HBaseConfiguration<a name="line.94"></a>
-<span class="sourceLineNo">095</span>   * @param perRegionServerBufferQueueSize determines the max number of the buffered Put ops for<a name="line.95"></a>
-<span class="sourceLineNo">096</span>   *          each region server before dropping the request.<a name="line.96"></a>
-<span class="sourceLineNo">097</span>   */<a name="line.97"></a>
-<span class="sourceLineNo">098</span>  public HTableMultiplexer(Configuration conf, int perRegionServerBufferQueueSize)<a name="line.98"></a>
-<span class="sourceLineNo">099</span>      throws IOException {<a name="line.99"></a>
-<span class="sourceLineNo">100</span>    this.conn = (ClusterConnection) ConnectionFactory.createConnection(conf);<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    this.pool = HTable.getDefaultExecutor(conf);<a name="line.101"></a>
-<span class="sourceLineNo">102</span>    // how many times we could try in total, one more than retry number<a name="line.102"></a>
-<span class="sourceLineNo">103</span>    this.maxAttempts = conf.getInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER,<a name="line.103"></a>
-<span class="sourceLineNo">104</span>        HConstants.DEFAULT_HBASE_CLIENT_RETRIES_NUMBER) + 1;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    this.perRegionServerBufferQueueSize = perRegionServerBufferQueueSize;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    this.maxKeyValueSize = HTable.getMaxKeyValueSize(conf);<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    this.flushPeriod = conf.getLong(TABLE_MULTIPLEXER_FLUSH_PERIOD_MS, 100);<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    int initThreads = conf.getInt(TABLE_MULTIPLEXER_INIT_THREADS, 10);<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    this.executor =<a name="line.109"></a>
-<span class="sourceLineNo">110</span>        Executors.newScheduledThreadPool(initThreads,<a name="line.110"></a>
-<span class="sourceLineNo">111</span>          new ThreadFactoryBuilder().setDaemon(true).setNameFormat("HTableFlushWorker-%d").build());<a name="line.111"></a>
-<span class="sourceLineNo">112</span><a name="line.112"></a>
-<span class="sourceLineNo">113</span>    this.workerConf = HBaseConfiguration.create(conf);<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    // We do not do the retry because we need to reassign puts to different queues if regions are<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    // moved.<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    this.workerConf.setInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER, 0);<a name="line.116"></a>
-<span class="sourceLineNo">117</span>  }<a name="line.117"></a>
-<span class="sourceLineNo">118</span><a name="line.118"></a>
-<span class="sourceLineNo">119</span>  /**<a name="line.119"></a>
-<span class="sourceLineNo">120</span>   * The put request will be buffered by its corresponding buffer queue. Return false if the queue<a name="line.120"></a>
-<span class="sourceLineNo">121</span>   * is already full.<a name="line.121"></a>
-<span class="sourceLineNo">122</span>   * @param tableName<a name="line.122"></a>
-<span class="sourceLineNo">123</span>   * @param put<a name="line.123"></a>
-<span class="sourceLineNo">124</span>   * @return true if the request can be accepted by its corresponding buffer queue.<a name="line.124"></a>
-<span class="sourceLineNo">125</span>   */<a name="line.125"></a>
-<span class="sourceLineNo">126</span>  public boolean put(TableName tableName, final Put put) {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    return put(tableName, put, this.maxAttempts);<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 name="line.130"></a>
-<span class="sourceLineNo">131</span>   * The puts request will be buffered by their corresponding buffer queue.<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   * Return the list of puts which could not be queued.<a name="line.132"></a>
-<span class="sourceLineNo">133</span>   * @param tableName<a name="line.133"></a>
-<span class="sourceLineNo">134</span>   * @param puts<a name="line.134"></a>
-<span class="sourceLineNo">135</span>   * @return the list of puts which could not be queued<a name="line.135"></a>
-<span class="sourceLineNo">136</span>   */<a name="line.136"></a>
-<span class="sourceLineNo">137</span>  public List&lt;Put&gt; put(TableName tableName, final List&lt;Put&gt; puts) {<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    if (puts == null)<a name="line.138"></a>
-<span class="sourceLineNo">139</span>      return null;<a name="line.139"></a>
-<span class="sourceLineNo">140</span><a name="line.140"></a>
-<span class="sourceLineNo">141</span>    List &lt;Put&gt; failedPuts = null;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    boolean result;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    for (Put put : puts) {<a name="line.143"></a>
-<span class="sourceLineNo">144</span>      result = put(tableName, put, this.maxAttempts);<a name="line.144"></a>
-<span class="sourceLineNo">145</span>      if (result == false) {<a name="line.145"></a>
-<span class="sourceLineNo">146</span><a name="line.146"></a>
-<span class="sourceLineNo">147</span>        // Create the failed puts list if necessary<a name="line.147"></a>
-<span class="sourceLineNo">148</span>        if (failedPuts == null) {<a name="line.148"></a>
-<span class="sourceLineNo">149</span>          failedPuts = new ArrayList&lt;Put&gt;();<a name="line.149"></a>
-<span class="sourceLineNo">150</span>        }<a name="line.150"></a>
-<span class="sourceLineNo">151</span>        // Add the put to the failed puts list<a name="line.151"></a>
-<span class="sourceLineNo">152</span>        failedPuts.add(put);<a name="line.152"></a>
-<span class="sourceLineNo">153</span>      }<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    }<a name="line.154"></a>
-<span class="sourceLineNo">155</span>    return failedPuts;<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>   * @deprecated Use {@link #put(TableName, List) } instead.<a name="line.159"></a>
+<span class="sourceLineNo">022</span>import com.google.common.annotations.VisibleForTesting;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import com.google.common.util.concurrent.ThreadFactoryBuilder;<a name="line.23"></a>
+<span class="sourceLineNo">024</span><a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.io.IOException;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.util.AbstractMap.SimpleEntry;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.util.ArrayList;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import java.util.Collections;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import java.util.HashMap;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import java.util.List;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import java.util.Map;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import java.util.concurrent.ExecutorService;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import java.util.concurrent.Executors;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import java.util.concurrent.LinkedBlockingQueue;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import java.util.concurrent.ScheduledExecutorService;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import java.util.concurrent.TimeUnit;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.39"></a>
+<span class="sourceLineNo">040</span><a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.commons.logging.Log;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.commons.logging.LogFactory;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.conf.Configuration;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.HBaseConfiguration;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.HConstants;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.ServerName;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.TableName;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.client.AsyncProcess.AsyncRequestFuture;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.ipc.RpcControllerFactory;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.54"></a>
+<span class="sourceLineNo">055</span><a name="line.55"></a>
+<span class="sourceLineNo">056</span>/**<a name="line.56"></a>
+<span class="sourceLineNo">057</span> * HTableMultiplexer provides a thread-safe non blocking PUT API across all the tables.<a name="line.57"></a>
+<span class="sourceLineNo">058</span> * Each put will be sharded into different buffer queues based on its destination region server.<a name="line.58"></a>
+<span class="sourceLineNo">059</span> * So each region server buffer queue will only have the puts which share the same destination.<a name="line.59"></a>
+<span class="sourceLineNo">060</span> * And each queue will have a flush worker thread to flush the puts request to the region server.<a name="line.60"></a>
+<span class="sourceLineNo">061</span> * If any queue is full, the HTableMultiplexer starts to drop the Put requests for that<a name="line.61"></a>
+<span class="sourceLineNo">062</span> * particular queue.<a name="line.62"></a>
+<span class="sourceLineNo">063</span> *<a name="line.63"></a>
+<span class="sourceLineNo">064</span> * Also all the puts will be retried as a configuration number before dropping.<a name="line.64"></a>
+<span class="sourceLineNo">065</span> * And the HTableMultiplexer can report the number of buffered requests and the number of the<a name="line.65"></a>
+<span class="sourceLineNo">066</span> * failed (dropped) requests in total or on per region server basis.<a name="line.66"></a>
+<span class="sourceLineNo">067</span> *<a name="line.67"></a>
+<span class="sourceLineNo">068</span> * This class is thread safe.<a name="line.68"></a>
+<span class="sourceLineNo">069</span> */<a name="line.69"></a>
+<span class="sourceLineNo">070</span>@InterfaceAudience.Public<a name="line.70"></a>
+<span class="sourceLineNo">071</span>@InterfaceStability.Evolving<a name="line.71"></a>
+<span class="sourceLineNo">072</span>public class HTableMultiplexer {<a name="line.72"></a>
+<span class="sourceLineNo">073</span>  private static final Log LOG = LogFactory.getLog(HTableMultiplexer.class.getName());<a name="line.73"></a>
+<span class="sourceLineNo">074</span><a name="line.74"></a>
+<span class="sourceLineNo">075</span>  public static final String TABLE_MULTIPLEXER_FLUSH_PERIOD_MS =<a name="line.75"></a>
+<span class="sourceLineNo">076</span>      "hbase.tablemultiplexer.flush.period.ms";<a name="line.76"></a>
+<span class="sourceLineNo">077</span>  public static final String TABLE_MULTIPLEXER_INIT_THREADS = "hbase.tablemultiplexer.init.threads";<a name="line.77"></a>
+<span class="sourceLineNo">078</span>  public static final String TABLE_MULTIPLEXER_MAX_RETRIES_IN_QUEUE =<a name="line.78"></a>
+<span class="sourceLineNo">079</span>      "hbase.client.max.retries.in.queue";<a name="line.79"></a>
+<span class="sourceLineNo">080</span><a name="line.80"></a>
+<span class="sourceLineNo">081</span>  /** The map between each region server to its flush worker */<a name="line.81"></a>
+<span class="sourceLineNo">082</span>  private final Map&lt;HRegionLocation, FlushWorker&gt; serverToFlushWorkerMap =<a name="line.82"></a>
+<span class="sourceLineNo">083</span>      new ConcurrentHashMap&lt;&gt;();<a name="line.83"></a>
+<span class="sourceLineNo">084</span><a name="line.84"></a>
+<span class="sourceLineNo">085</span>  private final Configuration workerConf;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>  private final ClusterConnection conn;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>  private final ExecutorService pool;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>  private final int maxAttempts;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>  private final int perRegionServerBufferQueueSize;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>  private final int maxKeyValueSize;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>  private final ScheduledExecutorService executor;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>  private final long flushPeriod;<a name="line.92"></a>
+<span class="sourceLineNo">093</span><a name="line.93"></a>
+<span class="sourceLineNo">094</span>  /**<a name="line.94"></a>
+<span class="sourceLineNo">095</span>   * @param conf The HBaseConfiguration<a name="line.95"></a>
+<span class="sourceLineNo">096</span>   * @param perRegionServerBufferQueueSize determines the max number of the buffered Put ops for<a name="line.96"></a>
+<span class="sourceLineNo">097</span>   *          each region server before dropping the request.<a name="line.97"></a>
+<span class="sourceLineNo">098</span>   */<a name="line.98"></a>
+<span class="sourceLineNo">099</span>  public HTableMultiplexer(Configuration conf, int perRegionServerBufferQueueSize)<a name="line.99"></a>
+<span class="sourceLineNo">100</span>      throws IOException {<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    this(ConnectionFactory.createConnection(conf), conf, perRegionServerBufferQueueSize);<a name="line.101"></a>
+<span class="sourceLineNo">102</span>  }<a name="line.102"></a>
+<span class="sourceLineNo">103</span><a name="line.103"></a>
+<span class="sourceLineNo">104</span>  /**<a name="line.104"></a>
+<span class="sourceLineNo">105</span>   * @param conn The HBase connection.<a name="line.105"></a>
+<span class="sourceLineNo">106</span>   * @param conf The HBase configuration<a name="line.106"></a>
+<span class="sourceLineNo">107</span>   * @param perRegionServerBufferQueueSize determines the max number of the buffered Put ops for<a name="line.107"></a>
+<span class="sourceLineNo">108</span>   *          each region server before dropping the request.<a name="line.108"></a>
+<span class="sourceLineNo">109</span>   */<a name="line.109"></a>
+<span class="sourceLineNo">110</span>  public HTableMultiplexer(Connection conn, Configuration conf,<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      int perRegionServerBufferQueueSize) {<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    this.conn = (ClusterConnection) conn;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>    this.pool = HTable.getDefaultExecutor(conf);<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    // how many times we could try in total, one more than retry number<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    this.maxAttempts = conf.getInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER,<a name="line.115"></a>
+<span class="sourceLineNo">116</span>        HConstants.DEFAULT_HBASE_CLIENT_RETRIES_NUMBER) + 1;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    this.perRegionServerBufferQueueSize = perRegionServerBufferQueueSize;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    this.maxKeyValueSize = HTable.getMaxKeyValueSize(conf);<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    this.flushPeriod = conf.getLong(TABLE_MULTIPLEXER_FLUSH_PERIOD_MS, 100);<a name="line.119"></a>
+<span class="sourceLineNo">120</span>    int initThreads = conf.getInt(TABLE_MULTIPLEXER_INIT_THREADS, 10);<a name="line.120"></a>
+<span class="sourceLineNo">121</span>    this.executor =<a name="line.121"></a>
+<span class="sourceLineNo">122</span>        Executors.newScheduledThreadPool(initThreads,<a name="line.122"></a>
+<span class="sourceLineNo">123</span>          new ThreadFactoryBuilder().setDaemon(true).setNameFormat("HTableFlushWorker-%d").build());<a name="line.123"></a>
+<span class="sourceLineNo">124</span><a name="line.124"></a>
+<span class="sourceLineNo">125</span>    this.workerConf = HBaseConfiguration.create(conf);<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    // We do not do the retry because we need to reassign puts to different queues if regions are<a name="line.126"></a>
+<span class="sourceLineNo">127</span>    // moved.<a name="line.127"></a>
+<span class="sourceLineNo">128</span>    this.workerConf.setInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER, 0);<a name="line.128"></a>
+<span class="sourceLineNo">129</span>  }<a name="line.129"></a>
+<span class="sourceLineNo">130</span><a name="line.130"></a>
+<span class="sourceLineNo">131</span>  /**<a name="line.131"></a>
+<span class="sourceLineNo">132</span>   * Closes the internal {@link Connection}. Does nothing if the {@link Connection} has already<a name="line.132"></a>
+<span class="sourceLineNo">133</span>   * been closed.<a name="line.133"></a>
+<span class="sourceLineNo">134</span>   * @throws IOException If there is an error closing the connection.<a name="line.134"></a>
+<span class="sourceLineNo">135</span>   */<a name="line.135"></a>
+<span class="sourceLineNo">136</span>  @SuppressWarnings("deprecation")<a name="line.136"></a>
+<span class="sourceLineNo">137</span>  public synchronized void close() throws IOException {<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    if (!getConnection().isClosed()) {<a name="line.138"></a>
+<span class="sourceLineNo">139</span>      getConnection().close();<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    }<a name="line.140"></a>
+<span class="sourceLineNo">141</span>  }<a name="line.141"></a>
+<span class="sourceLineNo">142</span><a name="line.142"></a>
+<span class="sourceLineNo">143</span>  /**<a name="line.143"></a>
+<span class="sourceLineNo">144</span>   * The put request will be buffered by its corresponding buffer queue. Return false if the queue<a name="line.144"></a>
+<span class="sourceLineNo">145</span>   * is already full.<a name="line.145"></a>
+<span class="sourceLineNo">146</span>   * @param tableName<a name="line.146"></a>
+<span class="sourceLineNo">147</span>   * @param put<a name="line.147"></a>
+<span class="sourceLineNo">148</span>   * @return true if the request can be accepted by its corresponding buffer queue.<a name="line.148"></a>
+<span class="sourceLineNo">149</span>   */<a name="line.149"></a>
+<span class="sourceLineNo">150</span>  public boolean put(TableName tableName, final Put put) {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    return put(tableName, put, this.maxAttempts);<a name="line.151"></a>
+<span class="sourceLineNo">152</span>  }<a name="line.152"></a>
+<span class="sourceLineNo">153</span><a name="line.153"></a>
+<span class="sourceLineNo">154</span>  /**<a name="line.154"></a>
+<span class="sourceLineNo">155</span>   * The puts request will be buffered by their corresponding buffer queue.<a name="line.155"></a>
+<span class="sourceLineNo">156</span>   * Return the list of puts which could not be queued.<a name="line.156"></a>
+<span class="sourceLineNo">157</span>   * @param tableName<a name="line.157"></a>
+<span class="sourceLineNo">158</span>   * @param puts<a name="line.158"></a>
+<span class="sourceLineNo">159</span>   * @return the list of puts which could not be queued<a name="line.159"></a>
 <span class="sourceLineNo">160</span>   */<a name="line.160"></a>
-<span class="sourceLineNo">161</span>  @Deprecated<a name="line.161"></a>
-<span class="sourceLineNo">162</span>  public List&lt;Put&gt; put(byte[] tableName, final List&lt;Put&gt; puts) {<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    return put(TableName.valueOf(tableName), puts);<a name="line.163"></a>
-<span class="sourceLineNo">164</span>  }<a name="line.164"></a>
-<span class="sourceLineNo">165</span><a name="line.165"></a>
-<span class="sourceLineNo">166</span>  /**<a name="line.166"></a>
-<span class="sourceLineNo">167</span>   * The put request will be buffered by its corresponding buffer queue. And the put request will be<a name="line.167"></a>
-<span class="sourceLineNo">168</span>   * retried before dropping the request.<a name="line.168"></a>
-<span class="sourceLineNo">169</span>   * Return false if the queue is already full.<a name="line.169"></a>
-<span class="sourceLineNo">170</span>   * @return true if the request can be accepted by its corresponding buffer queue.<a name="line.170"></a>
-<span class="sourceLineNo">171</span>   */<a name="line.171"></a>
-<span class="sourceLineNo">172</span>  public boolean put(final TableName tableName, final Put put, int maxAttempts) {<a name="line.172"></a>
-<span class="sourceLineNo">173</span>    if (maxAttempts &lt;= 0) {<a name="line.173"></a>
-<span class="sourceLineNo">174</span>      return false;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    }<a name="line.175"></a>
-<span class="sourceLineNo">176</span><a name="line.176"></a>
-<span class="sourceLineNo">177</span>    try {<a name="line.177"></a>
-<span class="sourceLineNo">178</span>      HTable.validatePut(put, maxKeyValueSize);<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      HRegionLocation loc = conn.getRegionLocation(tableName, put.getRow(), false);<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      if (loc != null) {<a name="line.180"></a>
-<span class="sourceLineNo">181</span>        // Add the put pair into its corresponding queue.<a name="line.181"></a>
-<span class="sourceLineNo">182</span>        LinkedBlockingQueue&lt;PutStatus&gt; queue = getQueue(loc);<a name="line.182"></a>
-<span class="sourceLineNo">183</span><a name="line.183"></a>
-<span class="sourceLineNo">184</span>        // Generate a MultiPutStatus object and offer it into the queue<a name="line.184"></a>
-<span class="sourceLineNo">185</span>        PutStatus s = new PutStatus(loc.getRegionInfo(), put, maxAttempts);<a name="line.185"></a>
-<span class="sourceLineNo">186</span><a name="line.186"></a>
-<span class="sourceLineNo">187</span>        return queue.offer(s);<a name="line.187"></a>
-<span class="sourceLineNo">188</span>      }<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    } catch (IOException e) {<a name="line.189"></a>
-<span class="sourceLineNo">190</span>      LOG.debug("Cannot process the put " + put, e);<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    }<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    return false;<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>  /**<a name="line.195"></a>
-<span class="sourceLineNo">196</span>   * @deprecated Use {@link #put(TableName, Put) } instead.<a name="line.196"></a>
-<span class="sourceLineNo">197</span>   */<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  @Deprecated<a name="line.198"></a>
-<span class="sourceLineNo">199</span>  public boolean put(final byte[] tableName, final Put put, int retry) {<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    return put(TableName.valueOf(tableName), put, retry);<a name="line.200"></a>
-<span class="sourceLineNo">201</span>  }<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>  /**<a name="line.203"></a>
-<span class="sourceLineNo">204</span>   * @deprecated Use {@link #put(TableName, Put)} instead.<a name="line.204"></a>
-<span class="sourceLineNo">205</span>   */<a name="line.205"></a>
-<span class="sourceLineNo">206</span>  @Deprecated<a name="line.206"></a>
-<span class="sourceLineNo">207</span>  public boolean put(final byte[] tableName, Put put) {<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    return put(TableName.valueOf(tableName), put);<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>  /**<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   * @return the current HTableMultiplexerStatus<a name="line.212"></a>
-<span class="sourceLineNo">213</span>   */<a name="line.213"></a>
-<span class="sourceLineNo">214</span>  public HTableMultiplexerStatus getHTableMultiplexerStatus() {<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    return new HTableMultiplexerStatus(serverToFlushWorkerMap);<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span>  private LinkedBlockingQueue&lt;PutStatus&gt; getQueue(HRegionLocation addr) {<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    FlushWorker worker = serverToFlushWorkerMap.get(addr);<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    if (worker == null) {<a name="line.220"></a>
-<span class="sourceLineNo">221</span>      synchronized (this.serverToFlushWorkerMap) {<a name="line.221"></a>
-<span class="sourceLineNo">222</span>        worker = serverToFlushWorkerMap.get(addr);<a name="line.222"></a>
-<span class="sourceLineNo">223</span>        if (worker == null) {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>          // Create the flush worker<a name="line.224"></a>
-<span class="sourceLineNo">225</span>          worker = new FlushWorker(workerConf, this.conn, addr, this,<a name="line.225"></a>
-<span class="sourceLineNo">226</span>              perRegionServerBufferQueueSize, pool, executor);<a name="line.226"></a>
-<span class="sourceLineNo">227</span>          this.serverToFlushWorkerMap.put(addr, worker);<a name="line.227"></a>
-<span class="sourceLineNo">228</span>          executor.scheduleAtFixedRate(worker, flushPeriod, flushPeriod, TimeUnit.MILLISECONDS);<a name="line.228"></a>
-<span class="sourceLineNo">229</span>        }<a name="line.229"></a>
-<span class="sourceLineNo">230</span>      }<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    }<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    return worker.getQueue();<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  }<a name="line.233"></a>
-<span class="sourceLineNo">234</span><a name="line.234"></a>
-<span class="sourceLineNo">235</span>  /**<a name="line.235"></a>
-<span class="sourceLineNo">236</span>   * HTableMultiplexerStatus keeps track of the current status of the HTableMultiplexer.<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   * report the number of buffered requests and the number of the failed (dropped) requests<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   * in total or on per region server basis.<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   */<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  @InterfaceAudience.Public<a name="line.240"></a>
-<span class="sourceLineNo">241</span>  @InterfaceStability.Evolving<a name="line.241"></a>
-<span class="sourceLineNo">242</span>  public static class HTableMultiplexerStatus {<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    private long totalFailedPutCounter;<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    private long totalBufferedPutCounter;<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    private long maxLatency;<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    private long overallAverageLatency;<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    private Map&lt;String, Long&gt; serverToFailedCounterMap;<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    private Map&lt;String, Long&gt; serverToBufferedCounterMap;<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    private Map&lt;String, Long&gt; serverToAverageLatencyMap;<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    private Map&lt;String, Long&gt; serverToMaxLatencyMap;<a name="line.250"></a>
-<span class="sourceLineNo">251</span><a name="line.251"></a>
-<span class="sourceLineNo">252</span>    public HTableMultiplexerStatus(<a name="line.252"></a>
-<span class="sourceLineNo">253</span>        Map&lt;HRegionLocation, FlushWorker&gt; serverToFlushWorkerMap) {<a name="line.253"></a>
-<span class="sourceLineNo">254</span>      this.totalBufferedPutCounter = 0;<a name="line.254"></a>
-<span class="sourceLineNo">255</span>      this.totalFailedPutCounter = 0;<a name="line.255"></a>
-<span class="sourceLineNo">256</span>      this.maxLatency = 0;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>      this.overallAverageLatency = 0;<a name="line.257"></a>
-<span class="sourceLineNo">258</span>      this.serverToBufferedCounterMap = new HashMap&lt;String, Long&gt;();<a name="line.258"></a>
-<span class="sourceLineNo">259</span>      this.serverToFailedCounterMap = new HashMap&lt;String, Long&gt;();<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      this.serverToAverageLatencyMap = new HashMap&lt;String, Long&gt;();<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      this.serverToMaxLatencyMap = new HashMap&lt;String, Long&gt;();<a name="line.261"></a>
-<span class="sourceLineNo">262</span>      this.initialize(serverToFlushWorkerMap);<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>    private void initialize(<a name="line.265"></a>
-<span class="sourceLineNo">266</span>        Map&lt;HRegionLocation, FlushWorker&gt; serverToFlushWorkerMap) {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      if (serverToFlushWorkerMap == null) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>        return;<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>      long averageCalcSum = 0;<a name="line.271"></a>
-<span class="sourceLineNo">272</span>      int averageCalcCount = 0;<a name="line.272"></a>
-<span class="sourceLineNo">273</span>      for (Map.Entry&lt;HRegionLocation, FlushWorker&gt; entry : serverToFlushWorkerMap<a name="line.273"></a>
-<span class="sourceLineNo">274</span>          .entrySet()) {<a name="line.274"></a>
-<span class="sourceLineNo">275</span>        HRegionLocation addr = entry.getKey();<a name="line.275"></a>
-<span class="sourceLineNo">276</span>        FlushWorker worker = entry.getValue();<a name="line.276"></a>
-<span class="sourceLineNo">277</span><a name="line.277"></a>
-<span class="sourceLineNo">278</span>        long bufferedCounter = worker.getTotalBufferedCount();<a name="line.278"></a>
-<span class="sourceLineNo">279</span>        long failedCounter = worker.getTotalFailedCount();<a name="line.279"></a>
-<span class="sourceLineNo">280</span>        long serverMaxLatency = worker.getMaxLatency();<a name="line.280"></a>
-<span class="sourceLineNo">281</span>        AtomicAverageCounter averageCounter = worker.getAverageLatencyCounter();<a name="line.281"></a>
-<span class="sourceLineNo">282</span>        // Get sum and count pieces separately to compute overall average<a name="line.282"></a>
-<span class="sourceLineNo">283</span>        SimpleEntry&lt;Long, Integer&gt; averageComponents = averageCounter<a name="line.283"></a>
-<span class="sourceLineNo">284</span>            .getComponents();<a name="line.284"></a>
-<span class="sourceLineNo">285</span>        long serverAvgLatency = averageCounter.getAndReset();<a name="line.285"></a>
-<span class="sourceLineNo">286</span><a name="line.286"></a>
-<span class="sourceLineNo">287</span>        this.totalBufferedPutCounter += bufferedCounter;<a name="line.287"></a>
-<span class="sourceLineNo">288</span>        this.totalFailedPutCounter += failedCounter;<a name="line.288"></a>
-<span class="sourceLineNo">289</span>        if (serverMaxLatency &gt; this.maxLatency) {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>          this.maxLatency = serverMaxLatency;<a name="line.290"></a>
-<span class="sourceLineNo">291</span>        }<a name="line.291"></a>
-<span class="sourceLineNo">292</span>        averageCalcSum += averageComponents.getKey();<a name="line.292"></a>
-<span class="sourceLineNo">293</span>        averageCalcCount += averageComponents.getValue();<a name="line.293"></a>
-<span class="sourceLineNo">294</span><a name="line.294"></a>
-<span class="sourceLineNo">295</span>        this.serverToBufferedCounterMap.put(addr.getHostnamePort(),<a name="line.295"></a>
-<span class="sourceLineNo">296</span>            bufferedCounter);<a name="line.296"></a>
-<span class="sourceLineNo">297</span>        this.serverToFailedCounterMap<a name="line.297"></a>
-<span class="sourceLineNo">298</span>            .put(addr.getHostnamePort(),<a name="line.298"></a>
-<span class="sourceLineNo">299</span>            failedCounter);<a name="line.299"></a>
-<span class="sourceLineNo">300</span>        this.serverToAverageLatencyMap.put(addr.getHostnamePort(),<a name="line.300"></a>
-<span class="sourceLineNo">301</span>            serverAvgLatency);<a name="line.301"></a>
-<span class="sourceLineNo">302</span>        this.serverToMaxLatencyMap<a name="line.302"></a>
-<span class="sourceLineNo">303</span>            .put(addr.getHostnamePort(),<a name="line.303"></a>
-<span class="sourceLineNo">304</span>            serverMaxLatency);<a name="line.304"></a>
-<span class="sourceLineNo">305</span>      }<a name="line.305"></a>
-<span class="sourceLineNo">306</span>      this.overallAverageLatency = averageCalcCount != 0 ? averageCalcSum<a name="line.306"></a>
-<span class="sourceLineNo">307</span>          / averageCalcCount : 0;<a name="line.307"></a>
+<span class="sourceLineNo">161</span>  public List&lt;Put&gt; put(TableName tableName, final List&lt;Put&gt; puts) {<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    if (puts == null)<a name="line.162"></a>
+<span class="sourceLineNo">163</span>      return null;<a name="line.163"></a>
+<span class="sourceLineNo">164</span><a name="line.164"></a>
+<span class="sourceLineNo">165</span>    List &lt;Put&gt; failedPuts = null;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>    boolean result;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    for (Put put : puts) {<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      result = put(tableName, put, this.maxAttempts);<a name="line.168"></a>
+<span class="sourceLineNo">169</span>      if (result == false) {<a name="line.169"></a>
+<span class="sourceLineNo">170</span><a name="line.170"></a>
+<span class="sourceLineNo">171</span>        // Create the failed puts list if necessary<a name="line.171"></a>
+<span class="sourceLineNo">172</span>        if (failedPuts == null) {<a name="line.172"></a>
+<span class="sourceLineNo">173</span>          failedPuts = new ArrayList&lt;Put&gt;();<a name="line.173"></a>
+<span class="sourceLineNo">174</span>        }<a name="line.174"></a>
+<span class="sourceLineNo">175</span>        // Add the put to the failed puts list<a name="line.175"></a>
+<span class="sourceLineNo">176</span>        failedPuts.add(put);<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>    return failedPuts;<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>  /**<a name="line.182"></a>
+<span class="sourceLineNo">183</span>   * @deprecated Use {@link #put(TableName, List) } instead.<a name="line.183"></a>
+<span class="sourceLineNo">184</span>   */<a name="line.184"></a>
+<span class="sourceLineNo">185</span>  @Deprecated<a name="line.185"></a>
+<span class="sourceLineNo">186</span>  public List&lt;Put&gt; put(byte[] tableName, final List&lt;Put&gt; puts) {<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    return put(TableName.valueOf(tableName), puts);<a name="line.187"></a>
+<span class="sourceLineNo">188</span>  }<a name="line.188"></a>
+<span class="sourceLineNo">189</span><a name="line.189"></a>
+<span class="sourceLineNo">190</span>  /**<a name="line.190"></a>
+<span class="sourceLineNo">191</span>   * The put request will be buffered by its corresponding buffer queue. And the put request will be<a name="line.191"></a>
+<span class="sourceLineNo">192</span>   * retried before dropping the request.<a name="line.192"></a>
+<span class="sourceLineNo">193</span>   * Return false if the queue is already full.<a name="line.193"></a>
+<span class="sourceLineNo">194</span>   * @return true if the request can be accepted by its corresponding buffer queue.<a name="line.194"></a>
+<span class="sourceLineNo">195</span>   */<a name="line.195"></a>
+<span class="sourceLineNo">196</span>  public boolean put(final TableName tableName, final Put put, int maxAttempts) {<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    return _put(tableName, put, maxAttempts, false);<a name="line.197"></a>
+<span class="sourceLineNo">198</span>  }<a name="line.198"></a>
+<span class="sourceLineNo">199</span><a name="line.199"></a>
+<span class="sourceLineNo">200</span>  /**<a name="line.200"></a>
+<span class="sourceLineNo">201</span>   * Internal "put" which exposes a boolean flag to control whether or not the region location<a name="line.201"></a>
+<span class="sourceLineNo">202</span>   * cache should be reloaded when trying to queue the {@link Put}.<a name="line.202"></a>
+<span class="sourceLineNo">203</span>   * @param tableName Destination table for the Put<a name="line.203"></a>
+<span class="sourceLineNo">204</span>   * @param put The Put to send<a name="line.204"></a>
+<span class="sourceLineNo">205</span>   * @param maxAttempts Number of attempts to retry the {@code put}<a name="line.205"></a>
+<span class="sourceLineNo">206</span>   * @param reloadCache Should the region location cache be reloaded<a name="line.206"></a>
+<span class="sourceLineNo">207</span>   * @return true if the request was accepted in the queue, otherwise false<a name="line.207"></a>
+<span class="sourceLineNo">208</span>   */<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  boolean _put(final TableName tableName, final Put put, int maxAttempts, boolean reloadCache) {<a name="line.209"></a>
+<span class="sourceLineNo">210</span>    if (maxAttempts &lt;= 0) {<a name="line.210"></a>
+<span class="sourceLineNo">211</span>      return false;<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    }<a name="line.212"></a>
+<span class="sourceLineNo">213</span><a name="line.213"></a>
+<span class="sourceLineNo">214</span>    try {<a name="line.214"></a>
+<span class="sourceLineNo">215</span>      HTable.validatePut(put, maxKeyValueSize);<a name="line.215"></a>
+<span class="sourceLineNo">216</span>      // Allow mocking to get at the connection, but don't expose the connection to users.<a name="line.216"></a>
+<span class="sourceLineNo">217</span>      ClusterConnection conn = (ClusterConnection) getConnection();<a name="line.217"></a>
+<span class="sourceLineNo">218</span>      HRegionLocation loc = conn.getRegionLocation(tableName, put.getRow(), reloadCache);<a name="line.218"></a>
+<span class="sourceLineNo">219</span>      if (loc != null) {<a name="line.219"></a>
+<span class="sourceLineNo">220</span>        // Add the put pair into its corresponding queue.<a name="line.220"></a>
+<span class="sourceLineNo">221</span>        LinkedBlockingQueue&lt;PutStatus&gt; queue = getQueue(loc);<a name="line.221"></a>
+<span class="sourceLineNo">222</span><a name="line.222"></a>
+<span class="sourceLineNo">223</span>        // Generate a MultiPutStatus object and offer it into the queue<a name="line.223"></a>
+<span class="sourceLineNo">224</span>        PutStatus s = new PutStatus(loc.getRegionInfo(), put, maxAttempts);<a name="line.224"></a>
+<span class="sourceLineNo">225</span><a name="line.225"></a>
+<span class="sourceLineNo">226</span>        return queue.offer(s);<a name="line.226"></a>
+<span class="sourceLineNo">227</span>      }<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    } catch (IOException e) {<a name="line.228"></a>
+<span class="sourceLineNo">229</span>      LOG.debug("Cannot process the put " + put, e);<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    }<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    return false;<a name="line.231"></a>
+<span class="sourceLineNo">232</span>  }<a name="line.232"></a>
+<span class="sourceLineNo">233</span><a name="line.233"></a>
+<span class="sourceLineNo">234</span>  /**<a name="line.234"></a>
+<span class="sourceLineNo">235</span>   * @deprecated Use {@link #put(TableName, Put) } instead.<a name="line.235"></a>
+<span class="sourceLineNo">236</span>   */<a name="line.236"></a>
+<span class="sourceLineNo">237</span>  @Deprecated<a name="line.237"></a>
+<span class="sourceLineNo">238</span>  public boolean put(final byte[] tableName, final Put put, int retry) {<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    return put(TableName.valueOf(tableName), put, retry);<a name="line.239"></a>
+<span class="sourceLineNo">240</span>  }<a name="line.240"></a>
+<span class="sourceLineNo">241</span><a name="line.241"></a>
+<span class="sourceLineNo">242</span>  /**<a name="line.242"></a>
+<span class="sourceLineNo">243</span>   * @deprecated Use {@link #put(TableName, Put)} instead.<a name="line.243"></a>
+<span class="sourceLineNo">244</span>   */<a name="line.244"></a>
+<span class="sourceLineNo">245</span>  @Deprecated<a name="line.245"></a>
+<span class="sourceLineNo">246</span>  public boolean put(final byte[] tableName, Put put) {<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    return put(TableName.valueOf(tableName), put);<a name="line.247"></a>
+<span class="sourceLineNo">248</span>  }<a name="line.248"></a>
+<span class="sourceLineNo">249</span><a name="line.249"></a>
+<span class="sourceLineNo">250</span>  /**<a name="line.250"></a>
+<span class="sourceLineNo">251</span>   * @return the current HTableMultiplexerStatus<a name="line.251"></a>
+<span class="sourceLineNo">252</span>   */<a name="line.252"></a>
+<span class="sourceLineNo">253</span>  public HTableMultiplexerStatus getHTableMultiplexerStatus() {<a name="line.253"></a>
+<span class="sourceLineNo">254</span>    return new HTableMultiplexerStatus(serverToFlushWorkerMap);<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>  @VisibleForTesting<a name="line.257"></a>
+<span class="sourceLineNo">258</span>  LinkedBlockingQueue&lt;PutStatus&gt; getQueue(HRegionLocation addr) {<a name="line.258"></a>
+<span class="sourceLineNo">259</span>    FlushWorker worker = serverToFlushWorkerMap.get(addr);<a name="line.259"></a>
+<span class="sourceLineNo">260</span>    if (worker == null) {<a name="line.260"></a>
+<span class="sourceLineNo">261</span>      synchronized (this.serverToFlushWorkerMap) {<a name="line.261"></a>
+<span class="sourceLineNo">262</span>        worker = serverToFlushWorkerMap.get(addr);<a name="line.262"></a>
+<span class="sourceLineNo">263</span>        if (worker == null) {<a name="line.263"></a>
+<span class="sourceLineNo">264</span>          // Create the flush worker<a name="line.264"></a>
+<span class="sourceLineNo">265</span>          worker = new FlushWorker(workerConf, this.conn, addr, this,<a name="line.265"></a>
+<span class="sourceLineNo">266</span>              perRegionServerBufferQueueSize, pool, executor);<a name="line.266"></a>
+<span class="sourceLineNo">267</span>          this.serverToFlushWorkerMap.put(addr, worker);<a name="line.267"></a>
+<span class="sourceLineNo">268</span>          executor.scheduleAtFixedRate(worker, flushPeriod, flushPeriod, TimeUnit.MILLISECONDS);<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>    }<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    return worker.getQueue();<a name="line.272"></a>
+<span class="sourceLineNo">273</span>  }<a name="line.273"></a>
+<span class="sourceLineNo">274</span><a name="line.274"></a>
+<span class="sourceLineNo">275</span>  @VisibleForTesting<a name="line.275"></a>
+<span class="sourceLineNo">276</span>  ClusterConnection getConnection() {<a name="line.276"></a>
+<span class="sourceLineNo">277</span>    return this.conn;<a name="line.277"></a>
+<span class="sourceLineNo">278</span>  }<a name="line.278"></a>
+<span class="sourceLineNo">279</span><a name="line.279"></a>
+<span class="sourceLineNo">280</span>  /**<a name="line.280"></a>
+<span class="sourceLineNo">281</span>   * HTableMultiplexerStatus keeps track of the current status of the HTableMultiplexer.<a name="line.281"></a>
+<span class="sourceLineNo">282</span>   * report the number of buffered requests and the number of the failed (dropped) requests<a name="line.282"></a>
+<span class="sourceLineNo">283</span>   * in total or on per region server basis.<a name="line.283"></a>
+<span class="sourceLineNo">284</span>   */<a name="line.284"></a>
+<span class="sourceLineNo">285</span>  @InterfaceAudience.Public<a name="line.285"></a>
+<span class="sourceLineNo">286</span>  @InterfaceStability.Evolving<a name="line.286"></a>
+<span class="sourceLineNo">287</span>  public static class HTableMultiplexerStatus {<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    private long totalFailedPutCounter;<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    private long totalBufferedPutCounter;<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    private long maxLatency;<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    private long overallAverageLatency;<a name="line.291"></a>
+<span class="sourceLineNo">292</span>    private Map&lt;String, Long&gt; serverToFailedCounterMap;<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    private Map&lt;String, Long&gt; serverToBufferedCounterMap;<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    private Map&lt;String, Long&gt; serverToAverageLatencyMap;<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    private Map&lt;String, Long&gt; serverToMaxLatencyMap;<a name="line.295"></a>
+<span class="sourceLineNo">296</span><a name="line.296"></a>
+<span class="sourceLineNo">297</span>    public HTableMultiplexerStatus(<a name="line.297"></a>
+<span class="sourceLineNo">298</span>        Map&lt;HRegionLocation, FlushWorker&gt; serverToFlushWorkerMap) {<a name="line.298"></a>
+<span class="sourceLineNo">299</span>      this.totalBufferedPutCounter = 0;<a name="line.299"></a>
+<span class="sourceLineNo">300</span>      this.totalFailedPutCounter = 0;<a name="line.300"></a>
+<span class="sourceLineNo">301</span>      this.maxLatency = 0;<a name="line.301"></a>
+<span class="sourceLineNo">302</span>      this.overallAverageLatency = 0;<a name="line.302"></a>
+<span class="sourceLineNo">303</span>      this.serverToBufferedCounterMap = new HashMap&lt;String, Long&gt;();<a name="line.303"></a>
+<span class="sourceLineNo">304</span>      this.serverToFailedCounterMap = new HashMap&lt;String, Long&gt;();<a name="line.304"></a>
+<span class="sourceLineNo">305</span>      this.serverToAverageLatencyMap = new HashMap&lt;String, Long&gt;();<a name="line.305"></a>
+<span class="sourceLineNo">306</span>      this.serverToMaxLatencyMap = new HashMap&lt;String, Long&gt;();<a name="line.306"></a>
+<span class="sourceLineNo">307</span>      this.initialize(serverToFlushWorkerMap);<a name="line.307"></a>
 <span class="sourceLineNo">308</span>    }<a name="line.308"></a>
 <span class="sourceLineNo">309</span><a name="line.309"></a>
-<span class="sourceLineNo">310</span>    public long getTotalBufferedCounter() {<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      return this.totalBufferedPutCounter;<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    }<a name="line.312"></a>
-<span class="sourceLineNo">313</span><a name="line.313"></a>
-<span class="sourceLineNo">314</span>    public long getTotalFailedCounter() {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>      return this.totalFailedPutCounter;<a name="line.315"></a>
-<span class="sourceLineNo">316</span>    }<a name="line.316"></a>
-<span class="sourceLineNo">317</span><a name="line.317"></a>
-<span class="sourceLineNo">318</span>    public long getMaxLatency() {<a name="line.318"></a>
-<span class="sourceLineNo">319</span>      return this.maxLatency;<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    }<a name="line.320"></a>
-<span class="sourceLineNo">321</span><a name="line.321"></a>
-<span class="sourceLineNo">322</span>    public long getOverallAverageLatency() {<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      return this.overallAverageLatency;<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>    public Map&lt;String, Long&gt; getBufferedCounterForEachRegionServer() {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>      return this.serverToBufferedCounterMap;<a name="line.327"></a>
-<span class="sourceLineNo">328</span>    }<a name="line.328"></a>
-<span class="sourceLineNo">329</span><a name="line.329"></a>
-<span class="sourceLineNo">330</span>    public Map&lt;String, Long&gt; getFailedCounterForEachRegionServer() {<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      return this.serverToFailedCounterMap;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    }<a name="line.332"></a>
-<span class="sourceLineNo">333</span><a name="line.333"></a>
-<span class="sourceLineNo">334</span>    public Map&lt;String, Long&gt; getMaxLatencyForEachRegionServer() {<a name="line.334"></a>
-<span class="sourceLineNo">335</span>      return this.serverToMaxLatencyMap;<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    }<a name="line.336"></a>
-<span class="sourceLineNo">337</span><a name="line.337"></a>
-<span class="sourceLineNo">338</span>    public Map&lt;String, Long&gt; getAverageLatencyForEachRegionServer() {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>      return this.serverToAverageLatencyMap;<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    }<a name="line.340"></a>
-<span class="sourceLineNo">341</span>  }<a name="line.341"></a>
-<span class="sourceLineNo">342</span><a name="line.342"></a>
-<span class="sourceLineNo">343</span>  private static class PutStatus {<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    private final HRegionInfo regionInfo;<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    private final Put put;<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    private final int maxAttempCount;<a name="line.346"></a>
-<span class="sourceLineNo">347</span><a name="line.347"></a>
-<span class="sourceLineNo">348</span>    public PutStatus(HRegionInfo regionInfo, Put put, int maxAttempCount) {<a name="line.348"></a>
-<span class="sourceLineNo">349</span>      this.regionInfo = regionInfo;<a name="line.349"></a>
-<span class="sourceLineNo">350</span>      this.put = put;<a name="line.350"></a>
-<span class="sourceLineNo">351</span>      this.maxAttempCount = maxAttempCount;<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    }<a name="line.352"></a>
-<span class="sourceLineNo">353</span>  }<a name="line.353"></a>
+<span class="sourceLineNo">310</span>    private void initialize(<a name="line.310"></a>
+<span class="sourceLineNo">311</span>        Map&lt;HRegionLocation, FlushWorker&gt; serverToFlushWorkerMap) {<a name="line.311"></a>
+<span class="sourceLineNo">312</span>      if (serverToFlushWorkerMap == null) {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>        return;<a name="line.313"></a>
+<span class="sourceLineNo">314</span>      }<a name="line.314"></a>
+<span class="sourceLineNo">315</span><a name="line.315"></a>
+<span class="sourceLineNo">316</span>      long averageCalcSum = 0;<a name="line.316"></a>
+<span class="sourceLineNo">317</span>      int averageCalcCount = 0;<a name="line.317"></a>
+<span class="sourceLineNo">318</span>      for (Map.Entry&lt;HRegionLocation, FlushWorker&gt; entry : serverToFlushWorkerMap<a name="line.318"></a>
+<span class="sourceLineNo">319</span>          .entrySet()) {<a name="line.319"></a>
+<span class="sourceLineNo">320</span>        HRegionLocation addr = entry.getKey();<a name="line.320"></a>
+<span class="sourceLineNo">321</span>        FlushWorker worker = entry.getValue();<a name="line.321"></a>
+<span class="sourceLineNo">322</span><a name="line.322"></a>
+<span class="sourceLineNo">323</span>        long bufferedCounter = worker.getTotalBufferedCount();<a name="line.323"></a>
+<span class="sourceLineNo">324</span>        long failedCounter = worker.getTotalFailedCount();<a name="line.324"></a>
+<span class="sourceLineNo">325</span>        long serverMaxLatency = worker.getMaxLatency();<a name="line.325"></a>
+<span class="sourceLineNo">326</span>        AtomicAverageCounter averageCounter = worker.getAverageLatencyCounter();<a name="line.326"></a>
+<span class="sourceLineNo">327</span>        // Get sum and count pieces separately to compute overall average<a name="line.327"></a>
+<span class="sourceLineNo">328</span>        SimpleEntry&lt;Long, Integer&gt; averageComponents = averageCounter<a name="line.328"></a>
+<span class="sourceLineNo">329</span>            .getComponents();<a name="line.329"></a>
+<span class="sourceLineNo">330</span>        long serverAvgLatency = averageCounter.getAndReset();<a name="line.330"></a>
+<span class="sourceLineNo">331</span><a name="line.331"></a>
+<span class="sourceLineNo">332</span>        this.totalBufferedPutCounter += bufferedCounter;<a name="line.332"></a>
+<span class="sourceLineNo">333</span>        this.totalFailedPutCounter += failedCounter;<a name="line.333"></a>
+<span class="sourceLineNo">334</span>        if (serverMaxLatency &gt; this.maxLatency) {<a name="line.334"></a>
+<span class="sourceLineNo">335</span>          this.maxLatency = serverMaxLatency;<a name="line.335"></a>
+<span class="sourceLineNo">336</span>        }<a name="line.336"></a>
+<span class="sourceLineNo">337</span>        averageCalcSum += averageComponents.getKey();<a name="line.337"></a>
+<span class="sourceLineNo">338</span>        averageCalcCount += averageComponents.getValue();<a name="line.338"></a>
+<span class="sourceLineNo">339</span><a name="line.339"></a>
+<span class="sourceLineNo">340</span>        this.serverToBufferedCounterMap.put(addr.getHostnamePort(),<a name="line.340"></a>
+<span class="sourceLineNo">341</span>            bufferedCounter);<a name="line.341"></a>
+<span class="sourceLineNo">342</span>        this.serverToFailedCounterMap<a name="line.342"></a>
+<span class="sourceLineNo">343</span>            .put(addr.getHostnamePort(),<a name="line.343"></a>
+<span class="sourceLineNo">344</span>            failedCounter);<a name="line.344"></a>
+<span class="sourceLineNo">345</span>        this.serverToAverageLatencyMap.put(addr.getHostnamePort(),<a name="line.345"></a>
+<span class="sourceLineNo">346</span>            serverAvgLatency);<a name="line.346"></a>
+<span class="sourceLineNo">347</span>        this.serverToMaxLatencyMap<a name="line.347"></a>
+<span class="sourceLineNo">348</span>            .put(addr.getHostnamePort(),<a name="line.348"></a>
+<span class="sourceLineNo">349</span>            serverMaxLatency);<a name="line.349"></a>
+<span class="sourceLineNo">350</span>      }<a name="line.350"></a>
+<span class="sourceLineNo">351</span>      this.overallAverageLatency = averageCalcCount != 0 ? averageCalcSum<a name="line.351"></a>
+<span class="sourceLineNo">352</span>          / averageCalcCount : 0;<a name="line.352"></a>
+<span class="sourceLineNo">353</span>    }<a name="line.353"></a>
 <span class="sourceLineNo">354</span><a name="line.354"></a>
-<span class="sourceLineNo">355</span>  /**<a name="line.355"></a>
-<span class="sourceLineNo">356</span>   * Helper to count the average over an interval until reset.<a name="line.356"></a>
-<span class="sourceLineNo">357</span>   */<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  private static class AtomicAverageCounter {<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    private long sum;<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    private int count;<a name="line.360"></a>
-<span class="sourceLineNo">361</span><a name="line.361"></a>
-<span class="sourceLineNo">362</span>    public AtomicAverageCounter() {<a name="line.362"></a>
-<span class="sourceLineNo">363</span>      this.sum = 0L;<a name="line.363"></a>
-<span class="sourceLineNo">364</span>      this.count = 0;<a name="line.364"></a>
+<span class="sourceLineNo">355</span>    public long getTotalBufferedCounter() {<a name="line.355"></a>
+<span class="sourceLineNo">356</span>      return this.totalBufferedPutCounter;<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>    public long getTotalFailedCounter() {<a name="line.359"></a>
+<span class="sourceLineNo">360</span>      return this.totalFailedPutCounter;<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>    public long getMaxLatency() {<a name="line.363"></a>
+<span class="sourceLineNo">364</span>      return this.maxLatency;<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>    public synchronized long getAndReset() {<a name="line.367"></a>
-<span class="sourceLineNo">368</span>      long result = this.get();<a name="line.368"></a>
-<span class="sourceLineNo">369</span>      this.reset();<a name="line.369"></a>
-<span class="sourceLineNo">370</span>      return result;<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>    public synchronized long get() {<a name="line.373"></a>
-<span class="sourceLineNo">374</span>      if (this.count == 0) {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>        return 0;<a name="line.375"></a>
-<span class="sourceLineNo">376</span>      }<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      return this.sum / this.count;<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>    public synchronized SimpleEntry&lt;Long, Integer&gt; getComponents() {<a name="line.380"></a>
-<span class="sourceLineNo">381</span>      return new SimpleEntry&lt;Long, Integer&gt;(sum, count);<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    }<a name="line.382"></a>
-<span class="sourceLineNo">383</span><a name="line.383"></a>
-<span class="sourceLineNo">384</span>    public synchronized void reset() {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>      this.sum = 0L;<a name="line.385"></a>
-<span class="sourceLineNo">386</span>      this.count = 0;<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    }<a name="line.387"></a>
-<span class="sourceLineNo">388</span><a name="line.388"></a>
-<span class="sourceLineNo">389</span>    public synchronized void add(long value) {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>      this.sum += value;<a name="line.390"></a>
-<span class="sourceLineNo">391</span>      this.count++;<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    }<a name="line.392"></a>
-<span class="sourceLineNo">393</span>  }<a name="line.393"></a>
-<span class="sourceLineNo">394</span><a name="line.394"></a>
-<span class="sourceLineNo">395</span>  private static class FlushWorker implements Runnable {<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    private final HRegionLocation addr;<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    private final LinkedBlockingQueue&lt;PutStatus&gt; queue;<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    private final HTableMultiplexer multiplexer;<a name="line.398"></a>
-<span class="sourceLineNo">399</span>    private final AtomicLong totalFailedPutCount = new AtomicLong(0);<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    private final AtomicInteger currentProcessingCount = new AtomicInteger(0);<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    private final AtomicAverageCounter averageLatency = new AtomicAverageCounter();<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    private final AtomicLong maxLatency = new AtomicLong(0);<a name="line.402"></a>
-<span class="sourceLineNo">403</span><a name="line.403"></a>
-<span class="sourceLineNo">404</span>    private final AsyncProcess ap;<a name="line.404"></a>
-<span class="sourceLineNo">405</span>    private final List&lt;PutStatus&gt; processingList = new ArrayList&lt;&gt;();<a name="line.405"></a>
-<span class="sourceLineNo">406</span>    private final ScheduledExecutorService executor;<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    private final int maxRetryInQueue;<a name="line.407"></a>
-<span class="sourceLineNo">408</span>    private final AtomicInteger retryInQueue = new AtomicInteger(0);<a name="line.408"></a>
-<span class="sourceLineNo">409</span><a name="line.409"></a>
-<span class="sourceLineNo">410</span>    public FlushWorker(Configuration conf, ClusterConnection conn, HRegionLocation addr,<a name="line.410"></a>
-<span class="sourceLineNo">411</span>        HTableMultiplexer htableMultiplexer, int perRegionServerBufferQueueSize,<a name="line.411"></a>
-<span class="sourceLineNo">412</span>        ExecutorService pool, ScheduledExecutorService executor) {<a name="line.412"></a>
-<span class="sourceLineNo">413</span>      this.addr = addr;<a name="line.413"></a>
-<span class="sourceLineNo">414</span>      this.multiplexer = htableMultiplexer;<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      this.queue = new LinkedBlockingQueue&lt;&gt;(perRegionServerBufferQueueSize);<a name="line.415"></a>
-<span class="sourceLineNo">416</span>      RpcRetryingCallerFactory rpcCallerFactory = RpcRetryingCallerFactory.instantiate(conf);<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      RpcControllerFactory rpcControllerFactory = RpcControllerFactory.instantiate(conf);<a name="line.417"></a>
-<span class="sourceLineNo">418</span>      this.ap = new AsyncProcess(conn, conf, pool, rpcCallerFactory, false, rpcControllerFactory);<a name="line.418"></a>
-<span class="sourceLineNo">419</span>      this.executor = executor;<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      this.maxRetryInQueue = conf.getInt(TABLE_MULTIPLEXER_MAX_RETRIES_IN_QUEUE, 10000);<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    }<a name="line.421"></a>
-<span class="sourceLineNo">422</span><a name="line.422"></a>
-<span class="sourceLineNo">423</span>    protected LinkedBlockingQueue&lt;PutStatus&gt; getQueue() {<a name="line.423"></a>
-<span class="sourceLineNo">424</span>      return this.queue;<a name="line.424"></a>
-<span class="sourceLineNo">425</span>    }<a name="line.425"></a>
-<span class="sourceLineNo">426</span><a name="line.426"></a>
-<span class="sourceLineNo">427</span>    public long getTotalFailedCount() {<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      return totalFailedPutCount.get();<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>    public long getTotalBufferedCount() {<a name="line.431"></a>
-<span class="sourceLineNo">432</span>      return queue.size() + currentProcessingCount.get();<a name="line.432"></a>
+<span class="sourceLineNo">367</span>    public long getOverallAverageLatency() {<a name="line.367"></a>
+<span class="sourceLineNo">368</span>      return this.overallAverageLatency;<a name="line.368"></a>
+<span class="sourceLineNo">369</span>    }<a name="line.369"></a>
+<span class="sourceLineNo">370</span><a name="line.370"></a>
+<span class="sourceLineNo">371</span>    public Map&lt;String, Long&gt; getBufferedCounterForEachRegionServer() {<a name="line.371"></a>
+<span class="sourceLineNo">372</span>      return this.serverToBufferedCounterMap;<a name="line.372"></a>
+<span class="sourceLineNo">373</span>    }<a name="line.373"></a>
+<span class="sourceLineNo">374</span><a name="line.374"></a>
+<span class="sourceLineNo">375</span>    public Map&lt;String, Long&gt; getFailedCounterForEachRegionServer() {<a name="line.375"></a>
+<span class="sourceLineNo">376</span>      return this.serverToFailedCounterMap;<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    }<a name="line.377"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>    public Map&lt;String, Long&gt; getMaxLatencyForEachRegionServer() {<a name="line.379"></a>
+<span class="sourceLineNo">380</span>      return this.serverToMaxLatencyMap;<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>    public Map&lt;String, Long&gt; getAverageLatencyForEachRegionServer() {<a name="line.383"></a>
+<span class="sourceLineNo">384</span>      return this.serverToAverageLatencyMap;<a name="line.384"></a>
+<span class="sourceLineNo">385</span>    }<a name="line.385"></a>
+<span class="sourceLineNo">386</span>  }<a name="line.386"></a>
+<span class="sourceLineNo">387</span><a name="line.387"></a>
+<span class="sourceLineNo">388</span>  @VisibleForTesting<a name="line.388"></a>
+<span class="sourceLineNo">389</span>  static class PutStatus {<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    final HRegionInfo regionInfo;<a name="line.390"></a>
+<span class="sourceLineNo">391</span>    final Put put;<a name="line.391"></a>
+<span class="sourceLineNo">392</span>    final int maxAttempCount;<a name="line.392"></a>
+<span class="sourceLineNo">393</span><a name="line.393"></a>
+<span class="sourceLineNo">394</span>    public PutStatus(HRegionInfo regionInfo, Put put, int maxAttempCount) {<a name="line.394"></a>
+<span class="sourceLineNo">395</span>      this.regionInfo = regionInfo;<a name="line.395"></a>
+<span class="sourceLineNo">396</span>      this.put = put;<a name="line.396"></a>
+<span class="sourceLineNo">397</span>      this.maxAttempCount = maxAttempCount;<a name="line.397"></a>
+<span class="sourceLineNo">398</span>    }<a name="line.398"></a>
+<span class="sourceLineNo">399</span>  }<a name="line.399"></a>
+<span class="sourceLineNo">400</span><a name="line.400"></a>
+<span class="sourceLineNo">401</span>  /**<a name="line.401"></a>
+<span class="sourceLineNo">402</span>   * Helper to count the average over an interval until reset.<a name="line.402"></a>
+<span class="sourceLineNo">403</span>   */<a name="line.403"></a>
+<span class="sourceLineNo">404</span>  private static class AtomicAverageCounter {<a name="line.404"></a>
+<span class="sourceLineNo">405</span>    private long sum;<a name="line.405"></a>
+<span class="sourceLineNo">406</span>    private int count;<a name="line.406"></a>
+<span class="sourceLineNo">407</span><a name="line.407"></a>
+<span class="sourceLineNo">408</span>    public AtomicAverageCounter() {<a name="line.408"></a>
+<span class="sourceLineNo">409</span>      this.sum = 0L;<a name="line.409"></a>
+<span class="sourceLineNo">410</span>      this.count = 0;<a name="line.410"></a>
+<span class="sourceLineNo">411</span>    }<a name="line.411"></a>
+<span class="sourceLineNo">412</span><a name="line.412"></a>
+<span class="sourceLineNo">413</span>    public synchronized long getAndReset() {<a name="line.413"></a>
+<span class="sourceLineNo">414</span>      long result = this.get();<a name="line.414"></a>
+<span class="sourceLineNo">415</span>      this.reset();<a name="line.415"></a>
+<span class="sourceLineNo">416</span>      return result;<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>    public synchronized long get() {<a name="line.419"></a>
+<span class="sourceLineNo">420</span>      if (this.count == 0) {<a name="line.420"></a>
+<span class="sourceLineNo">421</span>        return 0;<a name="line.421"></a>
+<span class="sourceLineNo">422</span>      }<a name="line.422"></a>
+<span class="sourceLineNo">423</span>      return this.sum / this.count;<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>    public synchronized SimpleEntry&lt;Long, Integer&gt; getComponents() {<a name="line.426"></a>
+<span class="sourceLineNo">427</span>      return new SimpleEntry&lt;Long, Integer&gt;(sum, count);<a name="line.427"></a>
+<span class="sourceLineNo">428</span>    }<a name="line.428"></a>
+<span class="sourceLineNo">429</span><a name="line.429"></a>
+<span class="sourceLineNo">430</span>    public synchronized void reset() {<a name="line.430"></a>
+<span class="sourceLineNo">431</span>      this.sum = 0L;<a name="line.431"></a>
+<span class="sourceLineNo">432</span>      this.count = 0;<a name="line.432"></a>
 <span class="sourceLineNo">433</span>    }<a name="line.433"></a>
 <span class="sourceLineNo">434</span><a name="line.434"></a>
-<span class="sourceLineNo">435</span>    public AtomicAverageCounter getAverageLatencyCounter() {<a name="line.435"></a>
-<span class="sourceLineNo">436</span>      return this.averageLatency;<a name="line.436"></a>
-<span class="sourceLineNo">437</span>    }<a name="line.437"></a>
-<span class="sourceLineNo">438</span><a name="line.438"></a>
-<span class="sourceLineNo">439</span>    public long getMaxLatency() {<a name="line.439"></a>
-<span class="sourceLineNo">440</span>      return this.maxLatency.getAndSet(0);<a name="line.440"></a>
-<span class="sourceLineNo">441</span>    }<a name="line.441"></a>
-<span class="sourceLineNo">442</span><a name="line.442"></a>
-<span class="sourceLineNo">443</span>    private boolean resubmitFailedPut(PutStatus ps, HRegionLocation oldLoc) throws IOException {<a name="line.443"></a>
-<span class="sourceLineNo">444</span>      // Decrease the retry count<a name="line.444"></a>
-<span class="sourceLineNo">445</span>      final int retryCount = ps.maxAttempCount - 1;<a name="line.445"></a>
-<span class="sourceLineNo">446</span><a name="line.446"></a>
-<span class="sourceLineNo">447</span>      if (retryCount &lt;= 0) {<a name="line.447"></a>
-<span class="sourceLineNo">448</span>        // Update the failed counter and no retry any more.<a name="line.448"></a>
-<span class="sourceLineNo">449</span>        return false;<a name="line.449"></a>
-<span class="sourceLineNo">450</span>      }<a name="line.450"></a>
-<span class="sourceLineNo">451</span><a name="line.451"></a>
-<span class="sourceLineNo">452</span>      int cnt = retryInQueue.incrementAndGet();<a name="line.452"></a>
-<span class="sourceLineNo">453</span>      if (cnt &gt; maxRetryInQueue) {<a name="line.453"></a>
-<span class="sourceLineNo">454</span>        // Too many Puts in queue for resubmit, give up this<a name="line.454"></a>
-<span class="sourceLineNo">455</span>        retryInQueue.decrementAndGet();<a name="line.455"></a>
-<span class="sourceLineNo">456</span>        return false;<a name="line.456"></a>
-<span class="sourceLineNo">457</span>      }<a name="line.457"></a>
-<span class="sourceLineNo">458</span><a name="line.458"></a>
-<span class="sourceLineNo">459</span>      final Put failedPut = ps.put;<a name="line.459"></a>
-<span class="sourceLineNo">460</span>      // The currentPut is failed. So get the table name for the currentPut.<a name="line.460"></a>
-<span class="sourceLineNo">461</span>      final TableName tableName = ps.regionInfo.getTable();<a name="line.461"></a>
-<span class="sourceLineNo">462</span><a name="line.462"></a>
-<span class="sourceLineNo">463</span>      long delayMs = ConnectionUtils.getPauseTime(multiplexer.flushPeriod,<a name="line.463"></a>
-<span class="sourceLineNo">464</span>        multiplexer.maxAttempts - retryCount - 1);<a name="line.464"></a>
-<span class="sourceLineNo">465</span>      if (LOG.isDebugEnabled()) {<a name="line.465"></a>
-<span class="sourceLineNo">466</span>        LOG.debug("resubmitting after " + delayMs + "ms: " + retryCount);<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>      executor.schedule(new Runnable() {<a name="line.469"></a>
-<span class="sourceLineNo">470</span>        @Override<a name="line.470"></a>
-<span class="sourceLineNo">471</span>        public void run() {<a name="line.471"></a>
-<span class="sourceLineNo">472</span>          boolean succ = false;<a name="line.472"></a>
-<span class="sourceLineNo">473</span>          try {<a name="line.473"></a>
-<span class="sourceLineNo">474</span>            succ = FlushWorker.this.multiplexer.put(tableName, failedPut, retryCount);<a name="line.474"></a>
-<span class="sourceLineNo">475</span>          } finally {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>            FlushWorker.this.retryInQueue.decrementAndGet();<a name="line.476"></a>
-<span class="sourceLineNo">477</span>            if (!succ) {<a name="line.477"></a>
-<span class="sourceLineNo">478</span>              FlushWorker.this.totalFailedPutCount.incrementAndGet();<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>      }, delayMs, TimeUnit.MILLISECONDS);<a name="line.482"></a>
-<span class="sourceLineNo">483</span>      return true;<a name="line.483"></a>
+<span class="sourceLineNo">435</span>    public synchronized void add(long value) {<a name="line.435"></a>
+<span class="sourceLineNo">436</span>      this.sum += value;<a name="line.436"></a>
+<span class="sourceLineNo">437</span>      this.count++;<a name="line.437"></a>
+<span class="sourceLineNo">438</span>    }<a name="line.438"></a>
+<span class="sourceLineNo">439</span>  }<a name="line.439"></a>
+<span class="sourceLineNo">440</span><a name="line.440"></a>
+<span class="sourceLineNo">441</span>  @VisibleForTesting<a name="line.441"></a>
+<span class="sourceLineNo">442</span>  static class FlushWorker implements Runnable {<a name="line.442"></a>
+<span class="sourceLineNo">443</span>    private final HRegionLocation addr;<a name="line.443"></a>
+<span class="sourceLineNo">444</span>    private final LinkedBlockingQueue&lt;PutStatus&gt; queue;<a name="line.444"></a>
+<span class="sourceLineNo">445</span>    private final HTableMultiplexer multiplexer;<a name="line.445"></a>
+<span class="sourceLineNo">446</span>    private final AtomicLong totalFailedPutCount = new AtomicLong(0);<a name="line.446"></a>
+<span class="sourceLineNo">447</span>    private final AtomicInteger currentProcessingCount = new AtomicInteger(0);<a name="line.447"></a>
+<span class="sourceLineNo">448</span>    private final AtomicAverageCounter averageLatency = new AtomicAverageCounter();<a name="line.448"></a>
+<span class="sourceLineNo">449</span>    private final AtomicLong maxLatency = new AtomicLong(0);<a name="line.449"></a>
+<span class="sourceLineNo">450</span><a name="line.450"></a>
+<span class="sourceLineNo">451</span>    private final AsyncProcess ap;<a name="line.451"></a>
+<span class="sourceLineNo">452</span>    private final List&lt;PutStatus&gt; processingList = new ArrayList&lt;&gt;();<a name="line.452"></a>
+<span class="sourceLineNo">453</span>    private final ScheduledExecutorService executor;<a name="line.453"></a>
+<span class="sourceLineNo">454</span>    private final int maxRetryInQueue;<a name="line.454"></a>
+<span class="sourceLineNo">455</span>    private final AtomicInteger retryInQueue = new AtomicInteger(0);<a name="line.455"></a>
+<span class="sourceLineNo">456</span><a name="line.456"></a>
+<span class="sourceLineNo">457</span>    public FlushWorker(Configuration conf, ClusterConnection conn, HRegionLocation addr,<a name="line.457"></a>
+<span class="sourceLineNo">458</span>        HTableMultiplexer htableMultiplexer, int perRegionServerBufferQueueSize,<a name="line.458"></a>
+<span class="sourceLineNo">459</span>        ExecutorService pool, ScheduledExecutorService executor) {<a name="line.459"></a>
+<span class="sourceLineNo">460</span>      this.addr = addr;<a name="line.460"></a>
+<span class="sourceLineNo">461</span>      this.multiplexer = htableMultiplexer;<a name="line.461"></a>
+<span class="sourceLineNo">462</span>      this.queue = new LinkedBlockingQueue&lt;&gt;(perRegionServerBufferQueueSize);<a name="line.462"></a>
+<span class="sourceLineNo">463</span>      RpcRetryingCallerFactory rpcCallerFactory = RpcRetryingCallerFactory.instantiate(conf);<a name="line.463"></a>
+<span class="sourceLineNo">464</span>      RpcControllerFactory rpcControllerFactory = RpcControllerFactory.instantiate(conf);<a name="line.464"></a>
+<span class="sourceLineNo">465</span>      this.ap = new AsyncProcess(conn, conf, pool, rpcCallerFactory, false, rpcControllerFactory);<a name="line.465"></a>
+<span class="sourceLineNo">466</span>      this.executor = executor;<a name="line.466"></a>
+<span class="sourceLineNo">467</span>      this.maxRetryInQueue = conf.getInt(TABLE_MULTIPLEXER_MAX_RETRIES_IN_QUEUE, 10000);<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>    protected LinkedBlockingQueue&lt;PutStatus&gt; getQueue() {<a name="line.470"></a>
+<spa

<TRUNCATED>

[29/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/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 f5a606a..b5c604b 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
@@ -264,49 +264,49 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/Master
 <pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.62">master</a></pre>
 </li>
 </ul>
-<a name="frags">
+<a name="format">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>frags</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.63">frags</a></pre>
+<h4>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="serverManager">
+<a name="assignmentManager">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>serverManager</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.64">serverManager</a></pre>
+<h4>assignmentManager</h4>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.64">assignmentManager</a></pre>
 </li>
 </ul>
-<a name="assignmentManager">
+<a name="frags">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>assignmentManager</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.65">assignmentManager</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.65">frags</a></pre>
 </li>
 </ul>
-<a name="servers">
+<a name="serverManager">
 <!--   -->
 </a>
 <ul class="blockList">
 <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.66">servers</a></pre>
+<h4>serverManager</h4>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.66">serverManager</a></pre>
 </li>
 </ul>
-<a name="metaLocation">
+<a name="deadServers">
 <!--   -->
 </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.67">metaLocation</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.67">deadServers</a></pre>
 </li>
 </ul>
 <a name="filter">
@@ -318,31 +318,31 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/Master
 <pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/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>
 </li>
 </ul>
-<a name="deadServers">
+<a name="catalogJanitorEnabled">
 <!--   -->
 </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.69">deadServers</a></pre>
+<h4>catalogJanitorEnabled</h4>
+<pre>private final&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.69">catalogJanitorEnabled</a></pre>
 </li>
 </ul>
-<a name="format">
+<a name="servers">
 <!--   -->
 </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.70">format</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.70">servers</a></pre>
 </li>
 </ul>
-<a name="catalogJanitorEnabled">
+<a name="metaLocation">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>catalogJanitorEnabled</h4>
-<pre>private final&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.71">catalogJanitorEnabled</a></pre>
+<h4>metaLocation</h4>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.71">metaLocation</a></pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/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 4cc2ce5..0f85dd7 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
@@ -279,58 +279,58 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
 <pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.71">m_regionServer</a></pre>
 </li>
 </ul>
-<a name="m_filter">
+<a name="m_bcv">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_filter</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.83">m_filter</a></pre>
+<h4>m_bcv</h4>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.83">m_bcv</a></pre>
 </li>
 </ul>
-<a name="m_filter__IsNotDefault">
+<a name="m_bcv__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_filter__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.88">m_filter__IsNotDefault</a></pre>
+<h4>m_bcv__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.88">m_bcv__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_bcv">
+<a name="m_bcn">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_bcv</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.100">m_bcv</a></pre>
+<h4>m_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.100">m_bcn</a></pre>
 </li>
 </ul>
-<a name="m_bcv__IsNotDefault">
+<a name="m_bcn__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_bcv__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.105">m_bcv__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.105">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.117">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.117">m_filter</a></pre>
 </li>
 </ul>
-<a name="m_bcn__IsNotDefault">
+<a name="m_filter__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <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.122">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.122">m_filter__IsNotDefault</a></pre>
 </li>
 </ul>
 <a name="m_format">
@@ -394,85 +394,85 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
 <pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.67">getRegionServer</a>()</pre>
 </li>
 </ul>
-<a name="setFilter(java.lang.String)">
+<a name="setBcv(java.lang.String)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFilter</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.73">setFilter</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filter)</pre>
+<h4>setBcv</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.73">setBcv</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;bcv)</pre>
 </li>
 </ul>
-<a name="getFilter()">
+<a name="getBcv()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFilter</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.79">getFilter</a>()</pre>
+<h4>getBcv</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.79">getBcv</a>()</pre>
 </li>
 </ul>
-<a name="getFilter__IsNotDefault()">
+<a name="getBcv__IsNotDefault()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFilter__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.84">getFilter__IsNotDefault</a>()</pre>
+<h4>getBcv__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.84">getBcv__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setBcv(java.lang.String)">
+<a name="setBcn(java.lang.String)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setBcv</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.90">setBcv</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;bcv)</pre>
+<h4>setBcn</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.90">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="getBcv()">
+<a name="getBcn()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getBcv</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.96">getBcv</a>()</pre>
+<h4>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.96">getBcn</a>()</pre>
 </li>
 </ul>
-<a name="getBcv__IsNotDefault()">
+<a name="getBcn__IsNotDefault()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getBcv__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.101">getBcv__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.101">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.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>
+<h4>setFilter</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.107">setFilter</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filter)</pre>
 </li>
 </ul>
-<a name="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.113">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.113">getFilter</a>()</pre>
 </li>
 </ul>
-<a name="getBcn__IsNotDefault()">
+<a name="getFilter__IsNotDefault()">
 <!--   -->
 </a>
 <ul class="blockList">
 <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.118">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.118">getFilter__IsNotDefault</a>()</pre>
 </li>
 </ul>
 <a name="setFormat(java.lang.String)">

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

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/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 d8685f1..ab0d2a0 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
@@ -462,12 +462,12 @@
 <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/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/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/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/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.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/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/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/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>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/org/apache/hadoop/hbase/wal/WALKey.Version.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/WALKey.Version.html b/devapidocs/org/apache/hadoop/hbase/wal/WALKey.Version.html
index 87f2b1b..2c9a3f6 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/WALKey.Version.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/WALKey.Version.html
@@ -109,7 +109,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>
-protected static enum <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.123">WALKey.Version</a>
+protected static enum <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.126">WALKey.Version</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/wal/WALKey.Version.html" title="enum in org.apache.hadoop.hbase.wal">WALKey.Version</a>&gt;</pre>
 </li>
 </ul>
@@ -231,7 +231,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>UNVERSIONED</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.Version.html" title="enum in org.apache.hadoop.hbase.wal">WALKey.Version</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.Version.html#line.124">UNVERSIONED</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.Version.html" title="enum in org.apache.hadoop.hbase.wal">WALKey.Version</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.Version.html#line.127">UNVERSIONED</a></pre>
 </li>
 </ul>
 <a name="INITIAL">
@@ -240,7 +240,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>INITIAL</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.Version.html" title="enum in org.apache.hadoop.hbase.wal">WALKey.Version</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.Version.html#line.126">INITIAL</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.Version.html" title="enum in org.apache.hadoop.hbase.wal">WALKey.Version</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.Version.html#line.129">INITIAL</a></pre>
 </li>
 </ul>
 <a name="COMPRESSED">
@@ -249,7 +249,7 @@ the order they are declared.</div>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>COMPRESSED</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.Version.html" title="enum in org.apache.hadoop.hbase.wal">WALKey.Version</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.Version.html#line.129">COMPRESSED</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.Version.html" title="enum in org.apache.hadoop.hbase.wal">WALKey.Version</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.Version.html#line.132">COMPRESSED</a></pre>
 </li>
 </ul>
 </li>
@@ -266,7 +266,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>code</h4>
-<pre>public final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.Version.html#line.131">code</a></pre>
+<pre>public final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.Version.html#line.134">code</a></pre>
 </li>
 </ul>
 <a name="byCode">
@@ -275,7 +275,7 @@ the order they are declared.</div>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>byCode</h4>
-<pre>static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.Version.html" title="enum in org.apache.hadoop.hbase.wal">WALKey.Version</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.Version.html#line.132">byCode</a></pre>
+<pre>static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.Version.html" title="enum in org.apache.hadoop.hbase.wal">WALKey.Version</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.Version.html#line.135">byCode</a></pre>
 </li>
 </ul>
 </li>
@@ -292,7 +292,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>values</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.Version.html" title="enum in org.apache.hadoop.hbase.wal">WALKey.Version</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.Version.html#line.667">values</a>()</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.Version.html" title="enum in org.apache.hadoop.hbase.wal">WALKey.Version</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.Version.html#line.656">values</a>()</pre>
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.  This method may be used to iterate
 over the constants as follows:
@@ -309,7 +309,7 @@ for (WALKey.Version c : WALKey.Version.values())
 <ul class="blockList">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.Version.html" title="enum in org.apache.hadoop.hbase.wal">WALKey.Version</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.Version.html#line.667">valueOf</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>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.Version.html" title="enum in org.apache.hadoop.hbase.wal">WALKey.Version</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.Version.html#line.656">valueOf</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>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
 enum constant in this type.  (Extraneous whitespace characters are 
@@ -327,7 +327,7 @@ not permitted.)</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>atLeast</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.Version.html#line.146">atLeast</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.Version.html" title="enum in org.apache.hadoop.hbase.wal">WALKey.Version</a>&nbsp;other)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.Version.html#line.149">atLeast</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.Version.html" title="enum in org.apache.hadoop.hbase.wal">WALKey.Version</a>&nbsp;other)</pre>
 </li>
 </ul>
 <a name="fromCode(int)">
@@ -336,7 +336,7 @@ not permitted.)</div>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>fromCode</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.Version.html" title="enum in org.apache.hadoop.hbase.wal">WALKey.Version</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.Version.html#line.150">fromCode</a>(int&nbsp;code)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.Version.html" title="enum in org.apache.hadoop.hbase.wal">WALKey.Version</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.Version.html#line.153">fromCode</a>(int&nbsp;code)</pre>
 </li>
 </ul>
 </li>


[09/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html
index d266952..fbdde18 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html
@@ -7,36 +7,36 @@
 <body>
 <div class="sourceContainer">
 <pre><span class="sourceLineNo">001</span>/*<a name="line.1"></a>
-<span class="sourceLineNo">002</span> *<a name="line.2"></a>
-<span class="sourceLineNo">003</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.3"></a>
-<span class="sourceLineNo">004</span> * or more contributor license agreements.  See the NOTICE file<a name="line.4"></a>
-<span class="sourceLineNo">005</span> * distributed with this work for additional information<a name="line.5"></a>
-<span class="sourceLineNo">006</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.6"></a>
-<span class="sourceLineNo">007</span> * to you under the Apache License, Version 2.0 (the<a name="line.7"></a>
-<span class="sourceLineNo">008</span> * "License"); you may not use this file except in compliance<a name="line.8"></a>
-<span class="sourceLineNo">009</span> * with the License.  You may obtain a copy of the License at<a name="line.9"></a>
-<span class="sourceLineNo">010</span> *<a name="line.10"></a>
-<span class="sourceLineNo">011</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.11"></a>
-<span class="sourceLineNo">012</span> *<a name="line.12"></a>
-<span class="sourceLineNo">013</span> * Unless required by applicable law or agreed to in writing, software<a name="line.13"></a>
-<span class="sourceLineNo">014</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.14"></a>
-<span class="sourceLineNo">015</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.15"></a>
-<span class="sourceLineNo">016</span> * See the License for the specific language governing permissions and<a name="line.16"></a>
-<span class="sourceLineNo">017</span> * limitations under the License.<a name="line.17"></a>
-<span class="sourceLineNo">018</span> */<a name="line.18"></a>
-<span class="sourceLineNo">019</span>package org.apache.hadoop.hbase.regionserver;<a name="line.19"></a>
-<span class="sourceLineNo">020</span><a name="line.20"></a>
-<span class="sourceLineNo">021</span>import java.io.EOFException;<a name="line.21"></a>
-<span class="sourceLineNo">022</span>import java.io.FileNotFoundException;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.io.IOException;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.io.InterruptedIOException;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.lang.reflect.Constructor;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.text.ParseException;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import java.util.AbstractList;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import java.util.ArrayList;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import java.util.Arrays;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import java.util.Collection;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import java.util.Collections;<a name="line.31"></a>
+<span class="sourceLineNo">002</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.2"></a>
+<span class="sourceLineNo">003</span> * or more contributor license agreements.  See the NOTICE file<a name="line.3"></a>
+<span class="sourceLineNo">004</span> * distributed with this work for additional information<a name="line.4"></a>
+<span class="sourceLineNo">005</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.5"></a>
+<span class="sourceLineNo">006</span> * to you under the Apache License, Version 2.0 (the<a name="line.6"></a>
+<span class="sourceLineNo">007</span> * "License"); you may not use this file except in compliance<a name="line.7"></a>
+<span class="sourceLineNo">008</span> * with the License.  You may obtain a copy of the License at<a name="line.8"></a>
+<span class="sourceLineNo">009</span> *<a name="line.9"></a>
+<span class="sourceLineNo">010</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.10"></a>
+<span class="sourceLineNo">011</span> *<a name="line.11"></a>
+<span class="sourceLineNo">012</span> * Unless required by applicable law or agreed to in writing, software<a name="line.12"></a>
+<span class="sourceLineNo">013</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.13"></a>
+<span class="sourceLineNo">014</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.14"></a>
+<span class="sourceLineNo">015</span> * See the License for the specific language governing permissions and<a name="line.15"></a>
+<span class="sourceLineNo">016</span> * limitations under the License.<a name="line.16"></a>
+<span class="sourceLineNo">017</span> */<a name="line.17"></a>
+<span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.regionserver;<a name="line.18"></a>
+<span class="sourceLineNo">019</span><a name="line.19"></a>
+<span class="sourceLineNo">020</span>import java.io.EOFException;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import java.io.FileNotFoundException;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import java.io.IOException;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import java.io.InterruptedIOException;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.lang.reflect.Constructor;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.text.ParseException;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.util.AbstractList;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.util.ArrayList;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import java.util.Arrays;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import java.util.Collection;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import java.util.Collections;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import java.util.Comparator;<a name="line.31"></a>
 <span class="sourceLineNo">032</span>import java.util.HashMap;<a name="line.32"></a>
 <span class="sourceLineNo">033</span>import java.util.HashSet;<a name="line.33"></a>
 <span class="sourceLineNo">034</span>import java.util.Iterator;<a name="line.34"></a>
@@ -49,35 +49,35 @@
 <span class="sourceLineNo">041</span>import java.util.RandomAccess;<a name="line.41"></a>
 <span class="sourceLineNo">042</span>import java.util.Set;<a name="line.42"></a>
 <span class="sourceLineNo">043</span>import java.util.TreeMap;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import java.util.concurrent.Callable;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import java.util.concurrent.CompletionService;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import java.util.concurrent.ConcurrentMap;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import java.util.concurrent.ConcurrentSkipListMap;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import java.util.concurrent.ExecutionException;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import java.util.concurrent.ExecutorCompletionService;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import java.util.concurrent.ExecutorService;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import java.util.concurrent.Executors;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import java.util.concurrent.Future;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import java.util.concurrent.FutureTask;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import java.util.concurrent.ThreadFactory;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import java.util.concurrent.ThreadPoolExecutor;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import java.util.concurrent.TimeUnit;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import java.util.concurrent.TimeoutException;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import java.util.concurrent.atomic.AtomicBoolean;<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.atomic.AtomicLong;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import java.util.concurrent.locks.Lock;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import java.util.concurrent.locks.ReadWriteLock;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import java.util.concurrent.locks.ReentrantReadWriteLock;<a name="line.64"></a>
-<span class="sourceLineNo">065</span><a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.commons.logging.Log;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.commons.logging.LogFactory;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.conf.Configuration;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.fs.FileStatus;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.fs.FileSystem;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.fs.Path;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.ArrayBackedTag;<a name="line.72"></a>
+<span class="sourceLineNo">044</span>import java.util.UUID;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import java.util.concurrent.Callable;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import java.util.concurrent.CompletionService;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import java.util.concurrent.ConcurrentMap;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import java.util.concurrent.ConcurrentSkipListMap;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import java.util.concurrent.ExecutionException;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import java.util.concurrent.ExecutorCompletionService;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import java.util.concurrent.ExecutorService;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import java.util.concurrent.Executors;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import java.util.concurrent.Future;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import java.util.concurrent.FutureTask;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import java.util.concurrent.ThreadFactory;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import java.util.concurrent.ThreadPoolExecutor;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import java.util.concurrent.TimeUnit;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import java.util.concurrent.TimeoutException;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import java.util.concurrent.atomic.AtomicBoolean;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import java.util.concurrent.locks.Lock;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import java.util.concurrent.locks.ReadWriteLock;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import java.util.concurrent.locks.ReentrantReadWriteLock;<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.fs.FileStatus;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.fs.FileSystem;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.fs.Path;<a name="line.72"></a>
 <span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.Cell;<a name="line.73"></a>
 <span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.CellComparator;<a name="line.74"></a>
 <span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.75"></a>
@@ -85,8169 +85,7763 @@
 <span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.CompoundConfiguration;<a name="line.77"></a>
 <span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.78"></a>
 <span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.DroppedSnapshotException;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.HBaseConfiguration;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.HConstants;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.HConstants.OperationStatusCode;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.HDFSBlocksDistribution;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.KeyValue;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.KeyValueUtil;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.RegionTooBusyException;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.ShareableMemory;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.TableName;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.Tag;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.TagRewriteCell;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.TagType;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.TagUtil;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.UnknownScannerException;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.backup.HFileArchiver;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.client.Append;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.client.Durability;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.client.Get;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.client.Increment;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.client.IsolationLevel;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.client.Put;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.client.Result;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.client.RowMutations;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.conf.ConfigurationManager;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.conf.PropagatingConfigurationObserver;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.coprocessor.RegionObserver;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.errorhandling.ForeignExceptionSnare;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.exceptions.FailedSanityCheckException;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.exceptions.RegionInRecoveryException;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.exceptions.UnknownProtocolException;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.filter.ByteArrayComparable;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.filter.FilterWrapper;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.filter.IncompatibleFilterException;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.io.HeapSize;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.io.TimeRange;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.io.hfile.BlockCache;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.io.hfile.CacheConfig;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.io.hfile.HFile;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.ipc.CallerDisconnectedException;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.ipc.RpcCallContext;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.mob.MobUtils;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.monitoring.MonitoredTask;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.protobuf.ResponseConverter;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceCall;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.RegionLoad;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.StoreSequenceId;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor.FlushAction;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor.StoreFlushDescriptor;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor.EventType;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.StoreDescriptor;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.NextState;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.regionserver.compactions.CompactionContext;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.regionserver.throttle.CompactionThroughputControllerFactory;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.regionserver.throttle.NoLimitThroughputController;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.regionserver.throttle.ThroughputController;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.regionserver.wal.HLogKey;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.regionserver.wal.ReplayHLogKey;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.regionserver.wal.WALUtil;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.security.User;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.snapshot.SnapshotDescriptionUtils;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.snapshot.SnapshotManifest;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.util.ByteStringer;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.util.CancelableProgressable;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.util.ClassSize;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.util.CompressionTest;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.util.Counter;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.util.EncryptionTest;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.util.FSTableDescriptors;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.util.HashedBytes;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.Threads;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.wal.WALFactory;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.wal.WALSplitter.MutationReplay;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.io.MultipleIOException;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.util.StringUtils;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.htrace.Trace;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>import org.apache.htrace.TraceScope;<a name="line.186"></a>
-<span class="sourceLineNo">187</span><a name="line.187"></a>
-<span class="sourceLineNo">188</span>import com.google.common.annotations.VisibleForTesting;<a name="line.188"></a>
-<span class="sourceLineNo">189</span>import com.google.common.base.Optional;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>import com.google.common.base.Preconditions;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>import com.google.common.collect.Lists;<a name="line.191"></a>
-<span class="sourceLineNo">192</span>import com.google.common.collect.Maps;<a name="line.192"></a>
-<span class="sourceLineNo">193</span>import com.google.common.io.Closeables;<a name="line.193"></a>
-<span class="sourceLineNo">194</span>import com.google.protobuf.ByteString;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>import com.google.protobuf.Descriptors;<a name="line.195"></a>
-<span class="sourceLineNo">196</span>import com.google.protobuf.Message;<a name="line.196"></a>
-<span class="sourceLineNo">197</span>import com.google.protobuf.RpcCallback;<a name="line.197"></a>
-<span class="sourceLineNo">198</span>import com.google.protobuf.RpcController;<a name="line.198"></a>
-<span class="sourceLineNo">199</span>import com.google.protobuf.Service;<a name="line.199"></a>
-<span class="sourceLineNo">200</span>import com.google.protobuf.TextFormat;<a name="line.200"></a>
-<span class="sourceLineNo">201</span><a name="line.201"></a>
-<span class="sourceLineNo">202</span>@InterfaceAudience.Private<a name="line.202"></a>
-<span class="sourceLineNo">203</span>public class HRegion implements HeapSize, PropagatingConfigurationObserver, Region {<a name="line.203"></a>
-<span class="sourceLineNo">204</span>  private static final Log LOG = LogFactory.getLog(HRegion.class);<a name="line.204"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.HConstants;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.HConstants.OperationStatusCode;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.HDFSBlocksDistribution;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.KeyValue;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.KeyValueUtil;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.RegionTooBusyException;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.ShareableMemory;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.TableName;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.Tag;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.TagRewriteCell;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.TagUtil;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.UnknownScannerException;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.backup.HFileArchiver;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.client.Append;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.client.Durability;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.client.Get;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.client.Increment;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.client.IsolationLevel;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.client.Put;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.client.Result;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.client.RowMutations;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.conf.ConfigurationManager;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.conf.PropagatingConfigurationObserver;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.coprocessor.RegionObserver.MutationType;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.errorhandling.ForeignExceptionSnare;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.exceptions.FailedSanityCheckException;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.exceptions.RegionInRecoveryException;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.exceptions.UnknownProtocolException;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.filter.ByteArrayComparable;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.filter.FilterWrapper;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.filter.IncompatibleFilterException;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.io.HeapSize;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.io.TimeRange;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.io.hfile.HFile;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.ipc.CallerDisconnectedException;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.ipc.RpcCallContext;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.mob.MobUtils;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.monitoring.MonitoredTask;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.protobuf.ResponseConverter;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceCall;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.RegionLoad;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.StoreSequenceId;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor.FlushAction;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor.StoreFlushDescriptor;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor.EventType;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.StoreDescriptor;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl.WriteEntry;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.NextState;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.regionserver.compactions.CompactionContext;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.regionserver.throttle.CompactionThroughputControllerFactory;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.regionserver.throttle.NoLimitThroughputController;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.regionserver.throttle.ThroughputController;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.regionserver.wal.HLogKey;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.regionserver.wal.ReplayHLogKey;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.regionserver.wal.WALUtil;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.security.User;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.snapshot.SnapshotDescriptionUtils;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.snapshot.SnapshotManifest;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.util.ByteStringer;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.util.CancelableProgressable;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.util.ClassSize;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.util.CompressionTest;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.util.Counter;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.util.EncryptionTest;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.util.HashedBytes;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.util.Threads;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.wal.WALFactory;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.wal.WALSplitter.MutationReplay;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>import org.apache.hadoop.io.MultipleIOException;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>import org.apache.hadoop.util.StringUtils;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>import org.apache.htrace.Trace;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.htrace.TraceScope;<a name="line.182"></a>
+<span class="sourceLineNo">183</span><a name="line.183"></a>
+<span class="sourceLineNo">184</span>import com.google.common.annotations.VisibleForTesting;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import com.google.common.base.Optional;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import com.google.common.base.Preconditions;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import com.google.common.collect.Lists;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>import com.google.common.collect.Maps;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>import com.google.common.io.Closeables;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>import com.google.protobuf.ByteString;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>import com.google.protobuf.Descriptors;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>import com.google.protobuf.Message;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>import com.google.protobuf.RpcCallback;<a name="line.193"></a>
+<span class="sourceLineNo">194</span>import com.google.protobuf.RpcController;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>import com.google.protobuf.Service;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>import com.google.protobuf.TextFormat;<a name="line.196"></a>
+<span class="sourceLineNo">197</span><a name="line.197"></a>
+<span class="sourceLineNo">198</span>@SuppressWarnings("deprecation")<a name="line.198"></a>
+<span class="sourceLineNo">199</span>@InterfaceAudience.Private<a name="line.199"></a>
+<span class="sourceLineNo">200</span>public class HRegion implements HeapSize, PropagatingConfigurationObserver, Region {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>  private static final Log LOG = LogFactory.getLog(HRegion.class);<a name="line.201"></a>
+<span class="sourceLineNo">202</span><a name="line.202"></a>
+<span class="sourceLineNo">203</span>  public static final String LOAD_CFS_ON_DEMAND_CONFIG_KEY =<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    "hbase.hregion.scan.loadColumnFamiliesOnDemand";<a name="line.204"></a>
 <span class="sourceLineNo">205</span><a name="line.205"></a>
-<span class="sourceLineNo">206</span>  public static final String LOAD_CFS_ON_DEMAND_CONFIG_KEY =<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    "hbase.hregion.scan.loadColumnFamiliesOnDemand";<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>   * Longest time we'll wait on a sequenceid.<a name="line.210"></a>
-<span class="sourceLineNo">211</span>   * Sequenceid comes up out of the WAL subsystem. WAL subsystem can go bad or a test might use<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   * it without cleaning up previous usage properly; generally, a WAL roll is needed. The timeout<a name="line.212"></a>
-<span class="sourceLineNo">213</span>   * is for a latch in WALKey. There is no global accounting of outstanding WALKeys; intentionally<a name="line.213"></a>
-<span class="sourceLineNo">214</span>   * to avoid contention, but it makes it so if an abort or problem, we could be stuck waiting<a name="line.214"></a>
-<span class="sourceLineNo">215</span>   * on the WALKey latch. Revisit.<a name="line.215"></a>
-<span class="sourceLineNo">216</span>   */<a name="line.216"></a>
-<span class="sourceLineNo">217</span>  private final int maxWaitForSeqId;<a name="line.217"></a>
-<span class="sourceLineNo">218</span>  private static final String MAX_WAIT_FOR_SEQ_ID_KEY = "hbase.hregion.max.wait.for.sequenceid.ms";<a name="line.218"></a>
-<span class="sourceLineNo">219</span>  private static final int DEFAULT_MAX_WAIT_FOR_SEQ_ID = 30000;<a name="line.219"></a>
+<span class="sourceLineNo">206</span>  /**<a name="line.206"></a>
+<span class="sourceLineNo">207</span>   * This is the global default value for durability. All tables/mutations not<a name="line.207"></a>
+<span class="sourceLineNo">208</span>   * defining a durability or using USE_DEFAULT will default to this value.<a name="line.208"></a>
+<span class="sourceLineNo">209</span>   */<a name="line.209"></a>
+<span class="sourceLineNo">210</span>  private static final Durability DEFAULT_DURABILITY = Durability.SYNC_WAL;<a name="line.210"></a>
+<span class="sourceLineNo">211</span><a name="line.211"></a>
+<span class="sourceLineNo">212</span>  final AtomicBoolean closed = new AtomicBoolean(false);<a name="line.212"></a>
+<span class="sourceLineNo">213</span><a name="line.213"></a>
+<span class="sourceLineNo">214</span>  /* Closing can take some time; use the closing flag if there is stuff we don't<a name="line.214"></a>
+<span class="sourceLineNo">215</span>   * want to do while in closing state; e.g. like offer this region up to the<a name="line.215"></a>
+<span class="sourceLineNo">216</span>   * master as a region to close if the carrying regionserver is overloaded.<a name="line.216"></a>
+<span class="sourceLineNo">217</span>   * Once set, it is never cleared.<a name="line.217"></a>
+<span class="sourceLineNo">218</span>   */<a name="line.218"></a>
+<span class="sourceLineNo">219</span>  final AtomicBoolean closing = new AtomicBoolean(false);<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>   * This is the global default value for durability. All tables/mutations not<a name="line.222"></a>
-<span class="sourceLineNo">223</span>   * defining a durability or using USE_DEFAULT will default to this value.<a name="line.223"></a>
+<span class="sourceLineNo">222</span>   * The max sequence id of flushed data on this region. There is no edit in memory that is<a name="line.222"></a>
+<span class="sourceLineNo">223</span>   * less that this sequence id.<a name="line.223"></a>
 <span class="sourceLineNo">224</span>   */<a name="line.224"></a>
-<span class="sourceLineNo">225</span>  private static final Durability DEFAULT_DURABILITY = Durability.SYNC_WAL;<a name="line.225"></a>
+<span class="sourceLineNo">225</span>  private volatile long maxFlushedSeqId = HConstants.NO_SEQNUM;<a name="line.225"></a>
 <span class="sourceLineNo">226</span><a name="line.226"></a>
-<span class="sourceLineNo">227</span>  final AtomicBoolean closed = new AtomicBoolean(false);<a name="line.227"></a>
-<span class="sourceLineNo">228</span><a name="line.228"></a>
-<span class="sourceLineNo">229</span>  /* Closing can take some time; use the closing flag if there is stuff we don't<a name="line.229"></a>
-<span class="sourceLineNo">230</span>   * want to do while in closing state; e.g. like offer this region up to the<a name="line.230"></a>
-<span class="sourceLineNo">231</span>   * master as a region to close if the carrying regionserver is overloaded.<a name="line.231"></a>
-<span class="sourceLineNo">232</span>   * Once set, it is never cleared.<a name="line.232"></a>
-<span class="sourceLineNo">233</span>   */<a name="line.233"></a>
-<span class="sourceLineNo">234</span>  final AtomicBoolean closing = new AtomicBoolean(false);<a name="line.234"></a>
-<span class="sourceLineNo">235</span><a name="line.235"></a>
-<span class="sourceLineNo">236</span>  /**<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   * The max sequence id of flushed data on this region. There is no edit in memory that is<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   * less that this sequence id.<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   */<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  private volatile long maxFlushedSeqId = HConstants.NO_SEQNUM;<a name="line.240"></a>
+<span class="sourceLineNo">227</span>  /**<a name="line.227"></a>
+<span class="sourceLineNo">228</span>   * Record the sequence id of last flush operation. Can be in advance of<a name="line.228"></a>
+<span class="sourceLineNo">229</span>   * {@link #maxFlushedSeqId} when flushing a single column family. In this case,<a name="line.229"></a>
+<span class="sourceLineNo">230</span>   * {@link #maxFlushedSeqId} will be older than the oldest edit in memory.<a name="line.230"></a>
+<span class="sourceLineNo">231</span>   */<a name="line.231"></a>
+<span class="sourceLineNo">232</span>  private volatile long lastFlushOpSeqId = HConstants.NO_SEQNUM;<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>   * The sequence id of the last replayed open region event from the primary region. This is used<a name="line.235"></a>
+<span class="sourceLineNo">236</span>   * to skip entries before this due to the possibility of replay edits coming out of order from<a name="line.236"></a>
+<span class="sourceLineNo">237</span>   * replication.<a name="line.237"></a>
+<span class="sourceLineNo">238</span>   */<a name="line.238"></a>
+<span class="sourceLineNo">239</span>  protected volatile long lastReplayedOpenRegionSeqId = -1L;<a name="line.239"></a>
+<span class="sourceLineNo">240</span>  protected volatile long lastReplayedCompactionSeqId = -1L;<a name="line.240"></a>
 <span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>  /**<a name="line.242"></a>
-<span class="sourceLineNo">243</span>   * Record the sequence id of last flush operation. Can be in advance of<a name="line.243"></a>
-<span class="sourceLineNo">244</span>   * {@link #maxFlushedSeqId} when flushing a single column family. In this case,<a name="line.244"></a>
-<span class="sourceLineNo">245</span>   * {@link #maxFlushedSeqId} will be older than the oldest edit in memory.<a name="line.245"></a>
-<span class="sourceLineNo">246</span>   */<a name="line.246"></a>
-<span class="sourceLineNo">247</span>  private volatile long lastFlushOpSeqId = HConstants.NO_SEQNUM;<a name="line.247"></a>
-<span class="sourceLineNo">248</span><a name="line.248"></a>
-<span class="sourceLineNo">249</span>  /**<a name="line.249"></a>
-<span class="sourceLineNo">250</span>   * The sequence id of the last replayed open region event from the primary region. This is used<a name="line.250"></a>
-<span class="sourceLineNo">251</span>   * to skip entries before this due to the possibility of replay edits coming out of order from<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * replication.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  protected volatile long lastReplayedOpenRegionSeqId = -1L;<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  protected volatile long lastReplayedCompactionSeqId = -1L;<a name="line.255"></a>
+<span class="sourceLineNo">242</span>  //////////////////////////////////////////////////////////////////////////////<a name="line.242"></a>
+<span class="sourceLineNo">243</span>  // Members<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>  // map from a locked row to the context for that lock including:<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  // - CountDownLatch for threads waiting on that row<a name="line.247"></a>
+<span class="sourceLineNo">248</span>  // - the thread that owns the lock (allow reentrancy)<a name="line.248"></a>
+<span class="sourceLineNo">249</span>  // - reference count of (reentrant) locks held by the thread<a name="line.249"></a>
+<span class="sourceLineNo">250</span>  // - the row itself<a name="line.250"></a>
+<span class="sourceLineNo">251</span>  private final ConcurrentHashMap&lt;HashedBytes, RowLockContext&gt; lockedRows =<a name="line.251"></a>
+<span class="sourceLineNo">252</span>      new ConcurrentHashMap&lt;HashedBytes, RowLockContext&gt;();<a name="line.252"></a>
+<span class="sourceLineNo">253</span><a name="line.253"></a>
+<span class="sourceLineNo">254</span>  protected final Map&lt;byte[], Store&gt; stores = new ConcurrentSkipListMap&lt;byte[], Store&gt;(<a name="line.254"></a>
+<span class="sourceLineNo">255</span>      Bytes.BYTES_RAWCOMPARATOR);<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>  // Members<a name="line.258"></a>
-<span class="sourceLineNo">259</span>  //////////////////////////////////////////////////////////////////////////////<a name="line.259"></a>
-<span class="sourceLineNo">260</span><a name="line.260"></a>
-<span class="sourceLineNo">261</span>  // map from a locked row to the context for that lock including:<a name="line.261"></a>
-<span class="sourceLineNo">262</span>  // - CountDownLatch for threads waiting on that row<a name="line.262"></a>
-<span class="sourceLineNo">263</span>  // - the thread that owns the lock (allow reentrancy)<a name="line.263"></a>
-<span class="sourceLineNo">264</span>  // - reference count of (reentrant) locks held by the thread<a name="line.264"></a>
-<span class="sourceLineNo">265</span>  // - the row itself<a name="line.265"></a>
-<span class="sourceLineNo">266</span>  private final ConcurrentHashMap&lt;HashedBytes, RowLockContext&gt; lockedRows =<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      new ConcurrentHashMap&lt;HashedBytes, RowLockContext&gt;();<a name="line.267"></a>
-<span class="sourceLineNo">268</span><a name="line.268"></a>
-<span class="sourceLineNo">269</span>  protected final Map&lt;byte[], Store&gt; stores = new ConcurrentSkipListMap&lt;byte[], Store&gt;(<a name="line.269"></a>
-<span class="sourceLineNo">270</span>      Bytes.BYTES_RAWCOMPARATOR);<a name="line.270"></a>
-<span class="sourceLineNo">271</span><a name="line.271"></a>
-<span class="sourceLineNo">272</span>  // TODO: account for each registered handler in HeapSize computation<a name="line.272"></a>
-<span class="sourceLineNo">273</span>  private Map&lt;String, Service&gt; coprocessorServiceHandlers = Maps.newHashMap();<a name="line.273"></a>
+<span class="sourceLineNo">257</span>  // TODO: account for each registered handler in HeapSize computation<a name="line.257"></a>
+<span class="sourceLineNo">258</span>  private Map&lt;String, Service&gt; coprocessorServiceHandlers = Maps.newHashMap();<a name="line.258"></a>
+<span class="sourceLineNo">259</span><a name="line.259"></a>
+<span class="sourceLineNo">260</span>  private final AtomicLong memstoreSize = new AtomicLong(0);<a name="line.260"></a>
+<span class="sourceLineNo">261</span><a name="line.261"></a>
+<span class="sourceLineNo">262</span>  // Debug possible data loss due to WAL off<a name="line.262"></a>
+<span class="sourceLineNo">263</span>  final Counter numMutationsWithoutWAL = new Counter();<a name="line.263"></a>
+<span class="sourceLineNo">264</span>  final Counter dataInMemoryWithoutWAL = new Counter();<a name="line.264"></a>
+<span class="sourceLineNo">265</span><a name="line.265"></a>
+<span class="sourceLineNo">266</span>  // Debug why CAS operations are taking a while.<a name="line.266"></a>
+<span class="sourceLineNo">267</span>  final Counter checkAndMutateChecksPassed = new Counter();<a name="line.267"></a>
+<span class="sourceLineNo">268</span>  final Counter checkAndMutateChecksFailed = new Counter();<a name="line.268"></a>
+<span class="sourceLineNo">269</span><a name="line.269"></a>
+<span class="sourceLineNo">270</span>  // Number of requests<a name="line.270"></a>
+<span class="sourceLineNo">271</span>  final Counter readRequestsCount = new Counter();<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  final Counter filteredReadRequestsCount = new Counter();<a name="line.272"></a>
+<span class="sourceLineNo">273</span>  final Counter writeRequestsCount = new Counter();<a name="line.273"></a>
 <span class="sourceLineNo">274</span><a name="line.274"></a>
-<span class="sourceLineNo">275</span>  private final AtomicLong memstoreSize = new AtomicLong(0);<a name="line.275"></a>
-<span class="sourceLineNo">276</span><a name="line.276"></a>
-<span class="sourceLineNo">277</span>  // Debug possible data loss due to WAL off<a name="line.277"></a>
-<span class="sourceLineNo">278</span>  final Counter numMutationsWithoutWAL = new Counter();<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  final Counter dataInMemoryWithoutWAL = new Counter();<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  // Debug why CAS operations are taking a while.<a name="line.281"></a>
-<span class="sourceLineNo">282</span>  final Counter checkAndMutateChecksPassed = new Counter();<a name="line.282"></a>
-<span class="sourceLineNo">283</span>  final Counter checkAndMutateChecksFailed = new Counter();<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>  //Number of requests<a name="line.285"></a>
-<span class="sourceLineNo">286</span>  final Counter readRequestsCount = new Counter();<a name="line.286"></a>
-<span class="sourceLineNo">287</span>  final Counter filteredReadRequestsCount = new Counter();<a name="line.287"></a>
-<span class="sourceLineNo">288</span>  final Counter writeRequestsCount = new Counter();<a name="line.288"></a>
-<span class="sourceLineNo">289</span><a name="line.289"></a>
-<span class="sourceLineNo">290</span>  // Number of requests blocked by memstore size.<a name="line.290"></a>
-<span class="sourceLineNo">291</span>  private final Counter blockedRequestsCount = new Counter();<a name="line.291"></a>
-<span class="sourceLineNo">292</span><a name="line.292"></a>
-<span class="sourceLineNo">293</span>  // Compaction counters<a name="line.293"></a>
-<span class="sourceLineNo">294</span>  final AtomicLong compactionsFinished = new AtomicLong(0L);<a name="line.294"></a>
-<span class="sourceLineNo">295</span>  final AtomicLong compactionNumFilesCompacted = new AtomicLong(0L);<a name="line.295"></a>
-<span class="sourceLineNo">296</span>  final AtomicLong compactionNumBytesCompacted = new AtomicLong(0L);<a name="line.296"></a>
-<span class="sourceLineNo">297</span><a name="line.297"></a>
-<span class="sourceLineNo">298</span>  private final WAL wal;<a name="line.298"></a>
-<span class="sourceLineNo">299</span>  private final HRegionFileSystem fs;<a name="line.299"></a>
-<span class="sourceLineNo">300</span>  protected final Configuration conf;<a name="line.300"></a>
-<span class="sourceLineNo">301</span>  private final Configuration baseConf;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  private final int rowLockWaitDuration;<a name="line.302"></a>
-<span class="sourceLineNo">303</span>  private CompactedHFilesDischarger compactedFileDischarger;<a name="line.303"></a>
-<span class="sourceLineNo">304</span>  static final int DEFAULT_ROWLOCK_WAIT_DURATION = 30000;<a name="line.304"></a>
-<span class="sourceLineNo">305</span><a name="line.305"></a>
-<span class="sourceLineNo">306</span>  // The internal wait duration to acquire a lock before read/update<a name="line.306"></a>
-<span class="sourceLineNo">307</span>  // from the region. It is not per row. The purpose of this wait time<a name="line.307"></a>
-<span class="sourceLineNo">308</span>  // is to avoid waiting a long time while the region is busy, so that<a name="line.308"></a>
-<span class="sourceLineNo">309</span>  // we can release the IPC handler soon enough to improve the<a name="line.309"></a>
-<span class="sourceLineNo">310</span>  // availability of the region server. It can be adjusted by<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  // tuning configuration "hbase.busy.wait.duration".<a name="line.311"></a>
-<span class="sourceLineNo">312</span>  final long busyWaitDuration;<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  static final long DEFAULT_BUSY_WAIT_DURATION = HConstants.DEFAULT_HBASE_RPC_TIMEOUT;<a name="line.313"></a>
+<span class="sourceLineNo">275</span>  // Number of requests blocked by memstore size.<a name="line.275"></a>
+<span class="sourceLineNo">276</span>  private final Counter blockedRequestsCount = new Counter();<a name="line.276"></a>
+<span class="sourceLineNo">277</span><a name="line.277"></a>
+<span class="sourceLineNo">278</span>  // Compaction counters<a name="line.278"></a>
+<span class="sourceLineNo">279</span>  final AtomicLong compactionsFinished = new AtomicLong(0L);<a name="line.279"></a>
+<span class="sourceLineNo">280</span>  final AtomicLong compactionNumFilesCompacted = new AtomicLong(0L);<a name="line.280"></a>
+<span class="sourceLineNo">281</span>  final AtomicLong compactionNumBytesCompacted = new AtomicLong(0L);<a name="line.281"></a>
+<span class="sourceLineNo">282</span><a name="line.282"></a>
+<span class="sourceLineNo">283</span>  private final WAL wal;<a name="line.283"></a>
+<span class="sourceLineNo">284</span>  private final HRegionFileSystem fs;<a name="line.284"></a>
+<span class="sourceLineNo">285</span>  protected final Configuration conf;<a name="line.285"></a>
+<span class="sourceLineNo">286</span>  private final Configuration baseConf;<a name="line.286"></a>
+<span class="sourceLineNo">287</span>  private final int rowLockWaitDuration;<a name="line.287"></a>
+<span class="sourceLineNo">288</span>  private CompactedHFilesDischarger compactedFileDischarger;<a name="line.288"></a>
+<span class="sourceLineNo">289</span>  static final int DEFAULT_ROWLOCK_WAIT_DURATION = 30000;<a name="line.289"></a>
+<span class="sourceLineNo">290</span><a name="line.290"></a>
+<span class="sourceLineNo">291</span>  // The internal wait duration to acquire a lock before read/update<a name="line.291"></a>
+<span class="sourceLineNo">292</span>  // from the region. It is not per row. The purpose of this wait time<a name="line.292"></a>
+<span class="sourceLineNo">293</span>  // is to avoid waiting a long time while the region is busy, so that<a name="line.293"></a>
+<span class="sourceLineNo">294</span>  // we can release the IPC handler soon enough to improve the<a name="line.294"></a>
+<span class="sourceLineNo">295</span>  // availability of the region server. It can be adjusted by<a name="line.295"></a>
+<span class="sourceLineNo">296</span>  // tuning configuration "hbase.busy.wait.duration".<a name="line.296"></a>
+<span class="sourceLineNo">297</span>  final long busyWaitDuration;<a name="line.297"></a>
+<span class="sourceLineNo">298</span>  static final long DEFAULT_BUSY_WAIT_DURATION = HConstants.DEFAULT_HBASE_RPC_TIMEOUT;<a name="line.298"></a>
+<span class="sourceLineNo">299</span><a name="line.299"></a>
+<span class="sourceLineNo">300</span>  // If updating multiple rows in one call, wait longer,<a name="line.300"></a>
+<span class="sourceLineNo">301</span>  // i.e. waiting for busyWaitDuration * # of rows. However,<a name="line.301"></a>
+<span class="sourceLineNo">302</span>  // we can limit the max multiplier.<a name="line.302"></a>
+<span class="sourceLineNo">303</span>  final int maxBusyWaitMultiplier;<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span>  // Max busy wait duration. There is no point to wait longer than the RPC<a name="line.305"></a>
+<span class="sourceLineNo">306</span>  // purge timeout, when a RPC call will be terminated by the RPC engine.<a name="line.306"></a>
+<span class="sourceLineNo">307</span>  final long maxBusyWaitDuration;<a name="line.307"></a>
+<span class="sourceLineNo">308</span><a name="line.308"></a>
+<span class="sourceLineNo">309</span>  // negative number indicates infinite timeout<a name="line.309"></a>
+<span class="sourceLineNo">310</span>  static final long DEFAULT_ROW_PROCESSOR_TIMEOUT = 60 * 1000L;<a name="line.310"></a>
+<span class="sourceLineNo">311</span>  final ExecutorService rowProcessorExecutor = Executors.newCachedThreadPool();<a name="line.311"></a>
+<span class="sourceLineNo">312</span><a name="line.312"></a>
+<span class="sourceLineNo">313</span>  private final ConcurrentHashMap&lt;RegionScanner, Long&gt; scannerReadPoints;<a name="line.313"></a>
 <span class="sourceLineNo">314</span><a name="line.314"></a>
-<span class="sourceLineNo">315</span>  // If updating multiple rows in one call, wait longer,<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  // i.e. waiting for busyWaitDuration * # of rows. However,<a name="line.316"></a>
-<span class="sourceLineNo">317</span>  // we can limit the max multiplier.<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  final int maxBusyWaitMultiplier;<a name="line.318"></a>
+<span class="sourceLineNo">315</span>  /**<a name="line.315"></a>
+<span class="sourceLineNo">316</span>   * The sequence ID that was encountered when this region was opened.<a name="line.316"></a>
+<span class="sourceLineNo">317</span>   */<a name="line.317"></a>
+<span class="sourceLineNo">318</span>  private long openSeqNum = HConstants.NO_SEQNUM;<a name="line.318"></a>
 <span class="sourceLineNo">319</span><a name="line.319"></a>
-<span class="sourceLineNo">320</span>  // Max busy wait duration. There is no point to wait longer than the RPC<a name="line.320"></a>
-<span class="sourceLineNo">321</span>  // purge timeout, when a RPC call will be terminated by the RPC engine.<a name="line.321"></a>
-<span class="sourceLineNo">322</span>  final long maxBusyWaitDuration;<a name="line.322"></a>
-<span class="sourceLineNo">323</span><a name="line.323"></a>
-<span class="sourceLineNo">324</span>  // negative number indicates infinite timeout<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  static final long DEFAULT_ROW_PROCESSOR_TIMEOUT = 60 * 1000L;<a name="line.325"></a>
-<span class="sourceLineNo">326</span>  final ExecutorService rowProcessorExecutor = Executors.newCachedThreadPool();<a name="line.326"></a>
-<span class="sourceLineNo">327</span><a name="line.327"></a>
-<span class="sourceLineNo">328</span>  private final ConcurrentHashMap&lt;RegionScanner, Long&gt; scannerReadPoints;<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>   * The sequence ID that was encountered when this region was opened.<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   */<a name="line.332"></a>
-<span class="sourceLineNo">333</span>  private long openSeqNum = HConstants.NO_SEQNUM;<a name="line.333"></a>
-<span class="sourceLineNo">334</span><a name="line.334"></a>
-<span class="sourceLineNo">335</span>  /**<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   * The default setting for whether to enable on-demand CF loading for<a name="line.336"></a>
-<span class="sourceLineNo">337</span>   * scan requests to this region. Requests can override it.<a name="line.337"></a>
-<span class="sourceLineNo">338</span>   */<a name="line.338"></a>
-<span class="sourceLineNo">339</span>  private boolean isLoadingCfsOnDemandDefault = false;<a name="line.339"></a>
-<span class="sourceLineNo">340</span><a name="line.340"></a>
-<span class="sourceLineNo">341</span>  private final AtomicInteger majorInProgress = new AtomicInteger(0);<a name="line.341"></a>
-<span class="sourceLineNo">342</span>  private final AtomicInteger minorInProgress = new AtomicInteger(0);<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>  // Context: During replay we want to ensure that we do not lose any data. So, we<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  // have to be conservative in how we replay wals. For each store, we calculate<a name="line.346"></a>
-<span class="sourceLineNo">347</span>  // the maxSeqId up to which the store was flushed. And, skip the edits which<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  // are equal to or lower than maxSeqId for each store.<a name="line.348"></a>
-<span class="sourceLineNo">349</span>  // The following map is populated when opening the region<a name="line.349"></a>
-<span class="sourceLineNo">350</span>  Map&lt;byte[], Long&gt; maxSeqIdInStores = new TreeMap&lt;byte[], Long&gt;(Bytes.BYTES_COMPARATOR);<a name="line.350"></a>
-<span class="sourceLineNo">351</span><a name="line.351"></a>
-<span class="sourceLineNo">352</span>  /** Saved state from replaying prepare flush cache */<a name="line.352"></a>
-<span class="sourceLineNo">353</span>  private PrepareFlushResult prepareFlushResult = null;<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>   * Config setting for whether to allow writes when a region is in recovering or not.<a name="line.356"></a>
-<span class="sourceLineNo">357</span>   */<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  private boolean disallowWritesInRecovering = false;<a name="line.358"></a>
-<span class="sourceLineNo">359</span><a name="line.359"></a>
-<span class="sourceLineNo">360</span>  // when a region is in recovering state, it can only accept writes not reads<a name="line.360"></a>
-<span class="sourceLineNo">361</span>  private volatile boolean recovering = false;<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>  private volatile Optional&lt;ConfigurationManager&gt; configurationManager;<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>   * @return The smallest mvcc readPoint across all the scanners in this<a name="line.366"></a>
-<span class="sourceLineNo">367</span>   * region. Writes older than this readPoint, are included in every<a name="line.367"></a>
-<span class="sourceLineNo">368</span>   * read operation.<a name="line.368"></a>
-<span class="sourceLineNo">369</span>   */<a name="line.369"></a>
-<span class="sourceLineNo">370</span>  public long getSmallestReadPoint() {<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    long minimumReadPoint;<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    // We need to ensure that while we are calculating the smallestReadPoint<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    // no new RegionScanners can grab a readPoint that we are unaware of.<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    // We achieve this by synchronizing on the scannerReadPoints object.<a name="line.374"></a>
-<span class="sourceLineNo">375</span>    synchronized(scannerReadPoints) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>      minimumReadPoint = mvcc.getReadPoint();<a name="line.376"></a>
-<span class="sourceLineNo">377</span><a name="line.377"></a>
-<span class="sourceLineNo">378</span>      for (Long readPoint: this.scannerReadPoints.values()) {<a name="line.378"></a>
-<span class="sourceLineNo">379</span>        if (readPoint &lt; minimumReadPoint) {<a name="line.379"></a>
-<span class="sourceLineNo">380</span>          minimumReadPoint = readPoint;<a name="line.380"></a>
-<span class="sourceLineNo">381</span>        }<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      }<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    }<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    return minimumReadPoint;<a name="line.384"></a>
-<span class="sourceLineNo">385</span>  }<a name="line.385"></a>
-<span class="sourceLineNo">386</span><a name="line.386"></a>
-<span class="sourceLineNo">387</span>  /*<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * Data structure of write state flags used coordinating flushes,<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   * compactions and closes.<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   */<a name="line.390"></a>
-<span class="sourceLineNo">391</span>  static class WriteState {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    // Set while a memstore flush is happening.<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    volatile boolean flushing = false;<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    // Set when a flush has been requested.<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    volatile boolean flushRequested = false;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    // Number of compactions running.<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    AtomicInteger compacting = new AtomicInteger(0);<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    // Gets set in close. If set, cannot compact or flush again.<a name="line.398"></a>
-<span class="sourceLineNo">399</span>    volatile boolean writesEnabled = true;<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    // Set if region is read-only<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    volatile boolean readOnly = false;<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    // whether the reads are enabled. This is different than readOnly, because readOnly is<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    // static in the lifetime of the region, while readsEnabled is dynamic<a name="line.403"></a>
-<span class="sourceLineNo">404</span>    volatile boolean readsEnabled = true;<a name="line.404"></a>
-<span class="sourceLineNo">405</span><a name="line.405"></a>
-<span class="sourceLineNo">406</span>    /**<a name="line.406"></a>
-<span class="sourceLineNo">407</span>     * Set flags that make this region read-only.<a name="line.407"></a>
-<span class="sourceLineNo">408</span>     *<a name="line.408"></a>
-<span class="sourceLineNo">409</span>     * @param onOff flip value for region r/o setting<a name="line.409"></a>
-<span class="sourceLineNo">410</span>     */<a name="line.410"></a>
-<span class="sourceLineNo">411</span>    synchronized void setReadOnly(final boolean onOff) {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      this.writesEnabled = !onOff;<a name="line.412"></a>
-<span class="sourceLineNo">413</span>      this.readOnly = onOff;<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    }<a name="line.414"></a>
+<span class="sourceLineNo">320</span>  /**<a name="line.320"></a>
+<span class="sourceLineNo">321</span>   * The default setting for whether to enable on-demand CF loading for<a name="line.321"></a>
+<span class="sourceLineNo">322</span>   * scan requests to this region. Requests can override it.<a name="line.322"></a>
+<span class="sourceLineNo">323</span>   */<a name="line.323"></a>
+<span class="sourceLineNo">324</span>  private boolean isLoadingCfsOnDemandDefault = false;<a name="line.324"></a>
+<span class="sourceLineNo">325</span><a name="line.325"></a>
+<span class="sourceLineNo">326</span>  private final AtomicInteger majorInProgress = new AtomicInteger(0);<a name="line.326"></a>
+<span class="sourceLineNo">327</span>  private final AtomicInteger minorInProgress = new AtomicInteger(0);<a name="line.327"></a>
+<span class="sourceLineNo">328</span><a name="line.328"></a>
+<span class="sourceLineNo">329</span>  //<a name="line.329"></a>
+<span class="sourceLineNo">330</span>  // Context: During replay we want to ensure that we do not lose any data. So, we<a name="line.330"></a>
+<span class="sourceLineNo">331</span>  // have to be conservative in how we replay wals. For each store, we calculate<a name="line.331"></a>
+<span class="sourceLineNo">332</span>  // the maxSeqId up to which the store was flushed. And, skip the edits which<a name="line.332"></a>
+<span class="sourceLineNo">333</span>  // are equal to or lower than maxSeqId for each store.<a name="line.333"></a>
+<span class="sourceLineNo">334</span>  // The following map is populated when opening the region<a name="line.334"></a>
+<span class="sourceLineNo">335</span>  Map&lt;byte[], Long&gt; maxSeqIdInStores = new TreeMap&lt;byte[], Long&gt;(Bytes.BYTES_COMPARATOR);<a name="line.335"></a>
+<span class="sourceLineNo">336</span><a name="line.336"></a>
+<span class="sourceLineNo">337</span>  /** Saved state from replaying prepare flush cache */<a name="line.337"></a>
+<span class="sourceLineNo">338</span>  private PrepareFlushResult prepareFlushResult = null;<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>   * Config setting for whether to allow writes when a region is in recovering or not.<a name="line.341"></a>
+<span class="sourceLineNo">342</span>   */<a name="line.342"></a>
+<span class="sourceLineNo">343</span>  private boolean disallowWritesInRecovering = false;<a name="line.343"></a>
+<span class="sourceLineNo">344</span><a name="line.344"></a>
+<span class="sourceLineNo">345</span>  // When a region is in recovering state, it can only accept writes not reads<a name="line.345"></a>
+<span class="sourceLineNo">346</span>  private volatile boolean recovering = false;<a name="line.346"></a>
+<span class="sourceLineNo">347</span><a name="line.347"></a>
+<span class="sourceLineNo">348</span>  private volatile Optional&lt;ConfigurationManager&gt; configurationManager;<a name="line.348"></a>
+<span class="sourceLineNo">349</span><a name="line.349"></a>
+<span class="sourceLineNo">350</span>  /**<a name="line.350"></a>
+<span class="sourceLineNo">351</span>   * @return The smallest mvcc readPoint across all the scanners in this<a name="line.351"></a>
+<span class="sourceLineNo">352</span>   * region. Writes older than this readPoint, are included in every<a name="line.352"></a>
+<span class="sourceLineNo">353</span>   * read operation.<a name="line.353"></a>
+<span class="sourceLineNo">354</span>   */<a name="line.354"></a>
+<span class="sourceLineNo">355</span>  public long getSmallestReadPoint() {<a name="line.355"></a>
+<span class="sourceLineNo">356</span>    long minimumReadPoint;<a name="line.356"></a>
+<span class="sourceLineNo">357</span>    // We need to ensure that while we are calculating the smallestReadPoint<a name="line.357"></a>
+<span class="sourceLineNo">358</span>    // no new RegionScanners can grab a readPoint that we are unaware of.<a name="line.358"></a>
+<span class="sourceLineNo">359</span>    // We achieve this by synchronizing on the scannerReadPoints object.<a name="line.359"></a>
+<span class="sourceLineNo">360</span>    synchronized(scannerReadPoints) {<a name="line.360"></a>
+<span class="sourceLineNo">361</span>      minimumReadPoint = mvcc.getReadPoint();<a name="line.361"></a>
+<span class="sourceLineNo">362</span>      for (Long readPoint: this.scannerReadPoints.values()) {<a name="line.362"></a>
+<span class="sourceLineNo">363</span>        if (readPoint &lt; minimumReadPoint) {<a name="line.363"></a>
+<span class="sourceLineNo">364</span>          minimumReadPoint = readPoint;<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>    return minimumReadPoint;<a name="line.368"></a>
+<span class="sourceLineNo">369</span>  }<a name="line.369"></a>
+<span class="sourceLineNo">370</span><a name="line.370"></a>
+<span class="sourceLineNo">371</span>  /*<a name="line.371"></a>
+<span class="sourceLineNo">372</span>   * Data structure of write state flags used coordinating flushes,<a name="line.372"></a>
+<span class="sourceLineNo">373</span>   * compactions and closes.<a name="line.373"></a>
+<span class="sourceLineNo">374</span>   */<a name="line.374"></a>
+<span class="sourceLineNo">375</span>  static class WriteState {<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    // Set while a memstore flush is happening.<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    volatile boolean flushing = false;<a name="line.377"></a>
+<span class="sourceLineNo">378</span>    // Set when a flush has been requested.<a name="line.378"></a>
+<span class="sourceLineNo">379</span>    volatile boolean flushRequested = false;<a name="line.379"></a>
+<span class="sourceLineNo">380</span>    // Number of compactions running.<a name="line.380"></a>
+<span class="sourceLineNo">381</span>    AtomicInteger compacting = new AtomicInteger(0);<a name="line.381"></a>
+<span class="sourceLineNo">382</span>    // Gets set in close. If set, cannot compact or flush again.<a name="line.382"></a>
+<span class="sourceLineNo">383</span>    volatile boolean writesEnabled = true;<a name="line.383"></a>
+<span class="sourceLineNo">384</span>    // Set if region is read-only<a name="line.384"></a>
+<span class="sourceLineNo">385</span>    volatile boolean readOnly = false;<a name="line.385"></a>
+<span class="sourceLineNo">386</span>    // whether the reads are enabled. This is different than readOnly, because readOnly is<a name="line.386"></a>
+<span class="sourceLineNo">387</span>    // static in the lifetime of the region, while readsEnabled is dynamic<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    volatile boolean readsEnabled = true;<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>     * Set flags that make this region read-only.<a name="line.391"></a>
+<span class="sourceLineNo">392</span>     *<a name="line.392"></a>
+<span class="sourceLineNo">393</span>     * @param onOff flip value for region r/o setting<a name="line.393"></a>
+<span class="sourceLineNo">394</span>     */<a name="line.394"></a>
+<span class="sourceLineNo">395</span>    synchronized void setReadOnly(final boolean onOff) {<a name="line.395"></a>
+<span class="sourceLineNo">396</span>      this.writesEnabled = !onOff;<a name="line.396"></a>
+<span class="sourceLineNo">397</span>      this.readOnly = onOff;<a name="line.397"></a>
+<span class="sourceLineNo">398</span>    }<a name="line.398"></a>
+<span class="sourceLineNo">399</span><a name="line.399"></a>
+<span class="sourceLineNo">400</span>    boolean isReadOnly() {<a name="line.400"></a>
+<span class="sourceLineNo">401</span>      return this.readOnly;<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>    boolean isFlushRequested() {<a name="line.404"></a>
+<span class="sourceLineNo">405</span>      return this.flushRequested;<a name="line.405"></a>
+<span class="sourceLineNo">406</span>    }<a name="line.406"></a>
+<span class="sourceLineNo">407</span><a name="line.407"></a>
+<span class="sourceLineNo">408</span>    void setReadsEnabled(boolean readsEnabled) {<a name="line.408"></a>
+<span class="sourceLineNo">409</span>      this.readsEnabled = readsEnabled;<a name="line.409"></a>
+<span class="sourceLineNo">410</span>    }<a name="line.410"></a>
+<span class="sourceLineNo">411</span><a name="line.411"></a>
+<span class="sourceLineNo">412</span>    static final long HEAP_SIZE = ClassSize.align(<a name="line.412"></a>
+<span class="sourceLineNo">413</span>        ClassSize.OBJECT + 5 * Bytes.SIZEOF_BOOLEAN);<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>    boolean isReadOnly() {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      return this.readOnly;<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>    boolean isFlushRequested() {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>      return this.flushRequested;<a name="line.421"></a>
-<span class="sourceLineNo">422</span>    }<a name="line.422"></a>
-<span class="sourceLineNo">423</span><a name="line.423"></a>
-<span class="sourceLineNo">424</span>    void setReadsEnabled(boolean readsEnabled) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span>      this.readsEnabled = readsEnabled;<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    }<a name="line.426"></a>
+<span class="sourceLineNo">416</span>  /**<a name="line.416"></a>
+<span class="sourceLineNo">417</span>   * Objects from this class are created when flushing to describe all the different states that<a name="line.417"></a>
+<span class="sourceLineNo">418</span>   * that method ends up in. The Result enum describes those states. The sequence id should only<a name="line.418"></a>
+<span class="sourceLineNo">419</span>   * be specified if the flush was successful, and the failure message should only be specified<a name="line.419"></a>
+<span class="sourceLineNo">420</span>   * if it didn't flush.<a name="line.420"></a>
+<span class="sourceLineNo">421</span>   */<a name="line.421"></a>
+<span class="sourceLineNo">422</span>  public static class FlushResultImpl implements FlushResult {<a name="line.422"></a>
+<span class="sourceLineNo">423</span>    final Result result;<a name="line.423"></a>
+<span class="sourceLineNo">424</span>    final String failureReason;<a name="line.424"></a>
+<span class="sourceLineNo">425</span>    final long flushSequenceId;<a name="line.425"></a>
+<span class="sourceLineNo">426</span>    final boolean wroteFlushWalMarker;<a name="line.426"></a>
 <span class="sourceLineNo">427</span><a name="line.427"></a>
-<span class="sourceLineNo">428</span>    static final long HEAP_SIZE = ClassSize.align(<a name="line.428"></a>
-<span class="sourceLineNo">429</span>        ClassSize.OBJECT + 5 * Bytes.SIZEOF_BOOLEAN);<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  }<a name="line.430"></a>
-<span class="sourceLineNo">431</span><a name="line.431"></a>
-<span class="sourceLineNo">432</span>  /**<a name="line.432"></a>
-<span class="sourceLineNo">433</span>   * Objects from this class are created when flushing to describe all the different states that<a name="line.433"></a>
-<span class="sourceLineNo">434</span>   * that method ends up in. The Result enum describes those states. The sequence id should only<a name="line.434"></a>
-<span class="sourceLineNo">435</span>   * be specified if the flush was successful, and the failure message should only be specified<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   * if it didn't flush.<a name="line.436"></a>
-<span class="sourceLineNo">437</span>   */<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  public static class FlushResultImpl implements FlushResult {<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    final Result result;<a name="line.439"></a>
-<span class="sourceLineNo">440</span>    final String failureReason;<a name="line.440"></a>
-<span class="sourceLineNo">441</span>    final long flushSequenceId;<a name="line.441"></a>
-<span class="sourceLineNo">442</span>    final boolean wroteFlushWalMarker;<a name="line.442"></a>
-<span class="sourceLineNo">443</span><a name="line.443"></a>
-<span class="sourceLineNo">444</span>    /**<a name="line.444"></a>
-<span class="sourceLineNo">445</span>     * Convenience constructor to use when the flush is successful, the failure message is set to<a name="line.445"></a>
-<span class="sourceLineNo">446</span>     * null.<a name="line.446"></a>
-<span class="sourceLineNo">447</span>     * @param result Expecting FLUSHED_NO_COMPACTION_NEEDED or FLUSHED_COMPACTION_NEEDED.<a name="line.447"></a>
-<span class="sourceLineNo">448</span>     * @param flushSequenceId Generated sequence id that comes right after the edits in the<a name="line.448"></a>
-<span class="sourceLineNo">449</span>     *                        memstores.<a name="line.449"></a>
-<span class="sourceLineNo">450</span>     */<a name="line.450"></a>
-<span class=

<TRUNCATED>

[48/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/apidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html b/apidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html
index 6cf6743..1b54cf8 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html
@@ -27,572 +27,649 @@
 <span class="sourceLineNo">019</span> */<a name="line.19"></a>
 <span class="sourceLineNo">020</span>package org.apache.hadoop.hbase.client;<a name="line.20"></a>
 <span class="sourceLineNo">021</span><a name="line.21"></a>
-<span class="sourceLineNo">022</span>import java.io.IOException;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.util.AbstractMap.SimpleEntry;<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.Collections;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.util.HashMap;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import java.util.List;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import java.util.Map;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import java.util.concurrent.ExecutorService;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import java.util.concurrent.Executors;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import java.util.concurrent.LinkedBlockingQueue;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import java.util.concurrent.ScheduledExecutorService;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import java.util.concurrent.TimeUnit;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.36"></a>
-<span class="sourceLineNo">037</span><a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.commons.logging.Log;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.commons.logging.LogFactory;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.conf.Configuration;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.HBaseConfiguration;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.HConstants;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.ServerName;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.TableName;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.client.AsyncProcess.AsyncRequestFuture;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.ipc.RpcControllerFactory;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.51"></a>
-<span class="sourceLineNo">052</span><a name="line.52"></a>
-<span class="sourceLineNo">053</span>import com.google.common.util.concurrent.ThreadFactoryBuilder;<a name="line.53"></a>
-<span class="sourceLineNo">054</span><a name="line.54"></a>
-<span class="sourceLineNo">055</span>/**<a name="line.55"></a>
-<span class="sourceLineNo">056</span> * HTableMultiplexer provides a thread-safe non blocking PUT API across all the tables.<a name="line.56"></a>
-<span class="sourceLineNo">057</span> * Each put will be sharded into different buffer queues based on its destination region server.<a name="line.57"></a>
-<span class="sourceLineNo">058</span> * So each region server buffer queue will only have the puts which share the same destination.<a name="line.58"></a>
-<span class="sourceLineNo">059</span> * And each queue will have a flush worker thread to flush the puts request to the region server.<a name="line.59"></a>
-<span class="sourceLineNo">060</span> * If any queue is full, the HTableMultiplexer starts to drop the Put requests for that<a name="line.60"></a>
-<span class="sourceLineNo">061</span> * particular queue.<a name="line.61"></a>
-<span class="sourceLineNo">062</span> *<a name="line.62"></a>
-<span class="sourceLineNo">063</span> * Also all the puts will be retried as a configuration number before dropping.<a name="line.63"></a>
-<span class="sourceLineNo">064</span> * And the HTableMultiplexer can report the number of buffered requests and the number of the<a name="line.64"></a>
-<span class="sourceLineNo">065</span> * failed (dropped) requests in total or on per region server basis.<a name="line.65"></a>
-<span class="sourceLineNo">066</span> *<a name="line.66"></a>
-<span class="sourceLineNo">067</span> * This class is thread safe.<a name="line.67"></a>
-<span class="sourceLineNo">068</span> */<a name="line.68"></a>
-<span class="sourceLineNo">069</span>@InterfaceAudience.Public<a name="line.69"></a>
-<span class="sourceLineNo">070</span>@InterfaceStability.Evolving<a name="line.70"></a>
-<span class="sourceLineNo">071</span>public class HTableMultiplexer {<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  private static final Log LOG = LogFactory.getLog(HTableMultiplexer.class.getName());<a name="line.72"></a>
-<span class="sourceLineNo">073</span><a name="line.73"></a>
-<span class="sourceLineNo">074</span>  public static final String TABLE_MULTIPLEXER_FLUSH_PERIOD_MS =<a name="line.74"></a>
-<span class="sourceLineNo">075</span>      "hbase.tablemultiplexer.flush.period.ms";<a name="line.75"></a>
-<span class="sourceLineNo">076</span>  public static final String TABLE_MULTIPLEXER_INIT_THREADS = "hbase.tablemultiplexer.init.threads";<a name="line.76"></a>
-<span class="sourceLineNo">077</span>  public static final String TABLE_MULTIPLEXER_MAX_RETRIES_IN_QUEUE =<a name="line.77"></a>
-<span class="sourceLineNo">078</span>      "hbase.client.max.retries.in.queue";<a name="line.78"></a>
-<span class="sourceLineNo">079</span><a name="line.79"></a>
-<span class="sourceLineNo">080</span>  /** The map between each region server to its flush worker */<a name="line.80"></a>
-<span class="sourceLineNo">081</span>  private final Map&lt;HRegionLocation, FlushWorker&gt; serverToFlushWorkerMap =<a name="line.81"></a>
-<span class="sourceLineNo">082</span>      new ConcurrentHashMap&lt;&gt;();<a name="line.82"></a>
-<span class="sourceLineNo">083</span><a name="line.83"></a>
-<span class="sourceLineNo">084</span>  private final Configuration workerConf;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>  private final ClusterConnection conn;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>  private final ExecutorService pool;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>  private final int maxAttempts;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>  private final int perRegionServerBufferQueueSize;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>  private final int maxKeyValueSize;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>  private final ScheduledExecutorService executor;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>  private final long flushPeriod;<a name="line.91"></a>
-<span class="sourceLineNo">092</span><a name="line.92"></a>
-<span class="sourceLineNo">093</span>  /**<a name="line.93"></a>
-<span class="sourceLineNo">094</span>   * @param conf The HBaseConfiguration<a name="line.94"></a>
-<span class="sourceLineNo">095</span>   * @param perRegionServerBufferQueueSize determines the max number of the buffered Put ops for<a name="line.95"></a>
-<span class="sourceLineNo">096</span>   *          each region server before dropping the request.<a name="line.96"></a>
-<span class="sourceLineNo">097</span>   */<a name="line.97"></a>
-<span class="sourceLineNo">098</span>  public HTableMultiplexer(Configuration conf, int perRegionServerBufferQueueSize)<a name="line.98"></a>
-<span class="sourceLineNo">099</span>      throws IOException {<a name="line.99"></a>
-<span class="sourceLineNo">100</span>    this.conn = (ClusterConnection) ConnectionFactory.createConnection(conf);<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    this.pool = HTable.getDefaultExecutor(conf);<a name="line.101"></a>
-<span class="sourceLineNo">102</span>    // how many times we could try in total, one more than retry number<a name="line.102"></a>
-<span class="sourceLineNo">103</span>    this.maxAttempts = conf.getInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER,<a name="line.103"></a>
-<span class="sourceLineNo">104</span>        HConstants.DEFAULT_HBASE_CLIENT_RETRIES_NUMBER) + 1;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    this.perRegionServerBufferQueueSize = perRegionServerBufferQueueSize;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    this.maxKeyValueSize = HTable.getMaxKeyValueSize(conf);<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    this.flushPeriod = conf.getLong(TABLE_MULTIPLEXER_FLUSH_PERIOD_MS, 100);<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    int initThreads = conf.getInt(TABLE_MULTIPLEXER_INIT_THREADS, 10);<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    this.executor =<a name="line.109"></a>
-<span class="sourceLineNo">110</span>        Executors.newScheduledThreadPool(initThreads,<a name="line.110"></a>
-<span class="sourceLineNo">111</span>          new ThreadFactoryBuilder().setDaemon(true).setNameFormat("HTableFlushWorker-%d").build());<a name="line.111"></a>
-<span class="sourceLineNo">112</span><a name="line.112"></a>
-<span class="sourceLineNo">113</span>    this.workerConf = HBaseConfiguration.create(conf);<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    // We do not do the retry because we need to reassign puts to different queues if regions are<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    // moved.<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    this.workerConf.setInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER, 0);<a name="line.116"></a>
-<span class="sourceLineNo">117</span>  }<a name="line.117"></a>
-<span class="sourceLineNo">118</span><a name="line.118"></a>
-<span class="sourceLineNo">119</span>  /**<a name="line.119"></a>
-<span class="sourceLineNo">120</span>   * The put request will be buffered by its corresponding buffer queue. Return false if the queue<a name="line.120"></a>
-<span class="sourceLineNo">121</span>   * is already full.<a name="line.121"></a>
-<span class="sourceLineNo">122</span>   * @param tableName<a name="line.122"></a>
-<span class="sourceLineNo">123</span>   * @param put<a name="line.123"></a>
-<span class="sourceLineNo">124</span>   * @return true if the request can be accepted by its corresponding buffer queue.<a name="line.124"></a>
-<span class="sourceLineNo">125</span>   */<a name="line.125"></a>
-<span class="sourceLineNo">126</span>  public boolean put(TableName tableName, final Put put) {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    return put(tableName, put, this.maxAttempts);<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 name="line.130"></a>
-<span class="sourceLineNo">131</span>   * The puts request will be buffered by their corresponding buffer queue.<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   * Return the list of puts which could not be queued.<a name="line.132"></a>
-<span class="sourceLineNo">133</span>   * @param tableName<a name="line.133"></a>
-<span class="sourceLineNo">134</span>   * @param puts<a name="line.134"></a>
-<span class="sourceLineNo">135</span>   * @return the list of puts which could not be queued<a name="line.135"></a>
-<span class="sourceLineNo">136</span>   */<a name="line.136"></a>
-<span class="sourceLineNo">137</span>  public List&lt;Put&gt; put(TableName tableName, final List&lt;Put&gt; puts) {<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    if (puts == null)<a name="line.138"></a>
-<span class="sourceLineNo">139</span>      return null;<a name="line.139"></a>
-<span class="sourceLineNo">140</span><a name="line.140"></a>
-<span class="sourceLineNo">141</span>    List &lt;Put&gt; failedPuts = null;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    boolean result;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    for (Put put : puts) {<a name="line.143"></a>
-<span class="sourceLineNo">144</span>      result = put(tableName, put, this.maxAttempts);<a name="line.144"></a>
-<span class="sourceLineNo">145</span>      if (result == false) {<a name="line.145"></a>
-<span class="sourceLineNo">146</span><a name="line.146"></a>
-<span class="sourceLineNo">147</span>        // Create the failed puts list if necessary<a name="line.147"></a>
-<span class="sourceLineNo">148</span>        if (failedPuts == null) {<a name="line.148"></a>
-<span class="sourceLineNo">149</span>          failedPuts = new ArrayList&lt;Put&gt;();<a name="line.149"></a>
-<span class="sourceLineNo">150</span>        }<a name="line.150"></a>
-<span class="sourceLineNo">151</span>        // Add the put to the failed puts list<a name="line.151"></a>
-<span class="sourceLineNo">152</span>        failedPuts.add(put);<a name="line.152"></a>
-<span class="sourceLineNo">153</span>      }<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    }<a name="line.154"></a>
-<span class="sourceLineNo">155</span>    return failedPuts;<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>   * @deprecated Use {@link #put(TableName, List) } instead.<a name="line.159"></a>
+<span class="sourceLineNo">022</span>import com.google.common.annotations.VisibleForTesting;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import com.google.common.util.concurrent.ThreadFactoryBuilder;<a name="line.23"></a>
+<span class="sourceLineNo">024</span><a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.io.IOException;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.util.AbstractMap.SimpleEntry;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.util.ArrayList;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import java.util.Collections;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import java.util.HashMap;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import java.util.List;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import java.util.Map;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import java.util.concurrent.ExecutorService;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import java.util.concurrent.Executors;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import java.util.concurrent.LinkedBlockingQueue;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import java.util.concurrent.ScheduledExecutorService;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import java.util.concurrent.TimeUnit;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.39"></a>
+<span class="sourceLineNo">040</span><a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.commons.logging.Log;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.commons.logging.LogFactory;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.conf.Configuration;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.HBaseConfiguration;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.HConstants;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.ServerName;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.TableName;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.client.AsyncProcess.AsyncRequestFuture;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.ipc.RpcControllerFactory;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.54"></a>
+<span class="sourceLineNo">055</span><a name="line.55"></a>
+<span class="sourceLineNo">056</span>/**<a name="line.56"></a>
+<span class="sourceLineNo">057</span> * HTableMultiplexer provides a thread-safe non blocking PUT API across all the tables.<a name="line.57"></a>
+<span class="sourceLineNo">058</span> * Each put will be sharded into different buffer queues based on its destination region server.<a name="line.58"></a>
+<span class="sourceLineNo">059</span> * So each region server buffer queue will only have the puts which share the same destination.<a name="line.59"></a>
+<span class="sourceLineNo">060</span> * And each queue will have a flush worker thread to flush the puts request to the region server.<a name="line.60"></a>
+<span class="sourceLineNo">061</span> * If any queue is full, the HTableMultiplexer starts to drop the Put requests for that<a name="line.61"></a>
+<span class="sourceLineNo">062</span> * particular queue.<a name="line.62"></a>
+<span class="sourceLineNo">063</span> *<a name="line.63"></a>
+<span class="sourceLineNo">064</span> * Also all the puts will be retried as a configuration number before dropping.<a name="line.64"></a>
+<span class="sourceLineNo">065</span> * And the HTableMultiplexer can report the number of buffered requests and the number of the<a name="line.65"></a>
+<span class="sourceLineNo">066</span> * failed (dropped) requests in total or on per region server basis.<a name="line.66"></a>
+<span class="sourceLineNo">067</span> *<a name="line.67"></a>
+<span class="sourceLineNo">068</span> * This class is thread safe.<a name="line.68"></a>
+<span class="sourceLineNo">069</span> */<a name="line.69"></a>
+<span class="sourceLineNo">070</span>@InterfaceAudience.Public<a name="line.70"></a>
+<span class="sourceLineNo">071</span>@InterfaceStability.Evolving<a name="line.71"></a>
+<span class="sourceLineNo">072</span>public class HTableMultiplexer {<a name="line.72"></a>
+<span class="sourceLineNo">073</span>  private static final Log LOG = LogFactory.getLog(HTableMultiplexer.class.getName());<a name="line.73"></a>
+<span class="sourceLineNo">074</span><a name="line.74"></a>
+<span class="sourceLineNo">075</span>  public static final String TABLE_MULTIPLEXER_FLUSH_PERIOD_MS =<a name="line.75"></a>
+<span class="sourceLineNo">076</span>      "hbase.tablemultiplexer.flush.period.ms";<a name="line.76"></a>
+<span class="sourceLineNo">077</span>  public static final String TABLE_MULTIPLEXER_INIT_THREADS = "hbase.tablemultiplexer.init.threads";<a name="line.77"></a>
+<span class="sourceLineNo">078</span>  public static final String TABLE_MULTIPLEXER_MAX_RETRIES_IN_QUEUE =<a name="line.78"></a>
+<span class="sourceLineNo">079</span>      "hbase.client.max.retries.in.queue";<a name="line.79"></a>
+<span class="sourceLineNo">080</span><a name="line.80"></a>
+<span class="sourceLineNo">081</span>  /** The map between each region server to its flush worker */<a name="line.81"></a>
+<span class="sourceLineNo">082</span>  private final Map&lt;HRegionLocation, FlushWorker&gt; serverToFlushWorkerMap =<a name="line.82"></a>
+<span class="sourceLineNo">083</span>      new ConcurrentHashMap&lt;&gt;();<a name="line.83"></a>
+<span class="sourceLineNo">084</span><a name="line.84"></a>
+<span class="sourceLineNo">085</span>  private final Configuration workerConf;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>  private final ClusterConnection conn;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>  private final ExecutorService pool;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>  private final int maxAttempts;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>  private final int perRegionServerBufferQueueSize;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>  private final int maxKeyValueSize;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>  private final ScheduledExecutorService executor;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>  private final long flushPeriod;<a name="line.92"></a>
+<span class="sourceLineNo">093</span><a name="line.93"></a>
+<span class="sourceLineNo">094</span>  /**<a name="line.94"></a>
+<span class="sourceLineNo">095</span>   * @param conf The HBaseConfiguration<a name="line.95"></a>
+<span class="sourceLineNo">096</span>   * @param perRegionServerBufferQueueSize determines the max number of the buffered Put ops for<a name="line.96"></a>
+<span class="sourceLineNo">097</span>   *          each region server before dropping the request.<a name="line.97"></a>
+<span class="sourceLineNo">098</span>   */<a name="line.98"></a>
+<span class="sourceLineNo">099</span>  public HTableMultiplexer(Configuration conf, int perRegionServerBufferQueueSize)<a name="line.99"></a>
+<span class="sourceLineNo">100</span>      throws IOException {<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    this(ConnectionFactory.createConnection(conf), conf, perRegionServerBufferQueueSize);<a name="line.101"></a>
+<span class="sourceLineNo">102</span>  }<a name="line.102"></a>
+<span class="sourceLineNo">103</span><a name="line.103"></a>
+<span class="sourceLineNo">104</span>  /**<a name="line.104"></a>
+<span class="sourceLineNo">105</span>   * @param conn The HBase connection.<a name="line.105"></a>
+<span class="sourceLineNo">106</span>   * @param conf The HBase configuration<a name="line.106"></a>
+<span class="sourceLineNo">107</span>   * @param perRegionServerBufferQueueSize determines the max number of the buffered Put ops for<a name="line.107"></a>
+<span class="sourceLineNo">108</span>   *          each region server before dropping the request.<a name="line.108"></a>
+<span class="sourceLineNo">109</span>   */<a name="line.109"></a>
+<span class="sourceLineNo">110</span>  public HTableMultiplexer(Connection conn, Configuration conf,<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      int perRegionServerBufferQueueSize) {<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    this.conn = (ClusterConnection) conn;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>    this.pool = HTable.getDefaultExecutor(conf);<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    // how many times we could try in total, one more than retry number<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    this.maxAttempts = conf.getInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER,<a name="line.115"></a>
+<span class="sourceLineNo">116</span>        HConstants.DEFAULT_HBASE_CLIENT_RETRIES_NUMBER) + 1;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    this.perRegionServerBufferQueueSize = perRegionServerBufferQueueSize;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    this.maxKeyValueSize = HTable.getMaxKeyValueSize(conf);<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    this.flushPeriod = conf.getLong(TABLE_MULTIPLEXER_FLUSH_PERIOD_MS, 100);<a name="line.119"></a>
+<span class="sourceLineNo">120</span>    int initThreads = conf.getInt(TABLE_MULTIPLEXER_INIT_THREADS, 10);<a name="line.120"></a>
+<span class="sourceLineNo">121</span>    this.executor =<a name="line.121"></a>
+<span class="sourceLineNo">122</span>        Executors.newScheduledThreadPool(initThreads,<a name="line.122"></a>
+<span class="sourceLineNo">123</span>          new ThreadFactoryBuilder().setDaemon(true).setNameFormat("HTableFlushWorker-%d").build());<a name="line.123"></a>
+<span class="sourceLineNo">124</span><a name="line.124"></a>
+<span class="sourceLineNo">125</span>    this.workerConf = HBaseConfiguration.create(conf);<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    // We do not do the retry because we need to reassign puts to different queues if regions are<a name="line.126"></a>
+<span class="sourceLineNo">127</span>    // moved.<a name="line.127"></a>
+<span class="sourceLineNo">128</span>    this.workerConf.setInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER, 0);<a name="line.128"></a>
+<span class="sourceLineNo">129</span>  }<a name="line.129"></a>
+<span class="sourceLineNo">130</span><a name="line.130"></a>
+<span class="sourceLineNo">131</span>  /**<a name="line.131"></a>
+<span class="sourceLineNo">132</span>   * Closes the internal {@link Connection}. Does nothing if the {@link Connection} has already<a name="line.132"></a>
+<span class="sourceLineNo">133</span>   * been closed.<a name="line.133"></a>
+<span class="sourceLineNo">134</span>   * @throws IOException If there is an error closing the connection.<a name="line.134"></a>
+<span class="sourceLineNo">135</span>   */<a name="line.135"></a>
+<span class="sourceLineNo">136</span>  @SuppressWarnings("deprecation")<a name="line.136"></a>
+<span class="sourceLineNo">137</span>  public synchronized void close() throws IOException {<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    if (!getConnection().isClosed()) {<a name="line.138"></a>
+<span class="sourceLineNo">139</span>      getConnection().close();<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    }<a name="line.140"></a>
+<span class="sourceLineNo">141</span>  }<a name="line.141"></a>
+<span class="sourceLineNo">142</span><a name="line.142"></a>
+<span class="sourceLineNo">143</span>  /**<a name="line.143"></a>
+<span class="sourceLineNo">144</span>   * The put request will be buffered by its corresponding buffer queue. Return false if the queue<a name="line.144"></a>
+<span class="sourceLineNo">145</span>   * is already full.<a name="line.145"></a>
+<span class="sourceLineNo">146</span>   * @param tableName<a name="line.146"></a>
+<span class="sourceLineNo">147</span>   * @param put<a name="line.147"></a>
+<span class="sourceLineNo">148</span>   * @return true if the request can be accepted by its corresponding buffer queue.<a name="line.148"></a>
+<span class="sourceLineNo">149</span>   */<a name="line.149"></a>
+<span class="sourceLineNo">150</span>  public boolean put(TableName tableName, final Put put) {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    return put(tableName, put, this.maxAttempts);<a name="line.151"></a>
+<span class="sourceLineNo">152</span>  }<a name="line.152"></a>
+<span class="sourceLineNo">153</span><a name="line.153"></a>
+<span class="sourceLineNo">154</span>  /**<a name="line.154"></a>
+<span class="sourceLineNo">155</span>   * The puts request will be buffered by their corresponding buffer queue.<a name="line.155"></a>
+<span class="sourceLineNo">156</span>   * Return the list of puts which could not be queued.<a name="line.156"></a>
+<span class="sourceLineNo">157</span>   * @param tableName<a name="line.157"></a>
+<span class="sourceLineNo">158</span>   * @param puts<a name="line.158"></a>
+<span class="sourceLineNo">159</span>   * @return the list of puts which could not be queued<a name="line.159"></a>
 <span class="sourceLineNo">160</span>   */<a name="line.160"></a>
-<span class="sourceLineNo">161</span>  @Deprecated<a name="line.161"></a>
-<span class="sourceLineNo">162</span>  public List&lt;Put&gt; put(byte[] tableName, final List&lt;Put&gt; puts) {<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    return put(TableName.valueOf(tableName), puts);<a name="line.163"></a>
-<span class="sourceLineNo">164</span>  }<a name="line.164"></a>
-<span class="sourceLineNo">165</span><a name="line.165"></a>
-<span class="sourceLineNo">166</span>  /**<a name="line.166"></a>
-<span class="sourceLineNo">167</span>   * The put request will be buffered by its corresponding buffer queue. And the put request will be<a name="line.167"></a>
-<span class="sourceLineNo">168</span>   * retried before dropping the request.<a name="line.168"></a>
-<span class="sourceLineNo">169</span>   * Return false if the queue is already full.<a name="line.169"></a>
-<span class="sourceLineNo">170</span>   * @return true if the request can be accepted by its corresponding buffer queue.<a name="line.170"></a>
-<span class="sourceLineNo">171</span>   */<a name="line.171"></a>
-<span class="sourceLineNo">172</span>  public boolean put(final TableName tableName, final Put put, int maxAttempts) {<a name="line.172"></a>
-<span class="sourceLineNo">173</span>    if (maxAttempts &lt;= 0) {<a name="line.173"></a>
-<span class="sourceLineNo">174</span>      return false;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    }<a name="line.175"></a>
-<span class="sourceLineNo">176</span><a name="line.176"></a>
-<span class="sourceLineNo">177</span>    try {<a name="line.177"></a>
-<span class="sourceLineNo">178</span>      HTable.validatePut(put, maxKeyValueSize);<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      HRegionLocation loc = conn.getRegionLocation(tableName, put.getRow(), false);<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      if (loc != null) {<a name="line.180"></a>
-<span class="sourceLineNo">181</span>        // Add the put pair into its corresponding queue.<a name="line.181"></a>
-<span class="sourceLineNo">182</span>        LinkedBlockingQueue&lt;PutStatus&gt; queue = getQueue(loc);<a name="line.182"></a>
-<span class="sourceLineNo">183</span><a name="line.183"></a>
-<span class="sourceLineNo">184</span>        // Generate a MultiPutStatus object and offer it into the queue<a name="line.184"></a>
-<span class="sourceLineNo">185</span>        PutStatus s = new PutStatus(loc.getRegionInfo(), put, maxAttempts);<a name="line.185"></a>
-<span class="sourceLineNo">186</span><a name="line.186"></a>
-<span class="sourceLineNo">187</span>        return queue.offer(s);<a name="line.187"></a>
-<span class="sourceLineNo">188</span>      }<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    } catch (IOException e) {<a name="line.189"></a>
-<span class="sourceLineNo">190</span>      LOG.debug("Cannot process the put " + put, e);<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    }<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    return false;<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>  /**<a name="line.195"></a>
-<span class="sourceLineNo">196</span>   * @deprecated Use {@link #put(TableName, Put) } instead.<a name="line.196"></a>
-<span class="sourceLineNo">197</span>   */<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  @Deprecated<a name="line.198"></a>
-<span class="sourceLineNo">199</span>  public boolean put(final byte[] tableName, final Put put, int retry) {<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    return put(TableName.valueOf(tableName), put, retry);<a name="line.200"></a>
-<span class="sourceLineNo">201</span>  }<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>  /**<a name="line.203"></a>
-<span class="sourceLineNo">204</span>   * @deprecated Use {@link #put(TableName, Put)} instead.<a name="line.204"></a>
-<span class="sourceLineNo">205</span>   */<a name="line.205"></a>
-<span class="sourceLineNo">206</span>  @Deprecated<a name="line.206"></a>
-<span class="sourceLineNo">207</span>  public boolean put(final byte[] tableName, Put put) {<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    return put(TableName.valueOf(tableName), put);<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>  /**<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   * @return the current HTableMultiplexerStatus<a name="line.212"></a>
-<span class="sourceLineNo">213</span>   */<a name="line.213"></a>
-<span class="sourceLineNo">214</span>  public HTableMultiplexerStatus getHTableMultiplexerStatus() {<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    return new HTableMultiplexerStatus(serverToFlushWorkerMap);<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span>  private LinkedBlockingQueue&lt;PutStatus&gt; getQueue(HRegionLocation addr) {<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    FlushWorker worker = serverToFlushWorkerMap.get(addr);<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    if (worker == null) {<a name="line.220"></a>
-<span class="sourceLineNo">221</span>      synchronized (this.serverToFlushWorkerMap) {<a name="line.221"></a>
-<span class="sourceLineNo">222</span>        worker = serverToFlushWorkerMap.get(addr);<a name="line.222"></a>
-<span class="sourceLineNo">223</span>        if (worker == null) {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>          // Create the flush worker<a name="line.224"></a>
-<span class="sourceLineNo">225</span>          worker = new FlushWorker(workerConf, this.conn, addr, this,<a name="line.225"></a>
-<span class="sourceLineNo">226</span>              perRegionServerBufferQueueSize, pool, executor);<a name="line.226"></a>
-<span class="sourceLineNo">227</span>          this.serverToFlushWorkerMap.put(addr, worker);<a name="line.227"></a>
-<span class="sourceLineNo">228</span>          executor.scheduleAtFixedRate(worker, flushPeriod, flushPeriod, TimeUnit.MILLISECONDS);<a name="line.228"></a>
-<span class="sourceLineNo">229</span>        }<a name="line.229"></a>
-<span class="sourceLineNo">230</span>      }<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    }<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    return worker.getQueue();<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  }<a name="line.233"></a>
-<span class="sourceLineNo">234</span><a name="line.234"></a>
-<span class="sourceLineNo">235</span>  /**<a name="line.235"></a>
-<span class="sourceLineNo">236</span>   * HTableMultiplexerStatus keeps track of the current status of the HTableMultiplexer.<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   * report the number of buffered requests and the number of the failed (dropped) requests<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   * in total or on per region server basis.<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   */<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  @InterfaceAudience.Public<a name="line.240"></a>
-<span class="sourceLineNo">241</span>  @InterfaceStability.Evolving<a name="line.241"></a>
-<span class="sourceLineNo">242</span>  public static class HTableMultiplexerStatus {<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    private long totalFailedPutCounter;<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    private long totalBufferedPutCounter;<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    private long maxLatency;<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    private long overallAverageLatency;<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    private Map&lt;String, Long&gt; serverToFailedCounterMap;<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    private Map&lt;String, Long&gt; serverToBufferedCounterMap;<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    private Map&lt;String, Long&gt; serverToAverageLatencyMap;<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    private Map&lt;String, Long&gt; serverToMaxLatencyMap;<a name="line.250"></a>
-<span class="sourceLineNo">251</span><a name="line.251"></a>
-<span class="sourceLineNo">252</span>    public HTableMultiplexerStatus(<a name="line.252"></a>
-<span class="sourceLineNo">253</span>        Map&lt;HRegionLocation, FlushWorker&gt; serverToFlushWorkerMap) {<a name="line.253"></a>
-<span class="sourceLineNo">254</span>      this.totalBufferedPutCounter = 0;<a name="line.254"></a>
-<span class="sourceLineNo">255</span>      this.totalFailedPutCounter = 0;<a name="line.255"></a>
-<span class="sourceLineNo">256</span>      this.maxLatency = 0;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>      this.overallAverageLatency = 0;<a name="line.257"></a>
-<span class="sourceLineNo">258</span>      this.serverToBufferedCounterMap = new HashMap&lt;String, Long&gt;();<a name="line.258"></a>
-<span class="sourceLineNo">259</span>      this.serverToFailedCounterMap = new HashMap&lt;String, Long&gt;();<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      this.serverToAverageLatencyMap = new HashMap&lt;String, Long&gt;();<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      this.serverToMaxLatencyMap = new HashMap&lt;String, Long&gt;();<a name="line.261"></a>
-<span class="sourceLineNo">262</span>      this.initialize(serverToFlushWorkerMap);<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>    private void initialize(<a name="line.265"></a>
-<span class="sourceLineNo">266</span>        Map&lt;HRegionLocation, FlushWorker&gt; serverToFlushWorkerMap) {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      if (serverToFlushWorkerMap == null) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>        return;<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>      long averageCalcSum = 0;<a name="line.271"></a>
-<span class="sourceLineNo">272</span>      int averageCalcCount = 0;<a name="line.272"></a>
-<span class="sourceLineNo">273</span>      for (Map.Entry&lt;HRegionLocation, FlushWorker&gt; entry : serverToFlushWorkerMap<a name="line.273"></a>
-<span class="sourceLineNo">274</span>          .entrySet()) {<a name="line.274"></a>
-<span class="sourceLineNo">275</span>        HRegionLocation addr = entry.getKey();<a name="line.275"></a>
-<span class="sourceLineNo">276</span>        FlushWorker worker = entry.getValue();<a name="line.276"></a>
-<span class="sourceLineNo">277</span><a name="line.277"></a>
-<span class="sourceLineNo">278</span>        long bufferedCounter = worker.getTotalBufferedCount();<a name="line.278"></a>
-<span class="sourceLineNo">279</span>        long failedCounter = worker.getTotalFailedCount();<a name="line.279"></a>
-<span class="sourceLineNo">280</span>        long serverMaxLatency = worker.getMaxLatency();<a name="line.280"></a>
-<span class="sourceLineNo">281</span>        AtomicAverageCounter averageCounter = worker.getAverageLatencyCounter();<a name="line.281"></a>
-<span class="sourceLineNo">282</span>        // Get sum and count pieces separately to compute overall average<a name="line.282"></a>
-<span class="sourceLineNo">283</span>        SimpleEntry&lt;Long, Integer&gt; averageComponents = averageCounter<a name="line.283"></a>
-<span class="sourceLineNo">284</span>            .getComponents();<a name="line.284"></a>
-<span class="sourceLineNo">285</span>        long serverAvgLatency = averageCounter.getAndReset();<a name="line.285"></a>
-<span class="sourceLineNo">286</span><a name="line.286"></a>
-<span class="sourceLineNo">287</span>        this.totalBufferedPutCounter += bufferedCounter;<a name="line.287"></a>
-<span class="sourceLineNo">288</span>        this.totalFailedPutCounter += failedCounter;<a name="line.288"></a>
-<span class="sourceLineNo">289</span>        if (serverMaxLatency &gt; this.maxLatency) {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>          this.maxLatency = serverMaxLatency;<a name="line.290"></a>
-<span class="sourceLineNo">291</span>        }<a name="line.291"></a>
-<span class="sourceLineNo">292</span>        averageCalcSum += averageComponents.getKey();<a name="line.292"></a>
-<span class="sourceLineNo">293</span>        averageCalcCount += averageComponents.getValue();<a name="line.293"></a>
-<span class="sourceLineNo">294</span><a name="line.294"></a>
-<span class="sourceLineNo">295</span>        this.serverToBufferedCounterMap.put(addr.getHostnamePort(),<a name="line.295"></a>
-<span class="sourceLineNo">296</span>            bufferedCounter);<a name="line.296"></a>
-<span class="sourceLineNo">297</span>        this.serverToFailedCounterMap<a name="line.297"></a>
-<span class="sourceLineNo">298</span>            .put(addr.getHostnamePort(),<a name="line.298"></a>
-<span class="sourceLineNo">299</span>            failedCounter);<a name="line.299"></a>
-<span class="sourceLineNo">300</span>        this.serverToAverageLatencyMap.put(addr.getHostnamePort(),<a name="line.300"></a>
-<span class="sourceLineNo">301</span>            serverAvgLatency);<a name="line.301"></a>
-<span class="sourceLineNo">302</span>        this.serverToMaxLatencyMap<a name="line.302"></a>
-<span class="sourceLineNo">303</span>            .put(addr.getHostnamePort(),<a name="line.303"></a>
-<span class="sourceLineNo">304</span>            serverMaxLatency);<a name="line.304"></a>
-<span class="sourceLineNo">305</span>      }<a name="line.305"></a>
-<span class="sourceLineNo">306</span>      this.overallAverageLatency = averageCalcCount != 0 ? averageCalcSum<a name="line.306"></a>
-<span class="sourceLineNo">307</span>          / averageCalcCount : 0;<a name="line.307"></a>
+<span class="sourceLineNo">161</span>  public List&lt;Put&gt; put(TableName tableName, final List&lt;Put&gt; puts) {<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    if (puts == null)<a name="line.162"></a>
+<span class="sourceLineNo">163</span>      return null;<a name="line.163"></a>
+<span class="sourceLineNo">164</span><a name="line.164"></a>
+<span class="sourceLineNo">165</span>    List &lt;Put&gt; failedPuts = null;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>    boolean result;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    for (Put put : puts) {<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      result = put(tableName, put, this.maxAttempts);<a name="line.168"></a>
+<span class="sourceLineNo">169</span>      if (result == false) {<a name="line.169"></a>
+<span class="sourceLineNo">170</span><a name="line.170"></a>
+<span class="sourceLineNo">171</span>        // Create the failed puts list if necessary<a name="line.171"></a>
+<span class="sourceLineNo">172</span>        if (failedPuts == null) {<a name="line.172"></a>
+<span class="sourceLineNo">173</span>          failedPuts = new ArrayList&lt;Put&gt;();<a name="line.173"></a>
+<span class="sourceLineNo">174</span>        }<a name="line.174"></a>
+<span class="sourceLineNo">175</span>        // Add the put to the failed puts list<a name="line.175"></a>
+<span class="sourceLineNo">176</span>        failedPuts.add(put);<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>    return failedPuts;<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>  /**<a name="line.182"></a>
+<span class="sourceLineNo">183</span>   * @deprecated Use {@link #put(TableName, List) } instead.<a name="line.183"></a>
+<span class="sourceLineNo">184</span>   */<a name="line.184"></a>
+<span class="sourceLineNo">185</span>  @Deprecated<a name="line.185"></a>
+<span class="sourceLineNo">186</span>  public List&lt;Put&gt; put(byte[] tableName, final List&lt;Put&gt; puts) {<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    return put(TableName.valueOf(tableName), puts);<a name="line.187"></a>
+<span class="sourceLineNo">188</span>  }<a name="line.188"></a>
+<span class="sourceLineNo">189</span><a name="line.189"></a>
+<span class="sourceLineNo">190</span>  /**<a name="line.190"></a>
+<span class="sourceLineNo">191</span>   * The put request will be buffered by its corresponding buffer queue. And the put request will be<a name="line.191"></a>
+<span class="sourceLineNo">192</span>   * retried before dropping the request.<a name="line.192"></a>
+<span class="sourceLineNo">193</span>   * Return false if the queue is already full.<a name="line.193"></a>
+<span class="sourceLineNo">194</span>   * @return true if the request can be accepted by its corresponding buffer queue.<a name="line.194"></a>
+<span class="sourceLineNo">195</span>   */<a name="line.195"></a>
+<span class="sourceLineNo">196</span>  public boolean put(final TableName tableName, final Put put, int maxAttempts) {<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    return _put(tableName, put, maxAttempts, false);<a name="line.197"></a>
+<span class="sourceLineNo">198</span>  }<a name="line.198"></a>
+<span class="sourceLineNo">199</span><a name="line.199"></a>
+<span class="sourceLineNo">200</span>  /**<a name="line.200"></a>
+<span class="sourceLineNo">201</span>   * Internal "put" which exposes a boolean flag to control whether or not the region location<a name="line.201"></a>
+<span class="sourceLineNo">202</span>   * cache should be reloaded when trying to queue the {@link Put}.<a name="line.202"></a>
+<span class="sourceLineNo">203</span>   * @param tableName Destination table for the Put<a name="line.203"></a>
+<span class="sourceLineNo">204</span>   * @param put The Put to send<a name="line.204"></a>
+<span class="sourceLineNo">205</span>   * @param maxAttempts Number of attempts to retry the {@code put}<a name="line.205"></a>
+<span class="sourceLineNo">206</span>   * @param reloadCache Should the region location cache be reloaded<a name="line.206"></a>
+<span class="sourceLineNo">207</span>   * @return true if the request was accepted in the queue, otherwise false<a name="line.207"></a>
+<span class="sourceLineNo">208</span>   */<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  boolean _put(final TableName tableName, final Put put, int maxAttempts, boolean reloadCache) {<a name="line.209"></a>
+<span class="sourceLineNo">210</span>    if (maxAttempts &lt;= 0) {<a name="line.210"></a>
+<span class="sourceLineNo">211</span>      return false;<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    }<a name="line.212"></a>
+<span class="sourceLineNo">213</span><a name="line.213"></a>
+<span class="sourceLineNo">214</span>    try {<a name="line.214"></a>
+<span class="sourceLineNo">215</span>      HTable.validatePut(put, maxKeyValueSize);<a name="line.215"></a>
+<span class="sourceLineNo">216</span>      // Allow mocking to get at the connection, but don't expose the connection to users.<a name="line.216"></a>
+<span class="sourceLineNo">217</span>      ClusterConnection conn = (ClusterConnection) getConnection();<a name="line.217"></a>
+<span class="sourceLineNo">218</span>      HRegionLocation loc = conn.getRegionLocation(tableName, put.getRow(), reloadCache);<a name="line.218"></a>
+<span class="sourceLineNo">219</span>      if (loc != null) {<a name="line.219"></a>
+<span class="sourceLineNo">220</span>        // Add the put pair into its corresponding queue.<a name="line.220"></a>
+<span class="sourceLineNo">221</span>        LinkedBlockingQueue&lt;PutStatus&gt; queue = getQueue(loc);<a name="line.221"></a>
+<span class="sourceLineNo">222</span><a name="line.222"></a>
+<span class="sourceLineNo">223</span>        // Generate a MultiPutStatus object and offer it into the queue<a name="line.223"></a>
+<span class="sourceLineNo">224</span>        PutStatus s = new PutStatus(loc.getRegionInfo(), put, maxAttempts);<a name="line.224"></a>
+<span class="sourceLineNo">225</span><a name="line.225"></a>
+<span class="sourceLineNo">226</span>        return queue.offer(s);<a name="line.226"></a>
+<span class="sourceLineNo">227</span>      }<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    } catch (IOException e) {<a name="line.228"></a>
+<span class="sourceLineNo">229</span>      LOG.debug("Cannot process the put " + put, e);<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    }<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    return false;<a name="line.231"></a>
+<span class="sourceLineNo">232</span>  }<a name="line.232"></a>
+<span class="sourceLineNo">233</span><a name="line.233"></a>
+<span class="sourceLineNo">234</span>  /**<a name="line.234"></a>
+<span class="sourceLineNo">235</span>   * @deprecated Use {@link #put(TableName, Put) } instead.<a name="line.235"></a>
+<span class="sourceLineNo">236</span>   */<a name="line.236"></a>
+<span class="sourceLineNo">237</span>  @Deprecated<a name="line.237"></a>
+<span class="sourceLineNo">238</span>  public boolean put(final byte[] tableName, final Put put, int retry) {<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    return put(TableName.valueOf(tableName), put, retry);<a name="line.239"></a>
+<span class="sourceLineNo">240</span>  }<a name="line.240"></a>
+<span class="sourceLineNo">241</span><a name="line.241"></a>
+<span class="sourceLineNo">242</span>  /**<a name="line.242"></a>
+<span class="sourceLineNo">243</span>   * @deprecated Use {@link #put(TableName, Put)} instead.<a name="line.243"></a>
+<span class="sourceLineNo">244</span>   */<a name="line.244"></a>
+<span class="sourceLineNo">245</span>  @Deprecated<a name="line.245"></a>
+<span class="sourceLineNo">246</span>  public boolean put(final byte[] tableName, Put put) {<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    return put(TableName.valueOf(tableName), put);<a name="line.247"></a>
+<span class="sourceLineNo">248</span>  }<a name="line.248"></a>
+<span class="sourceLineNo">249</span><a name="line.249"></a>
+<span class="sourceLineNo">250</span>  /**<a name="line.250"></a>
+<span class="sourceLineNo">251</span>   * @return the current HTableMultiplexerStatus<a name="line.251"></a>
+<span class="sourceLineNo">252</span>   */<a name="line.252"></a>
+<span class="sourceLineNo">253</span>  public HTableMultiplexerStatus getHTableMultiplexerStatus() {<a name="line.253"></a>
+<span class="sourceLineNo">254</span>    return new HTableMultiplexerStatus(serverToFlushWorkerMap);<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>  @VisibleForTesting<a name="line.257"></a>
+<span class="sourceLineNo">258</span>  LinkedBlockingQueue&lt;PutStatus&gt; getQueue(HRegionLocation addr) {<a name="line.258"></a>
+<span class="sourceLineNo">259</span>    FlushWorker worker = serverToFlushWorkerMap.get(addr);<a name="line.259"></a>
+<span class="sourceLineNo">260</span>    if (worker == null) {<a name="line.260"></a>
+<span class="sourceLineNo">261</span>      synchronized (this.serverToFlushWorkerMap) {<a name="line.261"></a>
+<span class="sourceLineNo">262</span>        worker = serverToFlushWorkerMap.get(addr);<a name="line.262"></a>
+<span class="sourceLineNo">263</span>        if (worker == null) {<a name="line.263"></a>
+<span class="sourceLineNo">264</span>          // Create the flush worker<a name="line.264"></a>
+<span class="sourceLineNo">265</span>          worker = new FlushWorker(workerConf, this.conn, addr, this,<a name="line.265"></a>
+<span class="sourceLineNo">266</span>              perRegionServerBufferQueueSize, pool, executor);<a name="line.266"></a>
+<span class="sourceLineNo">267</span>          this.serverToFlushWorkerMap.put(addr, worker);<a name="line.267"></a>
+<span class="sourceLineNo">268</span>          executor.scheduleAtFixedRate(worker, flushPeriod, flushPeriod, TimeUnit.MILLISECONDS);<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>    }<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    return worker.getQueue();<a name="line.272"></a>
+<span class="sourceLineNo">273</span>  }<a name="line.273"></a>
+<span class="sourceLineNo">274</span><a name="line.274"></a>
+<span class="sourceLineNo">275</span>  @VisibleForTesting<a name="line.275"></a>
+<span class="sourceLineNo">276</span>  ClusterConnection getConnection() {<a name="line.276"></a>
+<span class="sourceLineNo">277</span>    return this.conn;<a name="line.277"></a>
+<span class="sourceLineNo">278</span>  }<a name="line.278"></a>
+<span class="sourceLineNo">279</span><a name="line.279"></a>
+<span class="sourceLineNo">280</span>  /**<a name="line.280"></a>
+<span class="sourceLineNo">281</span>   * HTableMultiplexerStatus keeps track of the current status of the HTableMultiplexer.<a name="line.281"></a>
+<span class="sourceLineNo">282</span>   * report the number of buffered requests and the number of the failed (dropped) requests<a name="line.282"></a>
+<span class="sourceLineNo">283</span>   * in total or on per region server basis.<a name="line.283"></a>
+<span class="sourceLineNo">284</span>   */<a name="line.284"></a>
+<span class="sourceLineNo">285</span>  @InterfaceAudience.Public<a name="line.285"></a>
+<span class="sourceLineNo">286</span>  @InterfaceStability.Evolving<a name="line.286"></a>
+<span class="sourceLineNo">287</span>  public static class HTableMultiplexerStatus {<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    private long totalFailedPutCounter;<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    private long totalBufferedPutCounter;<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    private long maxLatency;<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    private long overallAverageLatency;<a name="line.291"></a>
+<span class="sourceLineNo">292</span>    private Map&lt;String, Long&gt; serverToFailedCounterMap;<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    private Map&lt;String, Long&gt; serverToBufferedCounterMap;<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    private Map&lt;String, Long&gt; serverToAverageLatencyMap;<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    private Map&lt;String, Long&gt; serverToMaxLatencyMap;<a name="line.295"></a>
+<span class="sourceLineNo">296</span><a name="line.296"></a>
+<span class="sourceLineNo">297</span>    public HTableMultiplexerStatus(<a name="line.297"></a>
+<span class="sourceLineNo">298</span>        Map&lt;HRegionLocation, FlushWorker&gt; serverToFlushWorkerMap) {<a name="line.298"></a>
+<span class="sourceLineNo">299</span>      this.totalBufferedPutCounter = 0;<a name="line.299"></a>
+<span class="sourceLineNo">300</span>      this.totalFailedPutCounter = 0;<a name="line.300"></a>
+<span class="sourceLineNo">301</span>      this.maxLatency = 0;<a name="line.301"></a>
+<span class="sourceLineNo">302</span>      this.overallAverageLatency = 0;<a name="line.302"></a>
+<span class="sourceLineNo">303</span>      this.serverToBufferedCounterMap = new HashMap&lt;String, Long&gt;();<a name="line.303"></a>
+<span class="sourceLineNo">304</span>      this.serverToFailedCounterMap = new HashMap&lt;String, Long&gt;();<a name="line.304"></a>
+<span class="sourceLineNo">305</span>      this.serverToAverageLatencyMap = new HashMap&lt;String, Long&gt;();<a name="line.305"></a>
+<span class="sourceLineNo">306</span>      this.serverToMaxLatencyMap = new HashMap&lt;String, Long&gt;();<a name="line.306"></a>
+<span class="sourceLineNo">307</span>      this.initialize(serverToFlushWorkerMap);<a name="line.307"></a>
 <span class="sourceLineNo">308</span>    }<a name="line.308"></a>
 <span class="sourceLineNo">309</span><a name="line.309"></a>
-<span class="sourceLineNo">310</span>    public long getTotalBufferedCounter() {<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      return this.totalBufferedPutCounter;<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    }<a name="line.312"></a>
-<span class="sourceLineNo">313</span><a name="line.313"></a>
-<span class="sourceLineNo">314</span>    public long getTotalFailedCounter() {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>      return this.totalFailedPutCounter;<a name="line.315"></a>
-<span class="sourceLineNo">316</span>    }<a name="line.316"></a>
-<span class="sourceLineNo">317</span><a name="line.317"></a>
-<span class="sourceLineNo">318</span>    public long getMaxLatency() {<a name="line.318"></a>
-<span class="sourceLineNo">319</span>      return this.maxLatency;<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    }<a name="line.320"></a>
-<span class="sourceLineNo">321</span><a name="line.321"></a>
-<span class="sourceLineNo">322</span>    public long getOverallAverageLatency() {<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      return this.overallAverageLatency;<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>    public Map&lt;String, Long&gt; getBufferedCounterForEachRegionServer() {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>      return this.serverToBufferedCounterMap;<a name="line.327"></a>
-<span class="sourceLineNo">328</span>    }<a name="line.328"></a>
-<span class="sourceLineNo">329</span><a name="line.329"></a>
-<span class="sourceLineNo">330</span>    public Map&lt;String, Long&gt; getFailedCounterForEachRegionServer() {<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      return this.serverToFailedCounterMap;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    }<a name="line.332"></a>
-<span class="sourceLineNo">333</span><a name="line.333"></a>
-<span class="sourceLineNo">334</span>    public Map&lt;String, Long&gt; getMaxLatencyForEachRegionServer() {<a name="line.334"></a>
-<span class="sourceLineNo">335</span>      return this.serverToMaxLatencyMap;<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    }<a name="line.336"></a>
-<span class="sourceLineNo">337</span><a name="line.337"></a>
-<span class="sourceLineNo">338</span>    public Map&lt;String, Long&gt; getAverageLatencyForEachRegionServer() {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>      return this.serverToAverageLatencyMap;<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    }<a name="line.340"></a>
-<span class="sourceLineNo">341</span>  }<a name="line.341"></a>
-<span class="sourceLineNo">342</span><a name="line.342"></a>
-<span class="sourceLineNo">343</span>  private static class PutStatus {<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    private final HRegionInfo regionInfo;<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    private final Put put;<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    private final int maxAttempCount;<a name="line.346"></a>
-<span class="sourceLineNo">347</span><a name="line.347"></a>
-<span class="sourceLineNo">348</span>    public PutStatus(HRegionInfo regionInfo, Put put, int maxAttempCount) {<a name="line.348"></a>
-<span class="sourceLineNo">349</span>      this.regionInfo = regionInfo;<a name="line.349"></a>
-<span class="sourceLineNo">350</span>      this.put = put;<a name="line.350"></a>
-<span class="sourceLineNo">351</span>      this.maxAttempCount = maxAttempCount;<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    }<a name="line.352"></a>
-<span class="sourceLineNo">353</span>  }<a name="line.353"></a>
+<span class="sourceLineNo">310</span>    private void initialize(<a name="line.310"></a>
+<span class="sourceLineNo">311</span>        Map&lt;HRegionLocation, FlushWorker&gt; serverToFlushWorkerMap) {<a name="line.311"></a>
+<span class="sourceLineNo">312</span>      if (serverToFlushWorkerMap == null) {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>        return;<a name="line.313"></a>
+<span class="sourceLineNo">314</span>      }<a name="line.314"></a>
+<span class="sourceLineNo">315</span><a name="line.315"></a>
+<span class="sourceLineNo">316</span>      long averageCalcSum = 0;<a name="line.316"></a>
+<span class="sourceLineNo">317</span>      int averageCalcCount = 0;<a name="line.317"></a>
+<span class="sourceLineNo">318</span>      for (Map.Entry&lt;HRegionLocation, FlushWorker&gt; entry : serverToFlushWorkerMap<a name="line.318"></a>
+<span class="sourceLineNo">319</span>          .entrySet()) {<a name="line.319"></a>
+<span class="sourceLineNo">320</span>        HRegionLocation addr = entry.getKey();<a name="line.320"></a>
+<span class="sourceLineNo">321</span>        FlushWorker worker = entry.getValue();<a name="line.321"></a>
+<span class="sourceLineNo">322</span><a name="line.322"></a>
+<span class="sourceLineNo">323</span>        long bufferedCounter = worker.getTotalBufferedCount();<a name="line.323"></a>
+<span class="sourceLineNo">324</span>        long failedCounter = worker.getTotalFailedCount();<a name="line.324"></a>
+<span class="sourceLineNo">325</span>        long serverMaxLatency = worker.getMaxLatency();<a name="line.325"></a>
+<span class="sourceLineNo">326</span>        AtomicAverageCounter averageCounter = worker.getAverageLatencyCounter();<a name="line.326"></a>
+<span class="sourceLineNo">327</span>        // Get sum and count pieces separately to compute overall average<a name="line.327"></a>
+<span class="sourceLineNo">328</span>        SimpleEntry&lt;Long, Integer&gt; averageComponents = averageCounter<a name="line.328"></a>
+<span class="sourceLineNo">329</span>            .getComponents();<a name="line.329"></a>
+<span class="sourceLineNo">330</span>        long serverAvgLatency = averageCounter.getAndReset();<a name="line.330"></a>
+<span class="sourceLineNo">331</span><a name="line.331"></a>
+<span class="sourceLineNo">332</span>        this.totalBufferedPutCounter += bufferedCounter;<a name="line.332"></a>
+<span class="sourceLineNo">333</span>        this.totalFailedPutCounter += failedCounter;<a name="line.333"></a>
+<span class="sourceLineNo">334</span>        if (serverMaxLatency &gt; this.maxLatency) {<a name="line.334"></a>
+<span class="sourceLineNo">335</span>          this.maxLatency = serverMaxLatency;<a name="line.335"></a>
+<span class="sourceLineNo">336</span>        }<a name="line.336"></a>
+<span class="sourceLineNo">337</span>        averageCalcSum += averageComponents.getKey();<a name="line.337"></a>
+<span class="sourceLineNo">338</span>        averageCalcCount += averageComponents.getValue();<a name="line.338"></a>
+<span class="sourceLineNo">339</span><a name="line.339"></a>
+<span class="sourceLineNo">340</span>        this.serverToBufferedCounterMap.put(addr.getHostnamePort(),<a name="line.340"></a>
+<span class="sourceLineNo">341</span>            bufferedCounter);<a name="line.341"></a>
+<span class="sourceLineNo">342</span>        this.serverToFailedCounterMap<a name="line.342"></a>
+<span class="sourceLineNo">343</span>            .put(addr.getHostnamePort(),<a name="line.343"></a>
+<span class="sourceLineNo">344</span>            failedCounter);<a name="line.344"></a>
+<span class="sourceLineNo">345</span>        this.serverToAverageLatencyMap.put(addr.getHostnamePort(),<a name="line.345"></a>
+<span class="sourceLineNo">346</span>            serverAvgLatency);<a name="line.346"></a>
+<span class="sourceLineNo">347</span>        this.serverToMaxLatencyMap<a name="line.347"></a>
+<span class="sourceLineNo">348</span>            .put(addr.getHostnamePort(),<a name="line.348"></a>
+<span class="sourceLineNo">349</span>            serverMaxLatency);<a name="line.349"></a>
+<span class="sourceLineNo">350</span>      }<a name="line.350"></a>
+<span class="sourceLineNo">351</span>      this.overallAverageLatency = averageCalcCount != 0 ? averageCalcSum<a name="line.351"></a>
+<span class="sourceLineNo">352</span>          / averageCalcCount : 0;<a name="line.352"></a>
+<span class="sourceLineNo">353</span>    }<a name="line.353"></a>
 <span class="sourceLineNo">354</span><a name="line.354"></a>
-<span class="sourceLineNo">355</span>  /**<a name="line.355"></a>
-<span class="sourceLineNo">356</span>   * Helper to count the average over an interval until reset.<a name="line.356"></a>
-<span class="sourceLineNo">357</span>   */<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  private static class AtomicAverageCounter {<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    private long sum;<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    private int count;<a name="line.360"></a>
-<span class="sourceLineNo">361</span><a name="line.361"></a>
-<span class="sourceLineNo">362</span>    public AtomicAverageCounter() {<a name="line.362"></a>
-<span class="sourceLineNo">363</span>      this.sum = 0L;<a name="line.363"></a>
-<span class="sourceLineNo">364</span>      this.count = 0;<a name="line.364"></a>
+<span class="sourceLineNo">355</span>    public long getTotalBufferedCounter() {<a name="line.355"></a>
+<span class="sourceLineNo">356</span>      return this.totalBufferedPutCounter;<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>    public long getTotalFailedCounter() {<a name="line.359"></a>
+<span class="sourceLineNo">360</span>      return this.totalFailedPutCounter;<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>    public long getMaxLatency() {<a name="line.363"></a>
+<span class="sourceLineNo">364</span>      return this.maxLatency;<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>    public synchronized long getAndReset() {<a name="line.367"></a>
-<span class="sourceLineNo">368</span>      long result = this.get();<a name="line.368"></a>
-<span class="sourceLineNo">369</span>      this.reset();<a name="line.369"></a>
-<span class="sourceLineNo">370</span>      return result;<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>    public synchronized long get() {<a name="line.373"></a>
-<span class="sourceLineNo">374</span>      if (this.count == 0) {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>        return 0;<a name="line.375"></a>
-<span class="sourceLineNo">376</span>      }<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      return this.sum / this.count;<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>    public synchronized SimpleEntry&lt;Long, Integer&gt; getComponents() {<a name="line.380"></a>
-<span class="sourceLineNo">381</span>      return new SimpleEntry&lt;Long, Integer&gt;(sum, count);<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    }<a name="line.382"></a>
-<span class="sourceLineNo">383</span><a name="line.383"></a>
-<span class="sourceLineNo">384</span>    public synchronized void reset() {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>      this.sum = 0L;<a name="line.385"></a>
-<span class="sourceLineNo">386</span>      this.count = 0;<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    }<a name="line.387"></a>
-<span class="sourceLineNo">388</span><a name="line.388"></a>
-<span class="sourceLineNo">389</span>    public synchronized void add(long value) {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>      this.sum += value;<a name="line.390"></a>
-<span class="sourceLineNo">391</span>      this.count++;<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    }<a name="line.392"></a>
-<span class="sourceLineNo">393</span>  }<a name="line.393"></a>
-<span class="sourceLineNo">394</span><a name="line.394"></a>
-<span class="sourceLineNo">395</span>  private static class FlushWorker implements Runnable {<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    private final HRegionLocation addr;<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    private final LinkedBlockingQueue&lt;PutStatus&gt; queue;<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    private final HTableMultiplexer multiplexer;<a name="line.398"></a>
-<span class="sourceLineNo">399</span>    private final AtomicLong totalFailedPutCount = new AtomicLong(0);<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    private final AtomicInteger currentProcessingCount = new AtomicInteger(0);<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    private final AtomicAverageCounter averageLatency = new AtomicAverageCounter();<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    private final AtomicLong maxLatency = new AtomicLong(0);<a name="line.402"></a>
-<span class="sourceLineNo">403</span><a name="line.403"></a>
-<span class="sourceLineNo">404</span>    private final AsyncProcess ap;<a name="line.404"></a>
-<span class="sourceLineNo">405</span>    private final List&lt;PutStatus&gt; processingList = new ArrayList&lt;&gt;();<a name="line.405"></a>
-<span class="sourceLineNo">406</span>    private final ScheduledExecutorService executor;<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    private final int maxRetryInQueue;<a name="line.407"></a>
-<span class="sourceLineNo">408</span>    private final AtomicInteger retryInQueue = new AtomicInteger(0);<a name="line.408"></a>
-<span class="sourceLineNo">409</span><a name="line.409"></a>
-<span class="sourceLineNo">410</span>    public FlushWorker(Configuration conf, ClusterConnection conn, HRegionLocation addr,<a name="line.410"></a>
-<span class="sourceLineNo">411</span>        HTableMultiplexer htableMultiplexer, int perRegionServerBufferQueueSize,<a name="line.411"></a>
-<span class="sourceLineNo">412</span>        ExecutorService pool, ScheduledExecutorService executor) {<a name="line.412"></a>
-<span class="sourceLineNo">413</span>      this.addr = addr;<a name="line.413"></a>
-<span class="sourceLineNo">414</span>      this.multiplexer = htableMultiplexer;<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      this.queue = new LinkedBlockingQueue&lt;&gt;(perRegionServerBufferQueueSize);<a name="line.415"></a>
-<span class="sourceLineNo">416</span>      RpcRetryingCallerFactory rpcCallerFactory = RpcRetryingCallerFactory.instantiate(conf);<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      RpcControllerFactory rpcControllerFactory = RpcControllerFactory.instantiate(conf);<a name="line.417"></a>
-<span class="sourceLineNo">418</span>      this.ap = new AsyncProcess(conn, conf, pool, rpcCallerFactory, false, rpcControllerFactory);<a name="line.418"></a>
-<span class="sourceLineNo">419</span>      this.executor = executor;<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      this.maxRetryInQueue = conf.getInt(TABLE_MULTIPLEXER_MAX_RETRIES_IN_QUEUE, 10000);<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    }<a name="line.421"></a>
-<span class="sourceLineNo">422</span><a name="line.422"></a>
-<span class="sourceLineNo">423</span>    protected LinkedBlockingQueue&lt;PutStatus&gt; getQueue() {<a name="line.423"></a>
-<span class="sourceLineNo">424</span>      return this.queue;<a name="line.424"></a>
-<span class="sourceLineNo">425</span>    }<a name="line.425"></a>
-<span class="sourceLineNo">426</span><a name="line.426"></a>
-<span class="sourceLineNo">427</span>    public long getTotalFailedCount() {<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      return totalFailedPutCount.get();<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>    public long getTotalBufferedCount() {<a name="line.431"></a>
-<span class="sourceLineNo">432</span>      return queue.size() + currentProcessingCount.get();<a name="line.432"></a>
+<span class="sourceLineNo">367</span>    public long getOverallAverageLatency() {<a name="line.367"></a>
+<span class="sourceLineNo">368</span>      return this.overallAverageLatency;<a name="line.368"></a>
+<span class="sourceLineNo">369</span>    }<a name="line.369"></a>
+<span class="sourceLineNo">370</span><a name="line.370"></a>
+<span class="sourceLineNo">371</span>    public Map&lt;String, Long&gt; getBufferedCounterForEachRegionServer() {<a name="line.371"></a>
+<span class="sourceLineNo">372</span>      return this.serverToBufferedCounterMap;<a name="line.372"></a>
+<span class="sourceLineNo">373</span>    }<a name="line.373"></a>
+<span class="sourceLineNo">374</span><a name="line.374"></a>
+<span class="sourceLineNo">375</span>    public Map&lt;String, Long&gt; getFailedCounterForEachRegionServer() {<a name="line.375"></a>
+<span class="sourceLineNo">376</span>      return this.serverToFailedCounterMap;<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    }<a name="line.377"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>    public Map&lt;String, Long&gt; getMaxLatencyForEachRegionServer() {<a name="line.379"></a>
+<span class="sourceLineNo">380</span>      return this.serverToMaxLatencyMap;<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>    public Map&lt;String, Long&gt; getAverageLatencyForEachRegionServer() {<a name="line.383"></a>
+<span class="sourceLineNo">384</span>      return this.serverToAverageLatencyMap;<a name="line.384"></a>
+<span class="sourceLineNo">385</span>    }<a name="line.385"></a>
+<span class="sourceLineNo">386</span>  }<a name="line.386"></a>
+<span class="sourceLineNo">387</span><a name="line.387"></a>
+<span class="sourceLineNo">388</span>  @VisibleForTesting<a name="line.388"></a>
+<span class="sourceLineNo">389</span>  static class PutStatus {<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    final HRegionInfo regionInfo;<a name="line.390"></a>
+<span class="sourceLineNo">391</span>    final Put put;<a name="line.391"></a>
+<span class="sourceLineNo">392</span>    final int maxAttempCount;<a name="line.392"></a>
+<span class="sourceLineNo">393</span><a name="line.393"></a>
+<span class="sourceLineNo">394</span>    public PutStatus(HRegionInfo regionInfo, Put put, int maxAttempCount) {<a name="line.394"></a>
+<span class="sourceLineNo">395</span>      this.regionInfo = regionInfo;<a name="line.395"></a>
+<span class="sourceLineNo">396</span>      this.put = put;<a name="line.396"></a>
+<span class="sourceLineNo">397</span>      this.maxAttempCount = maxAttempCount;<a name="line.397"></a>
+<span class="sourceLineNo">398</span>    }<a name="line.398"></a>
+<span class="sourceLineNo">399</span>  }<a name="line.399"></a>
+<span class="sourceLineNo">400</span><a name="line.400"></a>
+<span class="sourceLineNo">401</span>  /**<a name="line.401"></a>
+<span class="sourceLineNo">402</span>   * Helper to count the average over an interval until reset.<a name="line.402"></a>
+<span class="sourceLineNo">403</span>   */<a name="line.403"></a>
+<span class="sourceLineNo">404</span>  private static class AtomicAverageCounter {<a name="line.404"></a>
+<span class="sourceLineNo">405</span>    private long sum;<a name="line.405"></a>
+<span class="sourceLineNo">406</span>    private int count;<a name="line.406"></a>
+<span class="sourceLineNo">407</span><a name="line.407"></a>
+<span class="sourceLineNo">408</span>    public AtomicAverageCounter() {<a name="line.408"></a>
+<span class="sourceLineNo">409</span>      this.sum = 0L;<a name="line.409"></a>
+<span class="sourceLineNo">410</span>      this.count = 0;<a name="line.410"></a>
+<span class="sourceLineNo">411</span>    }<a name="line.411"></a>
+<span class="sourceLineNo">412</span><a name="line.412"></a>
+<span class="sourceLineNo">413</span>    public synchronized long getAndReset() {<a name="line.413"></a>
+<span class="sourceLineNo">414</span>      long result = this.get();<a name="line.414"></a>
+<span class="sourceLineNo">415</span>      this.reset();<a name="line.415"></a>
+<span class="sourceLineNo">416</span>      return result;<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>    public synchronized long get() {<a name="line.419"></a>
+<span class="sourceLineNo">420</span>      if (this.count == 0) {<a name="line.420"></a>
+<span class="sourceLineNo">421</span>        return 0;<a name="line.421"></a>
+<span class="sourceLineNo">422</span>      }<a name="line.422"></a>
+<span class="sourceLineNo">423</span>      return this.sum / this.count;<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>    public synchronized SimpleEntry&lt;Long, Integer&gt; getComponents() {<a name="line.426"></a>
+<span class="sourceLineNo">427</span>      return new SimpleEntry&lt;Long, Integer&gt;(sum, count);<a name="line.427"></a>
+<span class="sourceLineNo">428</span>    }<a name="line.428"></a>
+<span class="sourceLineNo">429</span><a name="line.429"></a>
+<span class="sourceLineNo">430</span>    public synchronized void reset() {<a name="line.430"></a>
+<span class="sourceLineNo">431</span>      this.sum = 0L;<a name="line.431"></a>
+<span class="sourceLineNo">432</span>      this.count = 0;<a name="line.432"></a>
 <span class="sourceLineNo">433</span>    }<a name="line.433"></a>
 <span class="sourceLineNo">434</span><a name="line.434"></a>
-<span class="sourceLineNo">435</span>    public AtomicAverageCounter getAverageLatencyCounter() {<a name="line.435"></a>
-<span class="sourceLineNo">436</span>      return this.averageLatency;<a name="line.436"></a>
-<span class="sourceLineNo">437</span>    }<a name="line.437"></a>
-<span class="sourceLineNo">438</span><a name="line.438"></a>
-<span class="sourceLineNo">439</span>    public long getMaxLatency() {<a name="line.439"></a>
-<span class="sourceLineNo">440</span>      return this.maxLatency.getAndSet(0);<a name="line.440"></a>
-<span class="sourceLineNo">441</span>    }<a name="line.441"></a>
-<span class="sourceLineNo">442</span><a name="line.442"></a>
-<span class="sourceLineNo">443</span>    private boolean resubmitFailedPut(PutStatus ps, HRegionLocation oldLoc) throws IOException {<a name="line.443"></a>
-<span class="sourceLineNo">444</span>      // Decrease the retry count<a name="line.444"></a>
-<span class="sourceLineNo">445</span>      final int retryCount = ps.maxAttempCount - 1;<a name="line.445"></a>
-<span class="sourceLineNo">446</span><a name="line.446"></a>
-<span class="sourceLineNo">447</span>      if (retryCount &lt;= 0) {<a name="line.447"></a>
-<span class="sourceLineNo">448</span>        // Update the failed counter and no retry any more.<a name="line.448"></a>
-<span class="sourceLineNo">449</span>        return false;<a name="line.449"></a>
-<span class="sourceLineNo">450</span>      }<a name="line.450"></a>
-<span class="sourceLineNo">451</span><a name="line.451"></a>
-<span class="sourceLineNo">452</span>      int cnt = retryInQueue.incrementAndGet();<a name="line.452"></a>
-<span class="sourceLineNo">453</span>      if (cnt &gt; maxRetryInQueue) {<a name="line.453"></a>
-<span class="sourceLineNo">454</span>        // Too many Puts in queue for resubmit, give up this<a name="line.454"></a>
-<span class="sourceLineNo">455</span>        retryInQueue.decrementAndGet();<a name="line.455"></a>
-<span class="sourceLineNo">456</span>        return false;<a name="line.456"></a>
-<span class="sourceLineNo">457</span>      }<a name="line.457"></a>
-<span class="sourceLineNo">458</span><a name="line.458"></a>
-<span class="sourceLineNo">459</span>      final Put failedPut = ps.put;<a name="line.459"></a>
-<span class="sourceLineNo">460</span>      // The currentPut is failed. So get the table name for the currentPut.<a name="line.460"></a>
-<span class="sourceLineNo">461</span>      final TableName tableName = ps.regionInfo.getTable();<a name="line.461"></a>
-<span class="sourceLineNo">462</span><a name="line.462"></a>
-<span class="sourceLineNo">463</span>      long delayMs = ConnectionUtils.getPauseTime(multiplexer.flushPeriod,<a name="line.463"></a>
-<span class="sourceLineNo">464</span>        multiplexer.maxAttempts - retryCount - 1);<a name="line.464"></a>
-<span class="sourceLineNo">465</span>      if (LOG.isDebugEnabled()) {<a name="line.465"></a>
-<span class="sourceLineNo">466</span>        LOG.debug("resubmitting after " + delayMs + "ms: " + retryCount);<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>      executor.schedule(new Runnable() {<a name="line.469"></a>
-<span class="sourceLineNo">470</span>        @Override<a name="line.470"></a>
-<span class="sourceLineNo">471</span>        public void run() {<a name="line.471"></a>
-<span class="sourceLineNo">472</span>          boolean succ = false;<a name="line.472"></a>
-<span class="sourceLineNo">473</span>          try {<a name="line.473"></a>
-<span class="sourceLineNo">474</span>            succ = FlushWorker.this.multiplexer.put(tableName, failedPut, retryCount);<a name="line.474"></a>
-<span class="sourceLineNo">475</span>          } finally {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>            FlushWorker.this.retryInQueue.decrementAndGet();<a name="line.476"></a>
-<span class="sourceLineNo">477</span>            if (!succ) {<a name="line.477"></a>
-<span class="sourceLineNo">478</span>              FlushWorker.this.totalFailedPutCount.incrementAndGet();<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>      }, delayMs, TimeUnit.MILLISECONDS);<a name="line.482"></a>
-<span class="sourceLineNo">483</span>      return true;<a name="line.483"></a>
+<span class="sourceLineNo">435</span>    public synchronized void add(long value) {<a name="line.435"></a>
+<span class="sourceLineNo">436</span>      this.sum += value;<a name="line.436"></a>
+<span class="sourceLineNo">437</span>      this.count++;<a name="line.437"></a>
+<span class="sourceLineNo">438</span>    }<a name="line.438"></a>
+<span class="sourceLineNo">439</span>  }<a name="line.439"></a>
+<span class="sourceLineNo">440</span><a name="line.440"></a>
+<span class="sourceLineNo">441</span>  @VisibleForTesting<a name="line.441"></a>
+<span class="sourceLineNo">442</span>  static class FlushWorker implements Runnable {<a name="line.442"></a>
+<span class="sourceLineNo">443</span>    private final HRegionLocation addr;<a name="line.443"></a>
+<span class="sourceLineNo">444</span>    private final LinkedBlockingQueue&lt;PutStatus&gt; queue;<a name="line.444"></a>
+<span class="sourceLineNo">445</span>    private final HTableMultiplexer multiplexer;<a name="line.445"></a>
+<span class="sourceLineNo">446</span>    private final AtomicLong totalFailedPutCount = new AtomicLong(0);<a name="line.446"></a>
+<span class="sourceLineNo">447</span>    private final AtomicInteger currentProcessingCount = new AtomicInteger(0);<a name="line.447"></a>
+<span class="sourceLineNo">448</span>    private final AtomicAverageCounter averageLatency = new AtomicAverageCounter();<a name="line.448"></a>
+<span class="sourceLineNo">449</span>    private final AtomicLong maxLatency = new AtomicLong(0);<a name="line.449"></a>
+<span class="sourceLineNo">450</span><a name="line.450"></a>
+<span class="sourceLineNo">451</span>    private final AsyncProcess ap;<a name="line.451"></a>
+<span class="sourceLineNo">452</span>    private final List&lt;PutStatus&gt; processingList = new ArrayList&lt;&gt;();<a name="line.452"></a>
+<span class="sourceLineNo">453</span>    private final ScheduledExecutorService executor;<a name="line.453"></a>
+<span class="sourceLineNo">454</span>    private final int maxRetryInQueue;<a name="line.454"></a>
+<span class="sourceLineNo">455</span>    private final AtomicInteger retryInQueue = new AtomicInteger(0);<a name="line.455"></a>
+<span class="sourceLineNo">456</span><a name="line.456"></a>
+<span class="sourceLineNo">457</span>    public FlushWorker(Configuration conf, ClusterConnection conn, HRegionLocation addr,<a name="line.457"></a>
+<span class="sourceLineNo">458</span>        HTableMultiplexer htableMultiplexer, int perRegionServerBufferQueueSize,<a name="line.458"></a>
+<span class="sourceLineNo">459</span>        ExecutorService pool, ScheduledExecutorService executor) {<a name="line.459"></a>
+<span class="sourceLineNo">460</span>      this.addr = addr;<a name="line.460"></a>
+<span class="sourceLineNo">461</span>      this.multiplexer = htableMultiplexer;<a name="line.461"></a>
+<span class="sourceLineNo">462</span>      this.queue = new LinkedBlockingQueue&lt;&gt;(perRegionServerBufferQueueSize);<a name="line.462"></a>
+<span class="sourceLineNo">463</span>      RpcRetryingCallerFactory rpcCallerFactory = RpcRetryingCallerFactory.instantiate(conf);<a name="line.463"></a>
+<span class="sourceLineNo">464</span>      RpcControllerFactory rpcControllerFactory = RpcControllerFactory.instantiate(conf);<a name="line.464"></a>
+<span class="sourceLineNo">465</span>      this.ap = new AsyncProcess(conn, conf, pool, rpcCallerFactory, false, rpcControllerFactory);<a name="line.465"></a>
+<span class="sourceLineNo">466</span>      this.executor = executor;<a name="line.466"></a>
+<span class="sourceLineNo">467</span>      this.maxRetryInQueue = conf.getInt(TABLE_MULTIPLEXER_MAX_RETRIES_IN_QUEUE, 10000);<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>    protected LinkedBlockingQueue&lt;PutStatus&gt; getQueue() {<a name="line.470"></a>
+<span class="sourceLineNo">471</span>      return this.queue;<a name="line.471"></a>
+<span class="sourceLineNo">472</span> 

<TRUNCATED>

[41/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/org/apache/hadoop/hbase/class-use/DoNotRetryIOException.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/class-use/DoNotRetryIOException.html b/devapidocs/org/apache/hadoop/hbase/class-use/DoNotRetryIOException.html
index 72f7b77..62b5583 100644
--- a/devapidocs/org/apache/hadoop/hbase/class-use/DoNotRetryIOException.html
+++ b/devapidocs/org/apache/hadoop/hbase/class-use/DoNotRetryIOException.html
@@ -519,6 +519,24 @@
 </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/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a> that throw <a href="../../../../../org/apache/hadoop/hbase/DoNotRetryIOException.html" title="class in org.apache.hadoop.hbase">DoNotRetryIOException</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#checkMutationType(org.apache.hadoop.hbase.client.Mutation,%20byte[])">checkMutationType</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
+                                  byte[]&nbsp;row)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static long</code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getLongValue(org.apache.hadoop.hbase.Cell)">getLongValue</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>
+</tbody>
+</table>
 </li>
 <li class="blockList"><a name="org.apache.hadoop.hbase.security">
 <!--   -->

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/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 e69d312..217c616 100644
--- a/devapidocs/org/apache/hadoop/hbase/class-use/HRegionInfo.html
+++ b/devapidocs/org/apache/hadoop/hbase/class-use/HRegionInfo.html
@@ -832,7 +832,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <td class="colLast"><span class="strong">ClientScanner.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/ClientScanner.html#currentRegion">currentRegion</a></strong></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a></code></td>
+<td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a></code></td>
 <td class="colLast"><span class="strong">HTableMultiplexer.PutStatus.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.PutStatus.html#regionInfo">regionInfo</a></strong></code>&nbsp;</td>
 </tr>
 </tbody>
@@ -4472,23 +4472,30 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>private static void</code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doSyncOfUnflushedWALChanges(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HRegionInfo)">doSyncOfUnflushedWALChanges</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/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri)</code>
+<div class="block">Sync unflushed WAL changes.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>private static long</code></td>
 <td class="colLast"><span class="strong">SplitTransactionImpl.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/SplitTransactionImpl.html#getDaughterRegionIdTimestamp(org.apache.hadoop.hbase.HRegionInfo)">getDaughterRegionIdTimestamp</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri)</code>
 <div class="block">Calculate daughter regionid to use.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) static <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a></code></td>
 <td class="colLast"><span class="strong">RegionMergeTransactionImpl.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionMergeTransactionImpl.html#getMergedRegionInfo(org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.HRegionInfo)">getMergedRegionInfo</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;a,
                                       <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;b)</code>
 <div class="block">Get merged region info through the specified two regions</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) org.apache.hadoop.fs.Path</code></td>
 <td class="colLast"><span class="strong">HRegionFileSystem.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#getMergesDir(org.apache.hadoop.hbase.HRegionInfo)">getMergesDir</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static org.apache.hadoop.fs.Path</code></td>
 <td class="colLast"><span class="strong">HRegion.</span><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>
@@ -4497,15 +4504,15 @@ 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 byte[]</code></td>
 <td class="colLast"><span class="strong">HRegionFileSystem.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#getRegionInfoFileContent(org.apache.hadoop.hbase.HRegionInfo)">getRegionInfoFileContent</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) org.apache.hadoop.fs.Path</code></td>
 <td class="colLast"><span class="strong">HRegionFileSystem.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#getSplitsDir(org.apache.hadoop.hbase.HRegionInfo)">getSplitsDir</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a></code></td>
 <td class="colLast"><span class="strong">CompactionTool.CompactionWorker.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/CompactionTool.CompactionWorker.html#getStore(org.apache.hadoop.conf.Configuration,%20org.apache.hadoop.fs.FileSystem,%20org.apache.hadoop.fs.Path,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20java.lang.String,%20org.apache.hadoop.fs.Path)">getStore</a></strong>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                 org.apache.hadoop.fs.FileSystem&nbsp;fs,
@@ -4518,7 +4525,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
  the store dir to compact as source.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static org.apache.hadoop.fs.Path</code></td>
 <td class="colLast"><span class="strong">HStore.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getStoreHomedir(org.apache.hadoop.fs.Path,%20org.apache.hadoop.hbase.HRegionInfo,%20byte[])">getStoreHomedir</a></strong>(org.apache.hadoop.fs.Path&nbsp;tabledir,
                               <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri,
@@ -4526,15 +4533,15 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <div class="block"><strong>Deprecated.</strong>&nbsp;</div>
 </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"><span class="strong">RegionServerServices.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getWAL(org.apache.hadoop.hbase.HRegionInfo)">getWAL</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;regionInfo)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <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"><span class="strong">HRegionServer.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getWAL(org.apache.hadoop.hbase.HRegionInfo)">getWAL</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;regionInfo)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) org.apache.hadoop.fs.Path</code></td>
 <td class="colLast"><span class="strong">HRegionFileSystem.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#mergeStoreFile(org.apache.hadoop.hbase.HRegionInfo,%20java.lang.String,%20org.apache.hadoop.hbase.regionserver.StoreFile,%20org.apache.hadoop.fs.Path)">mergeStoreFile</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;mergedRegion,
                             <a href="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;familyName,
@@ -4543,7 +4550,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <div class="block">Write out a merge reference under the given merges directory.</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"><span class="strong">HRegion.</span><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,
@@ -4556,7 +4563,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
  <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>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"><span class="strong">HRegion.</span><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,
@@ -4567,7 +4574,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <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"><span class="strong">HRegion.</span><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,
@@ -4580,7 +4587,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <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"><span class="strong">HRegion.</span><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,
@@ -4594,7 +4601,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <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"><span class="strong">HRegion.</span><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,
@@ -4603,7 +4610,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <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"><span class="strong">HRegion.</span><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,
@@ -4614,7 +4621,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <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"><span class="strong">HRegion.</span><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,
@@ -4624,7 +4631,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <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"><span class="strong">HRegion.</span><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,
@@ -4636,7 +4643,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <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/HRegionFileSystem.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionFileSystem</a></code></td>
 <td class="colLast"><span class="strong">HRegionFileSystem.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#openRegionFromFileSystem(org.apache.hadoop.conf.Configuration,%20org.apache.hadoop.fs.FileSystem,%20org.apache.hadoop.fs.Path,%20org.apache.hadoop.hbase.HRegionInfo,%20boolean)">openRegionFromFileSystem</a></strong>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                                 org.apache.hadoop.fs.FileSystem&nbsp;fs,
@@ -4646,7 +4653,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <div class="block">Open Region from file-system.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">RegionCoprocessorHost.</span><code><strong><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)">postWALRestore</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/regionserver/wal/HLogKey.html" title="class in org.apache.hadoop.hbase.regionserver.wal">HLogKey</a>&nbsp;logKey,
@@ -4656,13 +4663,13 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">RegionCoprocessorHost.</span><code><strong><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)">postWALRestore</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/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a>&nbsp;logKey,
                             <a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;logEdit)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">RegionMergeTransactionImpl.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionMergeTransactionImpl.html#prepareMutationsForMerge(org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.ServerName,%20java.util.List)">prepareMutationsForMerge</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;mergedRegion,
                                                 <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;regionA,
@@ -4670,7 +4677,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
                                                 <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
                                                 <a href="http://docs.oracle.com/javase/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/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;mutations)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">RegionCoprocessorHost.</span><code><strong><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)">preWALRestore</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/regionserver/wal/HLogKey.html" title="class in org.apache.hadoop.hbase.regionserver.wal">HLogKey</a>&nbsp;logKey,
@@ -4680,13 +4687,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>boolean</code></td>
 <td class="colLast"><span class="strong">RegionCoprocessorHost.</span><code><strong><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)">preWALRestore</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/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a>&nbsp;logKey,
                           <a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;logEdit)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">RegionServerServices.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#reportRegionStateTransition(org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos.RegionStateTransition.TransitionCode,%20org.apache.hadoop.hbase.HRegionInfo...)">reportRegionStateTransition</a></strong>(org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos.RegionStateTransition.TransitionCode&nbsp;code,
                                                       <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>...&nbsp;hris)</code>
@@ -4695,12 +4702,12 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">HRegionServer.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#reportRegionStateTransition(org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos.RegionStateTransition.TransitionCode,%20org.apache.hadoop.hbase.HRegionInfo...)">reportRegionStateTransition</a></strong>(org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos.RegionStateTransition.TransitionCode&nbsp;code,
                                                       <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>...&nbsp;hris)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">RegionServerServices.</span><code><strong><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...)">reportRegionStateTransition</a></strong>(org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos.RegionStateTransition.TransitionCode&nbsp;code,
                                                       long&nbsp;openSeqNum,
@@ -4710,13 +4717,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>boolean</code></td>
 <td class="colLast"><span class="strong">HRegionServer.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#reportRegionStateTransition(org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos.RegionStateTransition.TransitionCode,%20long,%20org.apache.hadoop.hbase.HRegionInfo...)">reportRegionStateTransition</a></strong>(org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos.RegionStateTransition.TransitionCode&nbsp;code,
                                                       long&nbsp;openSeqNum,
                                                       <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>...&nbsp;hris)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="strong">HRegion.</span><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>
@@ -4724,14 +4731,14 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
  specified HRegionInfo</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="strong">HRegion.</span><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="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) org.apache.hadoop.fs.Path</code></td>
 <td class="colLast"><span class="strong">HRegionFileSystem.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#splitStoreFile(org.apache.hadoop.hbase.HRegionInfo,%20java.lang.String,%20org.apache.hadoop.hbase.regionserver.StoreFile,%20byte[],%20boolean,%20org.apache.hadoop.hbase.regionserver.RegionSplitPolicy)">splitStoreFile</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri,
                             <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;familyName,
@@ -4742,7 +4749,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <div class="block">Write out a split reference.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="strong">HRegion.</span><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,
@@ -4976,33 +4983,45 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
                                                 org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor&nbsp;regionEventDesc)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></code></td>
+<td class="colLast"><span class="strong">WALUtil.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#doFullAppendTransaction(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl,%20boolean)">doFullAppendTransaction</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/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/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;edit,
+                                              <a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;mvcc,
+                                              boolean&nbsp;sync)</code>
+<div class="block">A 'full' WAL transaction involves starting an mvcc transaction followed by an append,
+ an optional sync, and then a call to complete the mvcc transaction.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>private static byte[]</code></td>
 <td class="colLast"><span class="strong">WALEdit.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#getRowForRegion(org.apache.hadoop.hbase.HRegionInfo)">getRowForRegion</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">WALCoprocessorHost.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALCoprocessorHost.html#postWALWrite(org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.wal.WALKey,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit)">postWALWrite</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/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a>&nbsp;logKey,
                         <a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;logEdit)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">WALCoprocessorHost.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALCoprocessorHost.html#preWALWrite(org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.wal.WALKey,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit)">preWALWrite</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/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a>&nbsp;logKey,
                       <a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;logEdit)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><span class="strong">WALEditsReplaySink.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEditsReplaySink.html#replayEdits(org.apache.hadoop.hbase.HRegionLocation,%20org.apache.hadoop.hbase.HRegionInfo,%20java.util.List)">replayEdits</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a>&nbsp;regionLoc,
                       <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;regionInfo,
                       <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/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&gt;&nbsp;entries)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><span class="strong">WALEditsReplaySink.ReplayServerCallable.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEditsReplaySink.ReplayServerCallable.html#replayToServer(org.apache.hadoop.hbase.HRegionInfo,%20java.util.List)">replayToServer</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;regionInfo,
                             <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/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&gt;&nbsp;entries)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">WALActionsListener.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html#visitLogEntryBeforeWrite(org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.wal.WALKey,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit)">visitLogEntryBeforeWrite</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/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a>&nbsp;logKey,
@@ -5010,14 +5029,14 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <div class="block">Called before each write.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">WALActionsListener.Base.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.Base.html#visitLogEntryBeforeWrite(org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.wal.WALKey,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit)">visitLogEntryBeforeWrite</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/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a>&nbsp;logKey,
                                                 <a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;logEdit)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code>static long</code></td>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></code></td>
 <td class="colLast"><span class="strong">WALUtil.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#writeBulkLoadMarkerAndSync(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.protobuf.generated.WALProtos.BulkLoadDescriptor,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl)">writeBulkLoadMarkerAndSync</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/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,
@@ -5026,8 +5045,8 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <div class="block">Write a log marker that a bulk load has succeeded and is about to be committed.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static long</code></td>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></code></td>
 <td class="colLast"><span class="strong">WALUtil.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#writeCompactionMarker(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl)">writeCompactionMarker</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/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,
@@ -5036,8 +5055,8 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <div class="block">Write the marker that a compaction has succeeded and is about to be committed.</div>
 </td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code>static long</code></td>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></code></td>
 <td class="colLast"><span class="strong">WALUtil.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#writeFlushMarker(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor,%20boolean,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl)">writeFlushMarker</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/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,
@@ -5047,23 +5066,22 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <div class="block">Write a flush marker indicating a start / abort or a complete of a region flush</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private static long</code></td>
-<td class="colLast"><span class="strong">WALUtil.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#writeMarker(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl,%20boolean)">writeMarker</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal,
+<tr class="altColor">
+<td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></code></td>
+<td class="colLast"><span class="strong">WALUtil.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#writeMarker(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl)">writeMarker</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/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/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;edit,
-                      <a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;mvcc,
-                      boolean&nbsp;sync)</code>&nbsp;</td>
+                      <a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;mvcc)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code>static long</code></td>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></code></td>
 <td class="colLast"><span class="strong">WALUtil.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#writeRegionEventMarker(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl)">writeRegionEventMarker</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/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,
                                             org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor&nbsp;r,
                                             <a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;mvcc)</code>
-<div class="block">Write a region open marker indicating that the region is opened</div>
+<div class="block">Write a region open marker indicating that the region is opened.</div>
 </td>
 </tr>
 </tbody>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/devapidocs/org/apache/hadoop/hbase/class-use/HRegionLocation.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/class-use/HRegionLocation.html b/devapidocs/org/apache/hadoop/hbase/class-use/HRegionLocation.html
index df0f6f5..219c779 100644
--- a/devapidocs/org/apache/hadoop/hbase/class-use/HRegionLocation.html
+++ b/devapidocs/org/apache/hadoop/hbase/class-use/HRegionLocation.html
@@ -640,11 +640,11 @@ service.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/LinkedBlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">LinkedBlockingQueue</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.PutStatus.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer.PutStatus</a>&gt;</code></td>
+<td class="colFirst"><code>(package private) <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/LinkedBlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">LinkedBlockingQueue</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.PutStatus.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer.PutStatus</a>&gt;</code></td>
 <td class="colLast"><span class="strong">HTableMultiplexer.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html#getQueue(org.apache.hadoop.hbase.HRegionLocation)">getQueue</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a>&nbsp;addr)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>private boolean</code></td>
+<td class="colFirst"><code>(package private) boolean</code></td>
 <td class="colLast"><span class="strong">HTableMultiplexer.FlushWorker.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#resubmitFailedPut(org.apache.hadoop.hbase.client.HTableMultiplexer.PutStatus,%20org.apache.hadoop.hbase.HRegionLocation)">resubmitFailedPut</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.PutStatus.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer.PutStatus</a>&nbsp;ps,
                                   <a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a>&nbsp;oldLoc)</code>&nbsp;</td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/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 5e2ac2d..4eadcea 100644
--- a/devapidocs/org/apache/hadoop/hbase/class-use/HTableDescriptor.html
+++ b/devapidocs/org/apache/hadoop/hbase/class-use/HTableDescriptor.html
@@ -2580,19 +2580,31 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></code></td>
+<td class="colLast"><span class="strong">WALUtil.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#doFullAppendTransaction(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl,%20boolean)">doFullAppendTransaction</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/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/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;edit,
+                                              <a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;mvcc,
+                                              boolean&nbsp;sync)</code>
+<div class="block">A 'full' WAL transaction involves starting an mvcc transaction followed by an append,
+ an optional sync, and then a call to complete the mvcc transaction.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">WALActionsListener.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html#visitLogEntryBeforeWrite(org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.wal.WALKey,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit)">visitLogEntryBeforeWrite</a></strong>(<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/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a>&nbsp;logKey,
                                                 <a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;logEdit)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">WALActionsListener.Base.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.Base.html#visitLogEntryBeforeWrite(org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.wal.WALKey,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit)">visitLogEntryBeforeWrite</a></strong>(<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/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a>&nbsp;logKey,
                                                 <a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;logEdit)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static long</code></td>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></code></td>
 <td class="colLast"><span class="strong">WALUtil.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#writeBulkLoadMarkerAndSync(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.protobuf.generated.WALProtos.BulkLoadDescriptor,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl)">writeBulkLoadMarkerAndSync</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/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,
@@ -2601,8 +2613,8 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <div class="block">Write a log marker that a bulk load has succeeded and is about to be committed.</div>
 </td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code>static long</code></td>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></code></td>
 <td class="colLast"><span class="strong">WALUtil.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#writeCompactionMarker(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl)">writeCompactionMarker</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/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,
@@ -2611,8 +2623,8 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <div class="block">Write the marker that a compaction has succeeded and is about to be committed.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static long</code></td>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></code></td>
 <td class="colLast"><span class="strong">WALUtil.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#writeFlushMarker(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor,%20boolean,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl)">writeFlushMarker</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/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,
@@ -2622,23 +2634,22 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <div class="block">Write a flush marker indicating a start / abort or a complete of a region flush</div>
 </td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code>private static long</code></td>
-<td class="colLast"><span class="strong">WALUtil.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#writeMarker(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl,%20boolean)">writeMarker</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal,
+<tr class="rowColor">
+<td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></code></td>
+<td class="colLast"><span class="strong">WALUtil.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#writeMarker(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.regionserver.wal.WALEdit,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl)">writeMarker</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/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/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;edit,
-                      <a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;mvcc,
-                      boolean&nbsp;sync)</code>&nbsp;</td>
+                      <a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;mvcc)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static long</code></td>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a></code></td>
 <td class="colLast"><span class="strong">WALUtil.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALUtil.html#writeRegionEventMarker(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor,%20org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl)">writeRegionEventMarker</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/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,
                                             org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor&nbsp;r,
                                             <a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;mvcc)</code>
-<div class="block">Write a region open marker indicating that the region is opened</div>
+<div class="block">Write a region open marker indicating that the region is opened.</div>
 </td>
 </tr>
 </tbody>


[42/51] [partial] hbase-site git commit: Published site at 7bb68b9031591cf378954a0eb8f71a8b9be01f9c.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/358717f6/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 698a6a4..1c4a695 100644
--- a/devapidocs/org/apache/hadoop/hbase/class-use/Cell.html
+++ b/devapidocs/org/apache/hadoop/hbase/class-use/Cell.html
@@ -4281,6 +4281,24 @@ service.</div>
 </td>
 </tr>
 <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">HRegion.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#reckonAppend(org.apache.hadoop.hbase.Cell,%20org.apache.hadoop.hbase.Cell,%20long,%20org.apache.hadoop.hbase.client.Append)">reckonAppend</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;delta,
+                        <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentValue,
+                        long&nbsp;now,
+                        <a href="../../../../../org/apache/hadoop/hbase/client/Append.html" title="class in org.apache.hadoop.hbase.client">Append</a>&nbsp;mutation)</code>&nbsp;</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">HRegion.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#reckonIncrement(org.apache.hadoop.hbase.Cell,%20long,%20org.apache.hadoop.hbase.Cell,%20byte[],%20long,%20org.apache.hadoop.hbase.client.Mutation)">reckonIncrement</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;delta,
+                              long&nbsp;deltaAmount,
+                              <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentValue,
+                              byte[]&nbsp;columnFamily,
+                              long&nbsp;now,
+                              <a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation)</code>
+<div class="block">Calculate new Increment Cell.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code><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">HMobStore.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HMobStore.html#resolve(org.apache.hadoop.hbase.Cell,%20boolean)">resolve</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;reference,
               boolean&nbsp;cacheBlocks)</code>
@@ -4318,26 +4336,27 @@ service.</div>
 <td class="colLast"><span class="strong">CellSkipListSet.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/CellSkipListSet.html#descendingSet()">descendingSet</a></strong>()</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;</code></td>
-<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doGet(org.apache.hadoop.hbase.regionserver.Store,%20byte[],%20java.util.Map.Entry,%20org.apache.hadoop.hbase.io.TimeRange)">doGet</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&nbsp;store,
-          byte[]&nbsp;row,
-          <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">Map.Entry</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;family,
-          <a href="../../../../../org/apache/hadoop/hbase/io/TimeRange.html" title="class in org.apache.hadoop.hbase.io">TimeRange</a>&nbsp;tr)</code>
-<div class="block">Run a Get against passed in <code>store</code> on passed <code>row</code>, etc.</div>
-</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;</code></td>
 <td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#get(org.apache.hadoop.hbase.client.Get,%20boolean)">get</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get,
       boolean&nbsp;withCoprocessor)</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/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;</code></td>
 <td class="colLast"><span class="strong">Region.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#get(org.apache.hadoop.hbase.client.Get,%20boolean)">get</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get,
       boolean&nbsp;withCoprocessor)</code>
 <div class="block">Do a get based on the get parameter.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;</code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#get(org.apache.hadoop.hbase.client.Mutation,%20org.apache.hadoop.hbase.regionserver.Store,%20java.util.List,%20org.apache.hadoop.hbase.client.IsolationLevel,%20org.apache.hadoop.hbase.io.TimeRange)">get</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="../../../../../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;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;coordinates,
+      <a href="../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client">IsolationLevel</a>&nbsp;isolation,
+      <a href="../../../../../org/apache/hadoop/hbase/io/TimeRange.html" title="class in org.apache.hadoop.hbase.io">TimeRange</a>&nbsp;tr)</code>
+<div class="block">Do a specific Get on passed <code>columnFamily</code> and column qualifiers.</div>
+</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/SortedSet.html?is-external=true" title="class or interface in java.util">SortedSet</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;</code></td>
 <td class="colLast"><span class="strong">CellSkipListSet.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/CellSkipListSet.html#headSet(org.apache.hadoop.hbase.Cell)">headSet</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;toElement)</code>&nbsp;</td>
@@ -4352,6 +4371,24 @@ service.</div>
 <td class="colLast"><span class="strong">CellSkipListSet.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/CellSkipListSet.html#iterator()">iterator</a></strong>()</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;</code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#reckonDeltasByStore(org.apache.hadoop.hbase.regionserver.Store,%20org.apache.hadoop.hbase.regionserver.Region.Operation,%20org.apache.hadoop.hbase.client.Mutation,%20org.apache.hadoop.hbase.client.Durability,%20long,%20java.util.List,%20java.util.List)">reckonDeltasByStore</a></strong>(<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/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a>&nbsp;op,
+                                      <a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
+                                      <a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;effectiveDurability,
+                                      long&nbsp;now,
+                                      <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;deltas,
+                                      <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>
+<div class="block">Reckon the Cells to apply to WAL, memstore, and to return to the Client in passed
+ column family/Store.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private 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/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;</code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#sort(java.util.List,%20java.util.Comparator)">sort</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;cells,
+        <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;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;comparator)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code><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;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;</code></td>
 <td class="colLast"><span class="strong">CellSkipListSet.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/CellSkipListSet.html#subSet(org.apache.hadoop.hbase.Cell,%20boolean,%20org.apache.hadoop.hbase.Cell,%20boolean)">subSet</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;fromElement,
             boolean&nbsp;fromInclusive,
@@ -4446,16 +4483,22 @@ service.</div>
 <td class="colLast"><span class="strong">StoreFile.Writer.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFile.Writer.html#appendGeneralBloomfilter(org.apache.hadoop.hbase.Cell)">appendGeneralBloomfilter</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>private long</code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#applyToMemstore(org.apache.hadoop.hbase.regionserver.Store,%20org.apache.hadoop.hbase.Cell,%20long)">applyToMemstore</a></strong>(<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/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
+                              long&nbsp;sequenceId)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">ReversedKeyValueHeap.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReversedKeyValueHeap.html#backwardSeek(org.apache.hadoop.hbase.Cell)">backwardSeek</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;seekKey)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">DefaultMemStore.MemStoreScanner.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#backwardSeek(org.apache.hadoop.hbase.Cell)">backwardSeek</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;key)</code>
 <div class="block">Seek scanner to the given key first.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">KeyValueScanner.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#backwardSeek(org.apache.hadoop.hbase.Cell)">backwardSeek</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;key)</code>
 <div class="block">Seek the scanner at or before the row of specified Cell, it firstly
@@ -4465,23 +4508,18 @@ service.</div>
  previous row of specified KeyValue</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">StoreFileScanner.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileScanner.html#backwardSeek(org.apache.hadoop.hbase.Cell)">backwardSeek</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;key)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">NonReversedNonLazyKeyValueScanner.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/NonReversedNonLazyKeyValueScanner.html#backwardSeek(org.apache.hadoop.hbase.Cell)">backwardSeek</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;key)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">ReversedStoreScanner.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReversedStoreScanner.html#backwardSeek(org.apache.hadoop.hbase.Cell)">backwardSeek</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;key)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private 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">HRegion.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#carryForwardTags(org.apache.hadoop.hbase.Cell,%20java.util.List)">carryForwardTags</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
-                                <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>&nbsp;</td>
-</tr>
 <tr class="altColor">
 <td class="colFirst"><code><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">CellSkipListSet.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/CellSkipListSet.html#ceiling(org.apache.hadoop.hbase.Cell)">ceiling</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;e)</code>&nbsp;</td>
@@ -4647,67 +4685,71 @@ service.</div>
 <td class="colLast"><span class="strong">ScanQueryMatcher.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.html#getKeyForNextRow(org.apache.hadoop.hbase.Cell)">getKeyForNextRow</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>private static long</code></td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getLongValue(org.apache.hadoop.hbase.Cell)">getLongValue</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>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.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/DefaultMemStore.html#getLowest(org.apache.hadoop.hbase.Cell,%20org.apache.hadoop.hbase.Cell)">getLowest</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;a,
                   <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;b)</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#getLowest(org.apache.hadoop.hbase.Cell,%20org.apache.hadoop.hbase.Cell)">getLowest</a></strong>(<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)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><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#getNextKeyHint(org.apache.hadoop.hbase.Cell)">getNextKeyHint</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;kv)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package 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.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/DefaultMemStore.html#getNextRow(org.apache.hadoop.hbase.Cell)">getNextRow</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">
+<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.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/DefaultMemStore.html#getNextRow(org.apache.hadoop.hbase.Cell,%20java.util.NavigableSet)">getNextRow</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;key,
                     <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;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;set)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.MatchCode.html" title="enum in org.apache.hadoop.hbase.regionserver">ScanQueryMatcher.MatchCode</a></code></td>
 <td class="colLast"><span class="strong">ScanWildcardColumnTracker.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanWildcardColumnTracker.html#getNextRowOrNextColumn(org.apache.hadoop.hbase.Cell)">getNextRowOrNextColumn</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">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.MatchCode.html" title="enum in org.apache.hadoop.hbase.regionserver">ScanQueryMatcher.MatchCode</a></code></td>
 <td class="colLast"><span class="strong">ExplicitColumnTracker.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/ExplicitColumnTracker.html#getNextRowOrNextColumn(org.apache.hadoop.hbase.Cell)">getNextRowOrNextColumn</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><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.MatchCode.html" title="enum in org.apache.hadoop.hbase.regionserver">ScanQueryMatcher.MatchCode</a></code></td>
 <td class="colLast"><span class="strong">ColumnTracker.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/ColumnTracker.html#getNextRowOrNextColumn(org.apache.hadoop.hbase.Cell)">getNextRowOrNextColumn</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">Retrieve the MatchCode for the next row or column</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <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"><span class="strong">HRegion.</span><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="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/SortedSet.html?is-external=true" title="class or interface in java.util">SortedSet</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;</code></td>
 <td class="colLast"><span class="strong">CellSkipListSet.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/CellSkipListSet.html#headSet(org.apache.hadoop.hbase.Cell)">headSet</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;toElement)</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/NavigableSet.html?is-external=true" title="class or interface in java.util">NavigableSet</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;</code></td>
 <td class="colLast"><span class="strong">CellSkipListSet.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/CellSkipListSet.html#headSet(org.apache.hadoop.hbase.Cell,%20boolean)">headSet</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;toElement,
               boolean&nbsp;inclusive)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) static long</code></td>
 <td class="colLast"><span class="strong">DefaultMemStore.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/DefaultMemStore.html#heapSizeChange(org.apache.hadoop.hbase.Cell,%20boolean)">heapSizeChange</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
                             boolean&nbsp;notpresent)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><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">CellSkipListSet.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/CellSkipListSet.html#higher(org.apache.hadoop.hbase.Cell)">higher</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;e)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">TimeRangeTracker.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/TimeRangeTracker.html#includeTimestamp(org.apache.hadoop.hbase.Cell)">includeTimestamp</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">Update the current TimestampRange to include the timestamp from Cell
@@ -4715,58 +4757,58 @@ service.</div>
  entire time range from 0 to timestamp of the key.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><span class="strong">DefaultMemStore.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/DefaultMemStore.html#internalAdd(org.apache.hadoop.hbase.Cell)">internalAdd</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;toAdd)</code>
 <div class="block">Internal version of add() that doesn't clone Cells with the
  allocator, and doesn't take the lock.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><span class="strong">StripeMultiFileWriter.BoundaryMultiWriter.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/StripeMultiFileWriter.BoundaryMultiWriter.html#isCellAfterCurrentWriter(org.apache.hadoop.hbase.Cell)">isCellAfterCurrentWriter</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">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) static boolean</code></td>
 <td class="colLast"><span class="strong">HStore.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#isCellTTLExpired(org.apache.hadoop.hbase.Cell,%20long,%20long)">isCellTTLExpired</a></strong>(<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)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/DeleteTracker.DeleteResult.html" title="enum in org.apache.hadoop.hbase.regionserver">DeleteTracker.DeleteResult</a></code></td>
 <td class="colLast"><span class="strong">DeleteTracker.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/DeleteTracker.html#isDeleted(org.apache.hadoop.hbase.Cell)">isDeleted</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">Check if the specified cell buffer has been deleted by a previously
  seen delete.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/DeleteTracker.DeleteResult.html" title="enum in org.apache.hadoop.hbase.regionserver">DeleteTracker.DeleteResult</a></code></td>
 <td class="colLast"><span class="strong">ScanDeleteTracker.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanDeleteTracker.html#isDeleted(org.apache.hadoop.hbase.Cell)">isDeleted</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">Check if the specified KeyValue buffer has been deleted by a previously
  seen delete.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private static boolean</code></td>
 <td class="colLast"><span class="strong">StripeStoreFileManager.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/StripeStoreFileManager.html#isOpen(org.apache.hadoop.hbase.Cell)">isOpen</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;key)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected boolean</code></td>
 <td class="colLast"><span class="strong">HRegion.RegionScannerImpl.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#isStopRow(org.apache.hadoop.hbase.Cell)">isStopRow</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentRowCell)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected boolean</code></td>
 <td class="colLast"><span class="strong">ReversedRegionScannerImpl.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReversedRegionScannerImpl.html#isStopRow(org.apache.hadoop.hbase.Cell)">isStopRow</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentRowCell)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><span class="strong">HRegion.RegionScannerImpl.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#joinedHeapMayHaveData(org.apache.hadoop.hbase.Cell)">joinedHeapMayHaveData</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentRowCell)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><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">CellSkipListSet.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/CellSkipListSet.html#lower(org.apache.hadoop.hbase.Cell)">lower</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;e)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.MatchCode.html" title="enum in org.apache.hadoop.hbase.regionserver">ScanQueryMatcher.MatchCode</a></code></td>
 <td class="colLast"><span class="strong">ScanQueryMatcher.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.html#match(org.apache.hadoop.hbase.Cell)">match</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">Determines if the caller should do one of several things:
@@ -4777,11 +4819,11 @@ service.</div>
  - got to the next row (MatchCode.DONE)</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.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/DefaultMemStore.html#maybeCloneWithAllocator(org.apache.hadoop.hbase.Cell)">maybeCloneWithAllocator</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">
+<tr class="altColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><span class="strong">HRegion.RegionScannerImpl.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#moreCellsInRow(org.apache.hadoop.hbase.Cell,%20org.apache.hadoop.hbase.Cell)">moreCellsInRow</a></strong>(<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)</code>
@@ -4789,44 +4831,44 @@ service.</div>
  cells to be read in the heap.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">ScanQueryMatcher.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.html#moreRowsMayExistAfter(org.apache.hadoop.hbase.Cell)">moreRowsMayExistAfter</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;kv)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected boolean</code></td>
 <td class="colLast"><span class="strong">HRegion.RegionScannerImpl.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#nextRow(org.apache.hadoop.hbase.regionserver.ScannerContext,%20org.apache.hadoop.hbase.Cell)">nextRow</a></strong>(<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)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected boolean</code></td>
 <td class="colLast"><span class="strong">ReversedRegionScannerImpl.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReversedRegionScannerImpl.html#nextRow(org.apache.hadoop.hbase.regionserver.ScannerContext,%20org.apache.hadoop.hbase.Cell)">nextRow</a></strong>(<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)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private int</code></td>
 <td class="colLast"><span class="strong">StripeStoreFileManager.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/StripeStoreFileManager.html#nonOpenRowCompare(org.apache.hadoop.hbase.Cell,%20byte[])">nonOpenRowCompare</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;k1,
                                   byte[]&nbsp;k2)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.MatchCode.html" title="enum in org.apache.hadoop.hbase.regionserver">ScanQueryMatcher.MatchCode</a></code></td>
 <td class="colLast"><span class="strong">StoreScanner.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#optimize(org.apache.hadoop.hbase.regionserver.ScanQueryMatcher.MatchCode,%20org.apache.hadoop.hbase.Cell)">optimize</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.MatchCode.html" title="enum in org.apache.hadoop.hbase.regionserver">ScanQueryMatcher.MatchCode</a>&nbsp;qcode,
                 <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">
+<tr class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><span class="strong">StoreScanner.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#parallelSeek(java.util.List,%20org.apache.hadoop.hbase.Cell)">parallelSeek</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;? 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/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;kv)</code>
 <div class="block">Seek storefiles in parallel to optimize IO latency as much as possible</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">StoreFile.Reader.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFile.Reader.html#passesGeneralRowColBloomFilter(org.apache.hadoop.hbase.Cell)">passesGeneralRowColBloomFilter</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">A method for checking Bloom filters.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><span class="strong">HRegion.RegionScannerImpl.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#populateResult(java.util.List,%20org.apache.hadoop.hbase.regionserver.KeyValueHeap,%20org.apache.hadoop.hbase.regionserver.ScannerContext,%20org.apache.hadoop.hbase.Cell)">populateResult</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,
                             <a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueHeap.html" title="class in org.apache.hadoop.hbase.regionserver">KeyValueHeap</a>&nbsp;heap,
@@ -4836,14 +4878,14 @@ service.</div>
  reached, or remainingResultSize (if not -1) is reaced</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><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">RegionCoprocessorHost.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.html#postMutationBeforeWAL(org.apache.hadoop.hbase.coprocessor.RegionObserver.MutationType,%20org.apache.hadoop.hbase.client.Mutation,%20org.apache.hadoop.hbase.Cell,%20org.apache.hadoop.hbase.Cell)">postMutationBeforeWAL</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.MutationType.html" title="enum in org.apache.hadoop.hbase.coprocessor">RegionObserver.MutationType</a>&nbsp;opType,
                                           <a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
                                           <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;oldCell,
                                           <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;newCell)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">RegionCoprocessorHost.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.html#postScannerFilterRow(org.apache.hadoop.hbase.regionserver.InternalScanner,%20org.apache.hadoop.hbase.Cell)">postScannerFilterRow</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">InternalScanner</a>&nbsp;s,
                                         <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;curRowCell)</code>
@@ -4851,18 +4893,18 @@ service.</div>
  filter.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><span class="strong">StripeMultiFileWriter.BoundaryMultiWriter.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/StripeMultiFileWriter.BoundaryMultiWriter.html#prepareWriterFor(org.apache.hadoop.hbase.Cell)">prepareWriterFor</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">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">RegionCoprocessorHost.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.html#prePrepareTimeStampForDeleteVersion(org.apache.hadoop.hbase.client.Mutation,%20org.apache.hadoop.hbase.Cell,%20byte[],%20org.apache.hadoop.hbase.client.Get)">prePrepareTimeStampForDeleteVersion</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="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;kv,
                                                                       byte[]&nbsp;byteNow,
                                                                       <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="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">HMobStore.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HMobStore.html#readCell(java.util.List,%20java.lang.String,%20org.apache.hadoop.hbase.Cell,%20boolean,%20long,%20boolean)">readCell</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;org.apache.hadoop.fs.Path&gt;&nbsp;locations,
                 <a href="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;fileName,
@@ -4873,23 +4915,41 @@ service.</div>
 <div class="block">Reads the cell from a mob file.</div>
 </td>
 </tr>
+<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">HRegion.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#reckonAppend(org.apache.hadoop.hbase.Cell,%20org.apache.hadoop.hbase.Cell,%20long,%20org.apache.hadoop.hbase.client.Append)">reckonAppend</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;delta,
+                        <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentValue,
+                        long&nbsp;now,
+                        <a href="../../../../../org/apache/hadoop/hbase/client/Append.html" title="class in org.apache.hadoop.hbase.client">Append</a>&nbsp;mutation)</code>&nbsp;</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">HRegion.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#reckonIncrement(org.apache.hadoop.hbase.Cell,%20long,%20org.apache.hadoop.hbase.Cell,%20byte[],%20long,%20org.apache.hadoop.hbase.client.Mutation)">reckonIncrement</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;delta,
+                              long&nbsp;deltaAmount,
+                              <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentValue,
+                              byte[]&nbsp;columnFamily,
+                              long&nbsp;now,
+                              <a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation)</code>
+<div class="block">Calculate new Increment Cell.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><span class="strong">DefaultMemStore.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/DefaultMemStore.html#removeFromCellSet(org.apache.hadoop.hbase.Cell)">removeFromCellSet</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;e)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">ReversedKeyValueHeap.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReversedKeyValueHeap.html#requestSeek(org.apache.hadoop.hbase.Cell,%20boolean,%20boolean)">requestSeek</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;key,
                       boolean&nbsp;forward,
                       boolean&nbsp;useBloom)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">NonLazyKeyValueScanner.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/NonLazyKeyValueScanner.html#requestSeek(org.apache.hadoop.hbase.Cell,%20boolean,%20boolean)">requestSeek</a></strong>(<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)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">KeyValueScanner.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#requestSeek(org.apache.hadoop.hbase.Cell,%20boolean,%20boolean)">requestSeek</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;kv,
                       boolean&nbsp;forward,
@@ -4899,7 +4959,7 @@ service.</div>
  row/column combination specified by the kv parameter.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">StoreFileScanner.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileScanner.html#requestSeek(org.apache.hadoop.hbase.Cell,%20boolean,%20boolean)">requestSeek</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;kv,
                       boolean&nbsp;forward,
@@ -4907,7 +4967,7 @@ service.</div>
 <div class="block">Pretend we have done a seek but don't do it yet, if possible.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">KeyValueHeap.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueHeap.html#requestSeek(org.apache.hadoop.hbase.Cell,%20boolean,%20boolean)">requestSeek</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;key,
                       boolean&nbsp;forward,
@@ -4917,62 +4977,62 @@ service.</div>
  row/column combination specified by the kv parameter.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">ReversedKeyValueHeap.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReversedKeyValueHeap.html#reseek(org.apache.hadoop.hbase.Cell)">reseek</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;seekKey)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">DefaultMemStore.MemStoreScanner.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#reseek(org.apache.hadoop.hbase.Cell)">reseek</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;key)</code>
 <div class="block">Move forward on the sub-lists set previously by seek.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">KeyValueScanner.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#reseek(org.apache.hadoop.hbase.Cell)">reseek</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;key)</code>
 <div class="block">Reseek the scanner at or after the specified KeyValue.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">StoreFileScanner.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileScanner.html#reseek(org.apache.hadoop.hbase.Cell)">reseek</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;key)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">KeyValueHeap.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueHeap.html#reseek(org.apache.hadoop.hbase.Cell)">reseek</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;seekKey)</code>
 <div class="block">This function is identical to the <a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueHeap.html#seek(org.apache.hadoop.hbase.Cell)"><code>KeyValueHeap.seek(Cell)</code></a> function except
  that scanner.seek(seekKey) is changed to scanner.reseek(seekKey).</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">ReversedStoreScanner.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReversedStoreScanner.html#reseek(org.apache.hadoop.hbase.Cell)">reseek</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;kv)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">StoreScanner.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#reseek(org.apache.hadoop.hbase.Cell)">reseek</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;kv)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) static boolean</code></td>
 <td class="colLast"><span class="strong">StoreFileScanner.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileScanner.html#reseekAtOrAfter(org.apache.hadoop.hbase.io.hfile.HFileScanner,%20org.apache.hadoop.hbase.Cell)">reseekAtOrAfter</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFileScanner</a>&nbsp;s,
                               <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><span class="strong">ScanWildcardColumnTracker.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanWildcardColumnTracker.html#resetCell(org.apache.hadoop.hbase.Cell)">resetCell</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;columnCell)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><span class="strong">StoreScanner.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#resetScannerStack(org.apache.hadoop.hbase.Cell)">resetScannerStack</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;lastTopKey)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><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">HMobStore.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HMobStore.html#resolve(org.apache.hadoop.hbase.Cell,%20boolean)">resolve</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;reference,
               boolean&nbsp;cacheBlocks)</code>
 <div class="block">Reads the cell from the mob file, and the read point does not count.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><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">HMobStore.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HMobStore.html#resolve(org.apache.hadoop.hbase.Cell,%20boolean,%20long,%20boolean)">resolve</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;reference,
               boolean&nbsp;cacheBlocks,
@@ -4981,114 +5041,114 @@ service.</div>
 <div class="block">Reads the cell from the mob file.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected boolean</code></td>
 <td class="colLast"><span class="strong">HRegion.</span><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="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">DefaultMemStore.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/DefaultMemStore.html#rollback(org.apache.hadoop.hbase.Cell)">rollback</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">Remove n key from the memstore.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">MemStore.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStore.html#rollback(org.apache.hadoop.hbase.Cell)">rollback</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">Remove n key from the memstore.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">HStore.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#rollback(org.apache.hadoop.hbase.Cell)">rollback</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">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">Store.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html#rollback(org.apache.hadoop.hbase.Cell)">rollback</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">Removes a Cell from the memstore.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><span class="strong">StripeMultiFileWriter.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/StripeMultiFileWriter.html#sanityCheckLeft(byte[],%20org.apache.hadoop.hbase.Cell)">sanityCheckLeft</a></strong>(byte[]&nbsp;left,
                               <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Subclasses can call this method to make sure the first KV is within multi-writer range.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><span class="strong">StripeMultiFileWriter.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/StripeMultiFileWriter.html#sanityCheckRight(byte[],%20org.apache.hadoop.hbase.Cell)">sanityCheckRight</a></strong>(byte[]&nbsp;right,
                                 <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Subclasses can call this method to make sure the last KV is within multi-writer range.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">ReversedKeyValueHeap.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReversedKeyValueHeap.html#seek(org.apache.hadoop.hbase.Cell)">seek</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;seekKey)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">DefaultMemStore.MemStoreScanner.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#seek(org.apache.hadoop.hbase.Cell)">seek</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;key)</code>
 <div class="block">Set the scanner at the seek key.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">KeyValueScanner.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#seek(org.apache.hadoop.hbase.Cell)">seek</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;key)</code>
 <div class="block">Seek the scanner at or after the specified KeyValue.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">StoreFileScanner.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileScanner.html#seek(org.apache.hadoop.hbase.Cell)">seek</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;key)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">KeyValueHeap.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueHeap.html#seek(org.apache.hadoop.hbase.Cell)">seek</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;seekKey)</code>
 <div class="block">Seeks all scanners at or below the specified seek key.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">ReversedStoreScanner.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReversedStoreScanner.html#seek(org.apache.hadoop.hbase.Cell)">seek</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;key)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">StoreScanner.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#seek(org.apache.hadoop.hbase.Cell)">seek</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;key)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected boolean</code></td>
 <td class="colLast"><span class="strong">ReversedStoreScanner.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReversedStoreScanner.html#seekAsDirection(org.apache.hadoop.hbase.Cell)">seekAsDirection</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;kv)</code>
 <div class="block">Do a backwardSeek in a reversed StoreScanner(scan backward)</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected boolean</code></td>
 <td class="colLast"><span class="strong">StoreScanner.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#seekAsDirection(org.apache.hadoop.hbase.Cell)">seekAsDirection</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;kv)</code>
 <div class="block">Do a reseek in a normal StoreScanner(scan forward)</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="strong">StoreFileScanner.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileScanner.html#seekAtOrAfter(org.apache.hadoop.hbase.io.hfile.HFileScanner,%20org.apache.hadoop.hbase.Cell)">seekAtOrAfter</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFileScanner</a>&nbsp;s,
                           <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><span class="strong">DefaultMemStore.MemStoreScanner.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#seekInSubLists(org.apache.hadoop.hbase.Cell)">seekInSubLists</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;key)</code>
 <div class="block">(Re)initialize the iterators after a seek or a reseek.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><span class="strong">ReversedStoreScanner.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReversedStoreScanner.html#seekScanners(java.util.List,%20org.apache.hadoop.hbase.Cell,%20boolean,%20boolean)">seekScanners</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;? 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/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;seekKey,
                         boolean&nbsp;isLazy,
                         boolean&nbsp;isParallelSeek)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><span class="strong">StoreScanner.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#seekScanners(java.util.List,%20org.apache.hadoop.hbase.Cell,%20boolean,%20boolean)">seekScanners</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;? 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/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;seekKey,
@@ -5097,19 +5157,19 @@ service.</div>
 <div class="block">Seek the specified scanners with the given key</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected boolean</code></td>
 <td class="colLast"><span class="strong">ReversedStoreScanner.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReversedStoreScanner.html#seekToNextRow(org.apache.hadoop.hbase.Cell)">seekToNextRow</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;kv)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected boolean</code></td>
 <td class="colLast"><span class="strong">StoreScanner.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html#seekToNextRow(org.apache.hadoop.hbase.Cell)">seekToNextRow</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">ReversedKeyValueHeap.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReversedKeyValueHeap.html#seekToPreviousRow(org.apache.hadoop.hbase.Cell)">seekToPreviousRow</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;seekKey)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">DefaultMemStore.MemStoreScanner.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/DefaultMemStore.MemStoreScanner.html#seekToPreviousRow(org.apache.hadoop.hbase.Cell)">seekToPreviousRow</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;originalKey)</code>
 <div class="block">Separately get the KeyValue before the specified key from kvset and
@@ -5117,63 +5177,63 @@ service.</div>
  specified key, then seek to the first KeyValue of previous row</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">KeyValueScanner.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html#seekToPreviousRow(org.apache.hadoop.hbase.Cell)">seekToPreviousRow</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;key)</code>
 <div class="block">Seek the scanner at the first Cell of the row which is the previous row
  of specified key</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">StoreFileScanner.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileScanner.html#seekToPreviousRow(org.apache.hadoop.hbase.Cell)">seekToPreviousRow</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;originalKey)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">NonReversedNonLazyKeyValueScanner.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/NonReversedNonLazyKeyValueScanner.html#seekToPreviousRow(org.apache.hadoop.hbase.Cell)">seekToPreviousRow</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;key)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="strong">ReversedStoreScanner.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReversedStoreScanner.html#seekToPreviousRow(org.apache.hadoop.hbase.Cell)">seekToPreviousRow</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;key)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><span class="strong">StoreFileScanner.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileScanner.html#setCurrentCell(org.apache.hadoop.hbase.Cell)">setCurrentCell</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;newVal)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">ScanQueryMatcher.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.html#setToNewRow(org.apache.hadoop.hbase.Cell)">setToNewRow</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;curCell)</code>
 <div class="block">Set the row when there is change in row</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/NavigableSet.html?is-external=true" title="class or interface in java.util">NavigableSet</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;</code></td>
 <td class="colLast"><span class="strong">CellSkipListSet.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/CellSkipListSet.html#subSet(org.apache.hadoop.hbase.Cell,%20boolean,%20org.apache.hadoop.hbase.Cell,%20boolean)">subSet</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;fromElement,
             boolean&nbsp;fromInclusive,
             <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;toElement,
             boolean&nbsp;toInclusive)</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/SortedSet.html?is-external=true" title="class or interface in java.util">SortedSet</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;</code></td>
 <td class="colLast"><span class="strong">CellSkipListSet.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/CellSkipListSet.html#subSet(org.apache.hadoop.hbase.Cell,%20org.apache.hadoop.hbase.Cell)">subSet</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;fromElement,
             <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;toElement)</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/SortedSet.html?is-external=true" title="class or interface in java.util">SortedSet</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;</code></td>
 <td class="colLast"><span class="strong">CellSkipListSet.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/CellSkipListSet.html#tailSet(org.apache.hadoop.hbase.Cell)">tailSet</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;fromElement)</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/NavigableSet.html?is-external=true" title="class or interface in java.util">NavigableSet</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;</code></td>
 <td class="colLast"><span class="strong">CellSkipListSet.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/CellSkipListSet.html#tailSet(org.apache.hadoop.hbase.Cell,%20boolean)">tailSet</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;fromElement,
               boolean&nbsp;inclusive)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="strong">StoreFile.Writer.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFile.Writer.html#trackTimestamps(org.apache.hadoop.hbase.Cell)">trackTimestamps</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">Record the earlest Put timestamp.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><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/regionserver/StoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFile</a>&gt;</code></td>
 <td class="colLast"><span class="strong">StripeStoreFileManager.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/StripeStoreFileManager.html#updateCandidateFilesForRowKeyBefore(java.util.Iterator,%20org.apache.hadoop.hbase.KeyValue,%20org.apache.hadoop.hbase.Cell)">updateCandidateFilesForRowKeyBefore</a></strong>(<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/regionserver/StoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFile</a>&gt;&nbsp;candidateFiles,
                                                                       <a href="../../../../../org/apache/hadoop/hbase/KeyValue.html" title="class in org.apache.hadoop.hbase">KeyValue</a>&nbsp;targetKey,
@@ -5183,13 +5243,13 @@ service.</div>
  for details on this methods.</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/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFile</a>&gt;</code></td>
 <td class="colLast"><span class="strong">DefaultStoreFileManager.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/DefaultStoreFileManager.html#updateCandidateFilesForRowKeyBefore(java.util.Iterator,%20org.apache.hadoop.hbase.KeyValue,%20org.apache.hadoop.hbase.Cell)">updateCandidateFilesForRowKeyBefore</a></strong>(<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/regionserver/StoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFile</a>&gt;&nbsp;candidateFiles,
                                                                       <a href="../../../../../org/apache/hadoop/hbase/KeyValue.html" title="class in org.apache.hadoop.hbase">KeyValue</a>&nbsp;targetKey,
                                                                       <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;candidate)</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/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFile</a>&gt;</code></td>
 <td class="colLast"><span class="strong">StoreFileManager.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileManager.html#updateCandidateFilesForRowKeyBefore(java.util.Iterator,%20org.apache.hadoop.hbase.KeyValue,%20org.apache.hadoop.hbase.Cell)">updateCandidateFilesForRowKeyBefore</a></strong>(<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/regionserver/StoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFile</a>&gt;&nbsp;candidateFiles,
                                                                       <a href="../../../../../org/apache/hadoop/hbase/KeyValue.html" title="class in org.apache.hadoop.hbase">KeyValue</a>&nbsp;targetKey,
@@ -5197,14 +5257,14 @@ service.</div>
 <div class="block">Updates the candidate list for finding row key before.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><span class="strong">HRegion.</span><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="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><span class="strong">DefaultMemStore.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/DefaultMemStore.html#upsert(org.apache.hadoop.hbase.Cell,%20long)">upsert</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
             long&nbsp;readpoint)</code>
@@ -5234,146 +5294,155 @@ service.</div>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>private long</code></td>
-<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#applyFamilyMapToMemstore(java.util.Map,%20long,%20boolean)">applyFamilyMapToMemstore</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,
-                                                long&nbsp;mvccNum,
-                                                boolean&nbsp;isInReplay)</code>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#applyFamilyMapToMemstore(java.util.Map,%20boolean,%20long)">applyFamilyMapToMemstore</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface

<TRUNCATED>